• 돌아가기
  • 아래로
  • 위로
  • 목록
  • 댓글

도커로 워드프레스 구축 성공 기념 팁 몇개

TryK TryK 733

2

12

1.png.jpg

 

 

드디어 제가 원하는데로 얼추 작동되서 알게된거 몇개 써봅니다.

 

구축환경은 Ampare A1 서버(OCI 인스턴스, canonical ubuntu 22.04 minimal aarch64 기준 입니다)

 

1. FTP 연결 대신 플러그인 테마 등을 직접 받도록 설정하기

wp-config.php 에

 

define('FS_METHOD', 'direct');

를 추가 하면 됩니다

 

 

2. https로 사이트 주소 변경했을때 admin 페이지 무한 리디렉션 걸릴경우

2.png.jpg

 

이 값이 디폴트로 http인데 https 변경 후 무한 리디렉션이 걸릴 수 있습니다

(저같은 경우 NPM에서 SSL연결을 처리해서 그런지 무한 리디렉션이 걸렸었습니다)

 

역시 wp-config.php에

define('WP_HOME','https://mywebsite.com'); 

define('WP_SITEURL','https://mywebsite.com'); 

$_SERVER['HTTPS'] = 'on';

 

를 추가하면 됩니다. mywebsite.com을 본인의 사이트 도메인에 맞게 바꾸시면 됩니다.

 

 

3. 쓰기 권한이 없어 파일 생성이 불가능하다고 뜰 경우(이경우 플러그인, 테마 다운 등이 안됨)

OCI 암페어 서버 기준 입니다.

nginx 도커는 www-data(uid, gid 82)라는 계정으로 파일을 처리합니다.

 

OCI 암페어 서버에 올라가는 우분투 22.04 버전(풀버전, 미니멀 버전 동일)은

www-data의 uid gid가 33번으로 되어 있습니다.

 

계정 이름은 동일하지만 실제로 도커내에서 마운팅 될때는 33번으로 인식을 하기 때문에

우분투의 www-data 계정 uid와 gid를 82로 변경해주어야 됩니다.

 

sudo groupmod -g 82 www-data
sudo usermod -u 82 www-data

 

위의 명령어로 변경 후
sudo chown -R www-data:www-data [웹서비스 폴더명]

chown 명령어로 웹서비스 폴더의 소유권을 변경 합니다.

 

이러면 wp-content 폴더 퍼미션 777 이런것 할 필요 없이 정상적으로 작동 합니다.

 

 

4. W3 Total Cache 설정 후 메세지 관련

3.png.jpg

 

설정을 다하면 위와 같은 메세지가 뜹니다.

확인 해보면 웹페이지 폴더 최상단에 nginx.conf가 생성되어 있습니다.

 

이파일을 nginx 도커의 conf.d 폴더가 마운트된 폴더로 이동 시켜야 됩니다.

(저는 기존 설정 파일이름과 동일하여 nginxw3.conf로 이름 변경 후 파일 소유권 변경 하였습니다)

 

이동후 컨테이너를 재 시작 하면 컨테이너가 제대로 시작이 안됩니다(실행이 된다면 신경안쓰셔도됩니다).

보통 아래와 같은 로그가 뜨실거 같습니다.

 

2022/08/11 08:58:59 [emerg] 1#1: "location" directive is not allowed here in /etc/nginx/conf.d/nginxw3.conf:4
이런 에러가 뜨는이유는

location 이라는 인자는 server {} 사이에 있어야되는데 없어서 뜨게 됩니다

 

그렇기 때문에 nginx.conf 파일을 편집기로 열어서

맨위에 빈줄 추가후 server {

맨마지막 줄에 빈줄 추가 후 } 를 쓰시면 됩니다.

 

그러면 정상적으로 작동하는데 저처럼 파일을 이동했을경우 적용은 되었지만 위의 로그가 또 뜰수 있습니다.

그때는 hide message로 지우면 될거 같습니다(cp로 복사하거나 심볼릭 링크로 하면 상관없을거 같긴합니다).

 

 

 

5. 번외 PHP 이미지 직접 만들어보기

php-fpm이 적용된  alpine 순정 이미지를 사용하면 워드프레스 가 실행이 안됩니다(mysqli가 포함이 안되어 있음)

그래서 이미지를 별도로 빌드 했습니다

(다른분의 커스텀이미지로 php를 써서 잘 작동한다면 굳이 하실 필요는 없습니다.  저는 공부를 위해 직접 했습니다)

 

sudo vi dockerfile 로 dockerfile을 만들어 아래와 같이 작성합니다.

 

FROM php:fpm-alpine3.16
ADD https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/
RUN chmod +x /usr/local/bin/install-php-extensions && \
    install-php-extensions gd mysqli exif zip intl imagick redis apcu

 

https://github.com/mlocati/docker-php-extension-installer

mlocati님의 php 확장프로그램 인스톨러 입니다.

 

보통은 docker-php-ext-install을 쓰는데요, 한줄로 여러개 받기가 안되고, 필요한 패키지를 직접 따로 설치해야됩니다.

위의 확장프로그램 인스톨러는 한줄로 기입도 가능하고, 종속된 패키지도 알아서 받아줘서 매우 편리 합니다.

 

도커파일 작성한것의 의미는

php:fpm-alpine3.16 순정 이미지 안에 확장프로그램 인스톨러를 삽입후 실행권한을 주고,

