우분투 서버
설치 분류

Docker compose로 워드프레스 편하게 설치하는 방법

컨텐츠 정보

본문



들어가며


Wordpress(워드프레스)는 현재 전세계에서 가장 많이 쓰이는 CMS입니다.


php, mysql, 웹서버로 구성됩니다.


SSL 인증서 설정, 자동갱신 등록, ffmpeg와 redis 따로 설치 등등..


하나하나 설치하는데 시간과 노력이 많이 필요합니다. 


한번에 설치하면 어떨까요?


바로 도커로 가능합니다.


소스는 깃허브(링크)에 올려뒀습니다.



준비사항


자신의 도메인이 우분투 20.04 서버 또는 센토스8 서버를 가리키게 해야 됩니다.


도메인 뿐만 아니라, www.도메인, port.도메인, pma.도메인까지 가리키게 하는게 중요합니다. (phpmyadmin, portainer 접속용)


그리고 방화벽은 80, 443 포트를 열어주세요.



오라클 클라우드 iptables 방화벽 초기화화기


오라클 클라우드의 경우 iptables가 강력하게 깔려있습니다.


그래서 다 열어주고 시작하는 것이 편합니다.


어짜피 오라클 클라우드 웹 패널에서 관리가 가능하니깐 문제없습니다.



sudo iptables -F
sudo iptables -X
sudo netfilter-persistent save
sudo netfilter-persistent reload


위 내용을 한줄씩 넣어주면 완벽합니다.



설치하기


(1) Ubuntu 20.04 LTS



sudo apt update -y && sudo apt upgrade -y && sudo apt install curl git -y && sudo apt autoremove -y


위 명령어로 현재 우분투 패키지의 상태를 최신화하고, curl과 git을 설치하고, 필요없는 패키지를 삭제합니다.



curl -o dc https://raw.githubusercontent.com/woosungchoi/docker-wordpress/master/dc && bash dc setup && rm -f dc


위 명령어 한줄이면 됩니다.



(2) CentOS 8



sudo yum -y update && sudo yum install -y curl git


위 명령어로 현재 센토스8 패키지의 상태를 최신화하고, curl과 git을 설치하고, 필요없는 패키지를 삭제합니다.



curl -o dcc https://raw.githubusercontent.com/woosungchoi/docker-wordpress/master/dcc && bash dcc setup && rm -f dcc


위 명령어 한줄이면 됩니다.



도메인 주소, 이메일 주소, root DB 비번, DB유저, DB 비번, DB이름 등을 물어보는데 원하는대로 설정 가능합니다.


그후 자동으로 설치됩니다.


SSL 인증서 발급 및 자동 갱신 cron 작업이 되어 있고, ffmpeg도 php에 붙여서 움직이는 GIF 파일도 MP4로 바꿀 수 있습니다.


또한 redis-server와 php-redis 확장기능도 설치되어있어, W3 Total Cache 플러그인에 redis캐시 기능을 사용할 수 있습니다.



로컬이나 SSL 없이 설치하기


(1) Ubuntu 20.04 LTS users



sudo apt update -y && sudo apt upgrade -y && sudo apt install curl git -y && sudo apt autoremove -y


위 명령을 넣은 후



curl -o dcl https://raw.githubusercontent.com/woosungchoi/docker-wordpress/master/dcl && bash dcl setup && rm -f dcl


위 명령을 넣고 설치하면 됩니다.



(2) For Centos 8 users



sudo yum -y update && sudo yum install -y curl git


위 명령을 넣고



curl -o dccl https://raw.githubusercontent.com/woosungchoi/docker-wordpress/master/dccl && bash dccl setup && rm -f dccl


위 명령을 넣은 후 설치하면 됩니다.



(3) For Windows 10 WSL2 Ubuntu 20.04 LTS users


WSL2 Ubuntu 20.04 LTS와 docker를 윈도우10에 설치합니다.


https://www.wsgvet.com/ubuntu/160 , https://www.wsgvet.com/ubuntu/180



sudo apt update -y && sudo apt upgrade -y && sudo apt autoremove -y


위 명령어를 넣은 후



curl -o dcwl https://raw.githubusercontent.com/woosungchoi/docker-wordpress/master/dcwl && bash dcwl setup && rm -f dcwl


위 명령어를 넣으면 됩니다.


처음에 Enter your domain (ex : mydomain.com or localhost) : 이렇게 나옵니다.


로컬에서 설치하기 때문에 localhost 를 넣으면 됩니다. 나머지는 원하는대로 설정할 수 있습니다.



워드프레스 설정하기


자신의 도메인 주소로 들어가면 워드프레스 설치화면이 나올 것입니다.


Database name : 직접 넣은 DB 명


Database username : 직접 넣은 DB 유저이름


Database Password : 직접 넣은 DB 비밀번호


Database Host : db


넣으면 됩니다.



Redis 캐시 설정하기


Redis 기능이 필요한 곳에


Host : redis


Port : 6379


