시놀로지는 정말 좋은 어른들의 장난감인것 같습니다. 할게 이것 저것 무궁무진하게 많습니다. 우리 가족의 사진 히스토리를 기록할 수도 있고 어디에서든지 비용부담없이 동영상을 즐길 수도 있고 만화서버로도 이용할 수 있습니다.
그중에서도 프로그래머나 개발자 라면 정말 반길만한 서비스가 있는데, 바로 도커(Docker)라고 할 수 있습니다. 도커에 대해서 자세히 알려면 공부를 많이 해야 겠지만 간단하게 말한다면… 개발자가 개발을 하다가 "이게 아닌가벼~~"하는 생각이 들때 그냥 도커 컨테이너만 삭제해 버리면 깨끗하게 삭제가 가능하다는 것입니다. 다시 시작 할 수도 있고 도커로 개발이 완료되었을때 그상태 그대로 운영으로 돌릴 수도 있습니다. 저도 몇개의 도커사용법을 포스팅했는데요. 아래의 경로를 참고하세요.
이번에는 시놀로지 도커에 워드프레스를 완벽하게 설치하는 과정을 포스팅해 보려고 합니다.
Wordpress 이미지 다운로드 받기
Wordpress를 도커형태로 설치하기 위해서는 해당 이미지를 다운로드 받아야 합니다. 이미지라고 해서 사진이나 그림을 말하는 것이 아니라 누군가가 만들어 놓은 프로그램이 담겨있는 컨태이너 원본 이라고 보시면 됩니다. 이 이미지를 사용하여 컨테이너를 무한개 계속해서 만들어 낼 수 있습니다.
- 좌측에있는 레지스트리 메뉴를 선택합니다.
- 레지스트리 메뉴는 Docker을 공식적으로 제공하는 Docker Hub 웹사이트의 목록을 불러와서 보여줍니다.
- 검색창에서 Wordpress를 검색합니다.
- 검색된 내용 중 우측에 메달모양은 공식이미지라는 표시입니다. 별표는 다운로드수 입니다 많을 수록 인기가 많다는 뜻이죠.
- 해당 이미지의 사용설명을 볼 수 있는 링크버튼입니다. 이것을 눌러서 설명서를 보고 설치하면 됩니다.
- 이것은 공식이미지는 아니지만 그래도 인기있는 이미지입니다. bitnami라는 유저가 올려놓은 이미지입니다.
- 공식이미지가 영문버전만 제공되는 반면 bitnami의 이미지는 멀티랭귀지가 포함된 이미지라고 합니다.(설치해서 확인은 못해봤네요 ^^;)
- wordpress목록을 더블클릭하거나 선택 후 다운로드 버튼을 클릭합니다.
- 팝업창이 뜨는데 기본으로 최신버전인 latest가 보입니다. 보통은 이것을 다운로드 받으면 되고 특정버전을 다운로드 받으려면 Select창을 클릭하여 원하는 버전을 다운받을 수 있습니다.
- apache : 아파치 웹서버가 포함된 버전 입니다.
- php-fpm : fpm은
FastCGI Process Manager
의 약자로 동적처리를 빠르게 해주는 CGI라고 보시면됩니다. - php-fpm-alpine : alpine는 알파인 리눅스(Alpine Linux)를 말하며 가볍고 간단하고 보안성을 목적으로 개발한 리눅스 배포판으로 Docker에서 많이 사용되는 OS가 포함된 버전입니다.
- 다운로드 버튼을 클릭하여 다운로드 받습니다.
- 이제 좌측의 이미지 메뉴를 선택합니다.
- 머뉴의 오른쪽에 '1'이 표시되어 있네요. 현재 다운로드되고 있는 숫자를 표시합니다.
- Wordpress이 최신 버전이 latest버전이 다운로드 되고 있는 것을 볼 수 있습니다.
- 디스크 모양의 아이콘이 계속 움직이며 현재 다운로드 중인 용량 표시를 해 줍니다.
- 좀 기다리면 다운로드가 완료됩니다.
- 설치 설명서를 보기위해 링크를 클릭합니다.
Wordpress 설치 설명서
위와 같은 DockerHub의 Wordpress 설명서 웹사이트가 열립니다. 이 화면을 스크롤해서 아래로 내려값니다. 내용은 이미지별로 조금씩 다르므로 알아서 잘 찾아봐야 합니다. 영어를 잘해야 해요.
- Wordpress설치에 대한 정보 입니다.
- db설치에 대한 정보입니다.
- 해당이미지에 db는 포함되어 있지 않습니다. 따로 설치를 해줘야하는데 잘 어울리는 db와 버전은 해당 정보에 표시되어 있습니다. (mysql 5.7버전)
- 위의 방법처럼 mysql을 다운로드 받아서 설치해줘야 합니다. 따로 mysql을 다운로드 받는 것은 설명하지 않고 설치하는 것만 설명하겠습니다.
- 로컬 폴더에 생성할 폴더명입니다.
MySQL 설치하기
위와 똑같은 방법으로 Mysql을 다운로드 받습니다. 주의할 점은 다운로드 받을 떄 위의 설명서 처럼 5.7버전을 다운받으면 됩니다. (5.7.9버전을 받으시면되요)
다운받은 이미지로 컨테이너를 설치 할 차례입니다.
- 실행 버튼을 클릭하여 컨테이너를 설치를 시작합니다.
- 컨테이너이름을 선택합니다. Wordpress전용을 사용할 예정이므로 wordpress_mysql이라고 명명합니다.(원하시는 이름 적으시면되요)
- 고급설정 메뉴를 클릭합니다.
- 자동 재시작 활성화는 실제 운영서비스할 때 필요하고 개발 시에는 굳이 선택할 필요는 없습니다.
- 볼륨 설정으로 넘어갑니다.
로컬폴더와 컨테이너 폴더를 자동으로 동기화 시키기 위해 매칭해주는 단계입니다. 이 폴더를 연결해 줘야 로컬에서 스킨변경 등의 작업을 했을때 컨테이너의 워드프레스 스킨이 변경이 자동 반영 됩니다. 혹시 나중에 컨테이너를 삭제한다고 했을때도 해당 폴더의 내용은 남아있기 떄문에 일부 자동 백업의 역활도 합니다.
- 폴더추가 버튼을 클릭합니다.
- 추가 팝업이 뜹니다.
- 저는 Docker파일은 별도의 Docker 폴더에 모두 모와 놓습니다.(개인취향)
- 위에서 설명서 3번 해당하는 volumes 설정처럼 폴더를 새로 만듭니다.
- db는 mysql의 파일이,wordpress는 워드프레스의 파일이 저장됩니다.
**현재는 mysql을 설치중이니 db를 선택**
합니다.
- 컨테이너의 폴더입니다.
- 이 폴더는 사용자가 만드는 것이아니고 이미지를 만든 사람이 지정한 폴더이므로 해당 정보는 사용설명서를 참고해야 합니다.
- 아까 설정한 로컬(시놀로지 내부)폴더의 경로입니다.
네트워크는 별도의 네트워크로 wordpress와 mysql을 묶어도 되지만 그냥 bridge로 나두면 됩니다.
포트설정도 중요한 부분입니다. 포트를 잘 맞춰서 설정해 줘야 합니다.
로컬(시놀로지)의 포트와 컨테이너의 포트를 연결해 줍니다. 보통은 로컬 포트와 컨테이너 포트를 동일하게 해줍니다.
포트는 1개 이상이며 컨테이너 포트는 기본 제공해 줍니다.
링크는 그냥 놔두면 되요
환경 설정 정보도 사용설명서에 나와 있습니다.
- 환경변수를 넣기 위해
+버튼
을 눌러 줍니다. - 사용설명서에 나와 있는 것 처럼 4개의 변수와 값을 입력합니다.
- 적용을 클릭합니다.
고급설정을 완료하면 일반설정화면으로 넘어옵니다.
- 다음 버튼을 클릭합니다.
- 컨테이너 설정하기 전에 설정했던 내용을 요약해서 보여줍니다.
- 선택 시 설치가 완료되면 컨테이너가 자동 실행됩니다.(기본값)
- 적용 버튼을 클릭하면 설치가 완료되고 실행됩니다.
Wordpress 설치하기
Mysql이 설치되었으니 이제는 본격적으로 Wordpress를 설치합니다.
설치하는 방법은 위에 설명했으니 중요한 볼륨 설정에 대한 설명입니다.
- 볼륨탭을 선택합니다.
- 폴더를 추가하고 마운트 경로를 설정합니다. (설명서 참조)
네트워크는 mysql과 같은 네트워크에 있어야 하며 기본 bridge에 놓습니다.
- 로컬포트는 설명서에는
8080 포트
설정하라고 되어 있기는 한데 그냥 자신이 원하는 포트를 잡아주셔도 됩니다. - 컨테이너 포트는 설명서에 적어준 포트 그대로 적어줘야 합니다.
80 포트
이네요.
링크는 wordpress를 실행시켰을때 같이 실행되어져야할 다른 컨테이너을 링크시키는 것입니다.
- 워드프레스는 필수로 mysql을 필요로 하니 좀 전에 설치한 wordpress_mysql을 선택합니다.
- 별칭으로 db로 입력합니다. (wordpress에서 환경변수로 이 이름으로 연결시켜줍니다.)
마지막으로 중요한 환경설정을 해 줍니다.
- +버튼을 클릭합니다.
- 설명서대로 4개의 환경변수를 설정합니다.
요약정보를 확인하고 적용버튼을 클릭하여 설치합니다.
방화벽 열어주기
도커가 설치되었다고 바로 화면을 볼수 있는 것은 아닙니다. 방화벽을 열어줘야 합니다. 물론 원래 방화벽을 잠궈놓지 않고 사용하신다면 그냥 바로 열리겠지만 보안상 상당히 위험한 선택이므로 항상 방화벽은 닫아 놓으시고 필요한 것만 열어서 사용하는 습관을 들여야 합니다.
- 제어판을 선택합니다.
- 제어판 중 보안 메뉴를 선택합니다.
- 방화벽을 선택하여 규칙편집을 합니다.
- 내장 응용프로그램 선택의 리스트 중에 자동으로 목록이 잡힌 2개의 응용프로그램을 볼 수 있는데 2개 모두 체크를 하고 열어줍니다.
- 확인을 클릭합니다.
작동 확인 하기
드디어 설치가 완료되었고 실행도 시켰습니다.
이제 정상 작동하는지 확인을 해야 합니다.
- 다시 좌측의 컨테이너 메뉴를 선택합니다.
- 2개의 컨테이너가 추가되어 실행되어지는 것을 볼 수 있습니다.
- 현재 실행주인지 정지중인지 확인 할수 있고 강제로 중지 및 실행시킬 수 있는 버튼이 있습니다.
실제 웹사이트 확인하기
실제로 화면이 보여지는지 확인해 봅니다.
본인의 http://본인의 시놀로지 아이피번호:포트번호
로 접속하면 됩니다.
아래와 같은 워드프레스 설치화면이 나오면 일단 성공입니다. 잘 하셨어요.
초기 설정값을 입력하면 설치가 완료 됩니다.
다만 아쉬운 것은 공식 Wordpress는 멀티랭귀지를 지원하지 않아서 한글 설치화면은 나오지 않습니다. 영문으로 설치되니 이점 참고하세요.
외부 접속시 공유기 포트포워딩
내부망에서 아이피번호로는 접근이 되지만 외부에서 URL로는 접근이 되지 않습니다.
공유기에서 포트포워딩을 설정해줘야 외부에서도 접근이 가능합니다.
워드프레스의 포트를 열어줘야 합니다. mysql은 포트를 열어줄 필요없습니다.
- 외부포트 : 인터넷 외부에서 접속할 포트번호가
8080
이라면.. - 내부포트 : 자동으로 내부포트인
8080
으로 전달해 준다 입니다. - 등록을 하면 리스트에 추가가 되고 우선순위도 지정할 수 있습니다.
이제 아래와 같이 URL로 접근이 가능합니다.
화면이 나오면 설치 완료입니다.
영문 Wordpress를 한글 Wordpress로 바꾸기
불행하게도 도커로 워드프레스를 설치하면 한글이 아니라 영문 워드프레스가 설치가 됩니다. 한글을 설정하는 옵션도 없습니다. 하지만 실망하지마세요. 영문 워드프레스를 한글 워드프레스로 변경하는 방법을 아래에 포스팅하도록 하겠습니다.