제가 지정한 확장프로그램을 설치하라는 뜻을 가지고 있습니다.

 

확장프로그램의 종류는 https://pecl.php.net/ 에서 조회가 가능합니다.

(개발이 중단된 것도 있기 때문에 그런건 피해서 설치하는게 좋습니다.)

 

위의 확장프로그램 중 redis와 apcu는 없어도 동작은 합니다. 저는 캐싱을 위해 추가했습니다.

 

저장 후 dockerfile이 저장된 폴더에서

docker build -t [원하는이미지명]:[버전명] ./

로 빌드 할 수 있습니다.

 

도커로 워드프레스 구축이 쉬울줄 알았는데 그게 아니여서 많이 박았네요

하지만 박아봐서 그런지 많이 배운거 같습니다.

 

 

원래는 첨부터 끝까지 구축하는글을 써볼려고 하다가 굳이 그럴필요까지 있을까 싶어서 요것들만 써봅니다

신고공유스크랩
12
profile image 1등
초보나스 2022.08.11. 19:00

이 글 읽어보고 엄청 어려운거란걸 다시 느끼네요 보는데 머리가 지끈지끈하네요 저도 해봐야하는데 어려워 보이네요

profile image
TryK 글쓴이 2022.08.11. 19:02
초보나스

다른분들이 다 해놓은걸로 구축하면 편하긴 합니다. 저는 도커 공부차 일일히 해봤네요

profile image
quad 2022.08.11. 22:48
TryK

걱정마세요.

홈페이지 구축은 여러가지 방법이 있습니다.

Tryk님 말씀처럼 다 해 놓은 것으로 하면 편합니다.

그리고 Tryk님은 오라클 클라우드에 홈페이지를 구축하신 것이고, 초보나스님은 헤놀에 올리는 것이니 환경이 다릅니다. 물론 헤놀에서도 도커 위에다 Tryk님께서 하신 것처럼 할 수도 있지만, 더 간단한 방법도 있고 제가 게시해 놓았습니다. ㅎㅎㅎ~

2등
DarkAcid 2022.08.11. 19:10

와.....무친..제가 포기했던 문제들의 답이 여기있네요...너무너무 감사드려요!!!

profile image
TryK 글쓴이 2022.08.11. 19:38
DarkAcid

도움이 되었다면 다행입니다. 저도 잘 하진 못해서 검색을 엄청 했네요

profile image 3등
quad 2022.08.11. 22:56

와~ 엄청 고생하신게 다 느껴집니다.

중간중간 안 되는거 나올 때 마다 폭풍 검색, 적용의 반복이지요.

profile image
ENTJ도플랜 2022.08.12. 09:06

살이되는 정보네요 ! 저는 도커설치를 실패했어요. 기존시놀로지랑 포트가 겹치고 겹친포트 변경하고하다보니 충돌나더라구요 ㅠㅠ.. 그냥 헤놀에 워드프레스 여러개 올려서.. 운영해야겠어요 ㅠㅠ 되록이면 dsm에는 아무것도안올리고싶었는데

siane 2022.11.02. 17:49

nginx proxy manager 에서 리버스프록시로 nginx로 보내는 방식이 되는건가요?

저도 이렇게 구축하긴 했는데..ㄷㄷ

댓글 쓰기 권한이 없습니다. 로그인

취소 댓글 등록

cmt alert

신고

"님의 댓글"

이 댓글을 신고하시겠습니까?

댓글 삭제

"님의 댓글"

삭제하시겠습니까?


목록

공유

facebooktwitterpinterestbandkakao story
번호 분류 제목 글쓴이 날짜 조회 추천
오픈소스 Hoarder 소개 📦 - AI 기반 태깅 기능을 갖춘 오픈 소스 Bookmark-Everything 앱(mymind 오픈 소스 대안) 6 달소 20시간 전22:53 173 +1
정보 Proxmox) VMware ESXi 기반 가상 머신 마이그레이션에 사용할 수 있는 새로운 가져오기 마법사 5 달소 20시간 전22:48 96 +1
정보 안녕하세요! 새로 가입했습니다. 6 Razorbacks 1일 전18:06 90 +1
3780
image
eyeball 23.04.05.21:08 1640 +16
3779 정보
image
antegral 22.05.07.01:18 3077 +16
3778 잡담
image
햇서 23.06.05.05:53 903 +14
3777
image
달소 22.03.17.22:09 18845 +14
3776 정보
image
툭툭이 1일 전11:14 472 +12
3775 정보
image
EXP 24.02.06.03:43 1121 +10
3774
image
달소 22.05.06.15:43 1022 +10
3773 정보
image
달소 24.02.19.00:58 885 +9
3772
image
theb1ue 22.06.14.16:05 4830 +9
3771
image
달소 22.03.17.22:25 4849 +9
3770 잡담
image
달소 24.01.15.03:22 574 +8
3769
image
달소 23.01.27.14:15 14949 +8
3768
image
달소 22.07.07.16:57 1942 +8
3767
image
달소 22.03.14.17:30 4064 +8
3766
image
달소 22.02.11.13:31 2962 +8
3765 후기
image
cdma2000 24.02.06.13:12 684 +7
3764 가이드
image
달소 23.07.04.20:38 1837 +7
3763
image
앨런임더 23.03.31.21:14 1746 +7
3762 잡담
image
곰삼촌 23.01.25.10:05 1073 +7
3761
image
달소 22.04.22.18:36 2220 +7