위와 설정하면 Redis 캐시기능을 바로 쓸 수 있습니다.



인증메일 설정하기


구글 SMTP가 제일 편합니다.


https://wphowto.net/smtp-mailer-plugin-for-wordpress-1482


위 플러그인을 사용하면 됩니다.



phpmyadmin과 portainer


Phpmyadmin : https://pma.yourdomain.com


Portainer : https://port.yourdomain.com


위와 같은 형식의 주소로 들어가면 들어갈 수 있습니다.


portainer는 웹으로 도커 컨테이너를 관리할 수 있는 좋은 툴입니다.


Docker를 Web에서 관리하는 Portainer 설치방법


위 링크를 참조하세요.



도커 이미지 자동 업그레이드 등록


docker_upgrade.sh 파일에서 /your/path/to/wordpress/ 부분을 자신의 도커 폴더로 변경합니다.



chmod a+x docker_upgrade.sh


위와 같이 실행 가능하게 해줍니다.



echo "30 12 * * * /your/path/to/wordpress/docker_upgrade.sh >> /var/log/docker_upgrade_cron.log 2>&1" >> mycron && sudo crontab mycron && rm mycron


위 내용에서 /your/path/to/wordpress/ 부분을 자신의 도커 폴더로 변경 후 명령을 내려주면 crontab에 자동으로 들어갑니다.



기타 실행명령어


docker-compose.yml 파일이 있는 곳으로 가서



./dc start


위 명령어를 내리면 전체 도커 컨테이너가 시작됩니다.



./dc stop	


위 명령어를 내리면 전체 도커 컨테이너가 정지됩니다.



./dc update


위 명령어를 내리면 도커 이미지를 최신화하고, 재시작합니다.

관련자료

댓글 28개 / 3페이지

어렵다님의 댓글

설치는 잘 되는거 같은데 도메인으로 들어가도 전혀 반응이 없네요.
혹시 도커 컴포즈가 2.1 버전이라 그럴까요?

우성짱님의 댓글의 댓글

도메인 뿐만 아니라, www.도메인, port.도메인, pma.도메인까지 가리키게 하는게 중요합니다. (phpmyadmin, portainer 접속용)

아마도 이게 문제일 확률이 높습니다.

클라우드플레어 같은 곳에서 서브도메인이 모두 같은 IP를 가리키게 해야됩니다.

얼렵다님의 댓글

도메인 뿐만 아니라 위에서 언급한 서브도메인들 까지도 같은 IP를 가르키게 했습니다. 인스턴스를 밀고 새로 했습니다.
그럼에도 안되네요. 오라클클라우드 프리티어에서 했습니다. 오라클에서 80, 443 포트도 모두 열어 두었는데 말이죠.
이상하게 IP로도 접속이 안됩니다. 방화벽 문제거나 설치가 제대로 안되거나인데 도무지 모르겠네요.
SSH는 도메인, IP모두 접속 및 로그인 이용이 가능합니다.

어렵다님의 댓글

Error response from daemon: invalid mount config for type "bind": bind source path does not exist: /home/ubuntu/wordpress/ssl

이런 에러가 납니다.

으앙님의 댓글

저도 위와같은 에러가 나면서 동작을 안합니다

깔린거 전부 삭제하고 처음부터 다시하고싶은데 어떻게 하면되나요?
Total 34 / 1 Page
RSS
윈도우10 우분투에서 도커로 CMS 개발하기 댓글 4

설치 윈도우10에서 우분투와 도커를 설치할 수 있습니다.여러가지 활용방법이 있지만 그누보드, 라이믹스, 워드프레스, 고스트를 윈도우10 로컬에서 개발…

윈도우10 WSL2에 도커 설치하기

설치 도커를 윈도우에 설치할때 WSL2와도 연결되게 설치합니다.필수사항 : 윈도우10 프로페셔널, 엔터프라이즈 64비트윈도우10에 우분투 설치하는 방…

Keep Network의 ECDSA & Beacon nodes 구글 클라우드에 설치하기 댓글 2

설치 Keep Network의 test Keep token으로 ECDSA 및 Beacon nodes를 구글 클라우드에서 직접 구축할 수 있습니다.다른…

중국 황금방패 뚫는 VPN 3대장 직접 설치하기 댓글 114

설치 중국에서 해외 사이트에 접속할 때 황금방패로 막혀있는 경우가 많습니다.보통 유료로 VPN에 가입해서 사용하거나, 무료 VPN 서비스를 사용할텐데…

윈도우10에 우분투 설치하는 방법

설치 윈도우10에는 WSL(Windows Subsystem For Linux)이 있어서 우분투 센토스 등을 설치할 수 있습니다.방금 설치해보니 정말 …

Docker compose로 워드프레스 편하게 설치하는 방법 댓글 28

설치 들어가며Wordpress(워드프레스)는 현재 전세계에서 가장 많이 쓰이는 CMS입니다.php, mysql, 웹서버로 구성됩니다.SSL 인증서 설…

최근글


새댓글


알림 0