출처 : https://svrforum.com/nas/398081 복사
앞서 ‘헤놀로지에 홈페이지 제작을 위한 워드프레스 도커로 설치하기’를 올렸습니다.
그런데 좀 빡쎄죠? 스크롤 압박이 만만치 않습니다. 오르락 내리락 하면서 하다보면 뭔가 놓칠 수도 있고요.
그래서 이번에는 동일한 결과물을 만들어 냅니다만, 좀 더 간편하게 docker-compose를 이용해서 만들어 보겠습니다.
전제(사전 작업) :
1. 시놀로지의 패키지 센터에서 docker를 설치합니다.
2. 시놀로지의 패키지 센터에서 PHP 7.4를 설치합니다.
자~ 출발합니다.
1. 파일 스테이션에서 워드프레스를 설치할 폴더를 만듭니다. docker 공유폴더 아래에 wordpress라는 폴더를 만들고 다시 그 아래에 db폴더, web폴더를 만들면 됩니다.

2. putty를 이용해서 터미널을 엽니다. 아래의 명령어대로 따라가 봅니다.
– sudo -i : 수퍼유저 권한으로 실행이 필요합니다. 비밀번호 한번 더 입력하시고요~
– cd /volume1/docker/wordpress : 위의 1번에서 만들어 둔 폴더로 이동합니다.
– vi docker-compose.yml : docker-compose.yml이라는 파일을 하나 만들겁니다.
– 편집 창이 열리면 아래의 내용을 그대로 붙여넣기 하고 i키를 눌러서 본인의 것으로 수정하세요.
(아래의 내용을 긁은 다음 ctrl-c, putty 창으로 돌아가서 마우스 오른쪽 버튼 클릭)
version: ‘3.1’
services:
wordpress:
image: wordpress
restart: always
ports:
– 8080:80
environment:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_USER: db사용자아이디(본인 것으로 바꾸세요)
WORDPRESS_DB_PASSWORD: 비밀번호(본인 것으로 바꾸세요)
WORDPRESS_DB_NAME: db이름(본인 것으로 바꾸세요)
volumes:
– /volume1/docker/wordpress/web:/var/www/html
db:
image: mysql:5.7
restart: always
ports:
– 3306:3306
environment:
MYSQL_DATABASE: db이름(위의 db이름과 같은 이름입니다)
MYSQL_USER: db사용자아이디(위의 db사용자아이디와 같은 아이디입니다)
MYSQL_PASSWORD: 비밀번호(위의 비밀번호와 같은 비밀번호입니다)
MYSQL_ROOT_PASSWORD: 비밀번호(새로 만들거나 같은 비밀번호를 써도 됩니다. 새로 만들 때는 꼭 기억하시고요)
volumes:
– /volume1/docker/wordpress/db:/var/lib/mysql
– 수정이 끝나면 ESC키를 누르고 : wq 를 입력해서 빠져 나옵니다. 아래 제가 입력한 샘플을 참고하세요.

3. 이제 컨테이너에 담을 준비가 끝났습니다. 아래 명령어로 컨테이너를 생성해 봅시다.
– docker-compose up -d
어쩌구 저쩌구….. done
어쩌구 저쩌구….. done
이렇게 나오면 성공한 것입니다.
4. 크롬 브라우저에서 ‘나스ip:8080’을 입력해서 아래와 같은 화면이 나오면 나머지 세팅을 완료하면 됩니다.

이상입니다.
매우 간단하죠?
주의할 점은 포트 세팅입니다.
완전 처음으로 설치할 때는 위와 같이 포트 세팅을 하면 되고,
이미 하나가 설치되어 있고 두번째 워드프레스를 설치하는 것이라면 wordpress의 8080, db의 앞 3306을 다른 것으로 바꾸어야 합니다.
도메인 접속시 필요한 조치
워드프레스 컨테이너에 접속(docker exec)하셔서 wp-config.php 파일을 아래와 같이 수정해보세요.
1. 아래 내용 추가
define(‘FORCE_SSL_ADMIN’, true);
if ($_SERVER[‘HTTP_X_FORWARDED_PROTO’] == ‘https’)
$_SERVER[‘HTTPS’]=’on’;
2. 아래 내용 수정
//define(‘WP_HOME’,'<리버스 프록시 후 접속할 주소>’);
//define(‘WP_SITEURL’,'<리버스 프록시 후 접속할 주소>’);
define(‘WP_HOME’,’https://blog.~~~.shop’);
define(‘WP_SITEURL’,’https://blog.~~~.shop’);
수정 후 바로 반영은 되는데 혹시나 모르니까 컨테이너를 재시작해보시는 것도 좋습니다.
몇분전에 올렸던 도커 워드프레스 https 접속 문제 자문자답 입니다..
https://svrforum.com/nas/698012 복사
여기 나온 것 처럼
상단에
define('FORCE_SSL_ADMIN', true);
if ($_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https')
$_SERVER['HTTPS']='on';
하단에
define('WP_HOME','https://wordpress.codesarang.com');
define('WP_SITEURL','https://wordpress.codesarang.com');
이렇게 추가하니까 되네요..
3일 동안 쌩쇼했는데 드디어..
해결되고 나니 정말 어이가 없는 오류..
혹시나 저처럼 삽질하지 마시라고 올립니다..
이제 윈도우즈 탐색기를 이용, 워드프레스 데이터 공유 폴더로 이동해 워드프레스 설정 파일인 “wp-config.php” 파일을 수정하도록 한다.

아래 그림처럼 설정 파일 맨 윗 부분에 다음 코드를 추가한다.
define('FORCE_SSL_ADMIN', true);
if ($_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https')
$_SERVER['HTTPS']='on';

이제, 아래 그림처럼 설정파일 아래쪽(맨 아랫줄 바로 윗 부분)에 아래 코드를 추가한다.
define('WP_HOME','https://wordpress.codesarang.com');
define('WP_SITEURL','https://wordpress.codesarang.com');

이제 https://wordpress.~~~.com 으로 접속하면 아래처럼 정상 접속이 될 것이다.
참… 이때 주의할 점, 브라우저 접속기록을 삭제한 후에 재 접속해야 정상 접속된다. 그렇지 않을 경우 브라우저에 접속 캐시가 남아 자꾸 URL이 변경되며 보안 오류를 내는 화면을 보여준다.
