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

헤놀로지에 홈페이지 제작을 위한 워드프레스 도커로 설치하기

quad quad 1743

4

9

 

앞서 헤놀로지에 홈페이지 제작을 위한 워드프레스 패키지로 설치하기를 올렸습니다.

이번에는 헤놀로지에서 워드프레스를 도커를 이용해서 올리는 방법입니다.

 

시작하기 전에...

워드프레스를 패키지로 설치 할 때 보면 워드프레스가 제대로 돌아가기 위해서는 따라서 설치해야하는 놈들이 있었습니다.

apache, PHP, mariaDB, web station 입니다.

web station 이야 시놀로지 패키지니까 그냥 패키지 센터에서 설치하면 되고...

나머지 apache, PHP, mariaDB 그리고 wordpress는 도커 이미지가 있습니다.

이걸 모두 도커에 올려서 만들면 되는데... 생각하다 보니 이걸 모두 도커에 올릴 필요가 있나하는 생각이 들었습니다.

 

- apache는 웹서버인데 이미 시놀로지에는 nginx라는 성능 좋은 웹서버가 돌아가고 있습니다 (5000, 5001 포트로 접속되는 DSM이 nginx로 돌아갑니다).

- PHP는 wordpress의 php 페이지를 해석하고 ngnix로 넘겨주는 일종의 뭐라고 해야 하나... 인터프리터이자 미들웨어? 사용자의 데이터와는 별 관련이 없습니다.

- mariaDB는 워드프레스의 각종 설정과 향후 홈페이지의 주인이 생성 할 모든 콘텐츠를 일목 요연하게 관리하는 데이터베이스입니다.

- wordpress는 우리가 최종적으로 사용하게 될 홈페이지 제작 도구입니다.

 

결론적으로 생각해 보면 사용자가 생성해 내는 자료와 관련있는 놈은 mariaDB와 wordpress입니다.

따라서 apache는 이미 돌아가고 있는 nginx를 이용하고, PHP는 패키지 센터에 있는 놈을 설치하고, 사용자 데이터가 보관되는 데이터베이스와 wordpress만 도커에 올리는 것이 합리적이라는 결론에 도달했습니다.

그래서 이 두가지를 시놀로지의 도커에 올려서 워드프레스 첫 페이지를 띄우는 것 까지를 목표로 해서 진행해 보겠습니다.

 

docker-compose로 한방에 하는 방법도 있습니다만, docker-compose를 능숙하게 다루시는 분이라면 이미 지금 보시는 이런 가이드 따위는 필요가 없는 분이실겁니다.  따라서 이 가이드에서는 초보분들을 위해서 철저하게 시놀로지 도커 화면에서 GUI로 모든 것을 설치하겠습니다.

 

출발 전에 먼저 시놀로지 패키지 센터로 가서 PHP 7.4를 설치합니다. 그 옆에 PHP 8.0 도 있는데 왜 7.4를 설치하느냐구요? 아래로 내려가면 그 이유가 나옵니다.

1.png.jpg

 

 

자~ 이제 출발합니다.

 

1. 도커가 설치되어 있다는 가정하에, 오늘의 주인공인 wordpress 이미지부터 받아 봅시다.

이 이미지를 받아보면 거기서 향후 설치에 필요한 많은 정보를 얻을 수 있습니다.

아래 그림처럼 레지스트리로 가서 wordpress를 검색합니다. 그러면 제일 위에 뜨는 놈이 Docker Hub의 공식 wordpress 이미지입니다. 이 이미지를 다운받습니다. latest로 받으면 됩니다.

2.png.jpg

 

2. 이미지를 받았으면 아래 그림처럼 이미지 메뉴로 이동합니다. wordpress 이미지가 잘 들어 와 있군요. 아래 그림의 빨간 동그라미 부분을 클릭해서 이미지 정보를 얻으러 갑시다.

111.png.jpg

 

3. 위의 빨간 동그라미를 클릭하면 아래 그림이 나오는데 바로 우리가 다운받은 wordpress 이미지를 설명하는 설명서입니다.

4.png.jpg

 

 4. 설명서의 아래로 좀 내려가 보겠습니다. 네 여기에 우리가 필요로 하는 모든 정보들이 모여있군요. 빨간색 체크가 우리가 필요로 하는 정보들입니다. 나중에 우리는 이 정보들을 사용할 겁니다. 그러니 페이지를 닫지 말고 그대로 열어두시고, 지금은 밑 줄 그어진 mysql : 5.7이라는 정보만 습득해서 다시 시놀로지 도커로 돌아갑시다.

5.png.jpg

 

5. 도커로 돌아와서 아까 위의 1에서 wordpress 이미지를 받았던 것처럼 이번에는 레지스트리에서 mysql을 검색합니다. 아래 그림처럼 mysql, 버전은 5.7을 선택해서 다운 받습니다.

6.png.jpg

 

6. 왼쪽의 이미지 메뉴로 가보면 아래 그림처럼 이제 우리가 필요로 하는 두개의 이미지, wordpress 이미지와 mysql 이미지가 얌전히 들어와 있습니다. 중간에 포테이너 이미지가 꼽사리 끼어 있군요 ㅎㅎ~ 지금 작업과는 상관없는 이미지이니 신경쓰지 마시구요. 나중에 혹시 뭔가 잘 안되면 저는 왜 portainer이미지가 없나요 라고 질문하시는 분 계실까 봐 미리 알려드립니다 ㅎㅎㅎ~

자~ 이제 본격적으로 도커의 모토 dock & ship(dock에서 컨테이너에 담아서 ship하세요^^가 도커의 모토입니다) 을 해 보겠습니다. mysql을 컨테이너에 담아보도록 하지요. 아래 그림에서 mysql을 선택하고 실행을 누릅니다.

 

112.png.jpg

 

7. 위의 그림에서 실행을 누르면 제일 먼저 만나는 창이 네트워크 설정 메뉴입니다. 여기서는 그냥 bridge를 선택하고 다음으로 갑니다. bridge는 음... "뿌랏찌" 입니다. 뭐랑 뿌랏찌하느냐? 현재 이 도커가 올라가 있는 시놀로지의 네트워크와 뿌랏찌 하겠다는 것입니다.

2-1.png.jpg

 

8. 위에서 다음을 누르면 나오는 아래와 같은 화면이 나오는데, 컨테이너 이름은 mysql1이라고 되어있고(본인이 원하는 것으로 바꾸셔도 됩니다), 자동 재시작 활성화에 체크하고, 고급 설정을 눌러 들어갑니다. 

3-1.png.jpg

 

9.  고급 설정으로 들어가면 아래와 같은 화면이 나오는데, 추가를 누르면 추가로 변수와 값을 입력 할 수 있는 빈 칸이 맨 아래에 생겨납니다. 이제 이 빈칸에 위의 4번 그림에서 습득한 정보들을 입력합니다. 아까 워드프레스 이미지 설명 창 닫지 말라고 했죠? 거기에 있는 값들 중 db 항목의 environment 아래에 있는 값들을 입력 할 겁니다.

113.png.jpg

 

10. 4개를 차례로 입력하면 아래와 같이 됩니다. 위에서부터 차례대로,

- 워드프레스에서 사용 할 데이터베이스 이름 : 저는 wordpress 라고 이름 지었습니다.

- 데이터베이스 사용자 이름 : 저의 아이디입니다. 본인의 아이디를 쓰세요^^

- 데이터베이스 사용자 패스워드 : 1234는 저의 비밀번호고 본인의 비밀번호를 쓰세요.

- mysql root 패스워드 : 1234는 저의 비밀번호고 본인의 비밀번호를 쓰세요. 위의 4번 그림에는 해당 항목이 MYSQL_RANDOM_ROOT_PASSWORD : '1'이라고 되어있는데 왜 그대로 안하고 MYSQL_ROOT_PASSWORD 로 했느냐? 좋은 질문입니다. MYSQL_RANDOM_ROOT_PASSWORD를 쓰면 실행시 1회용 비밀번호를 생성해서 로그에 써 줍니다. 그러면 그거 확인하려고 로그 열어야 하고... 귀찮아서 그냥 root password를 지정한 것입니다.

- 마지막에는 시간대를 넣어주었습니다. 이렇게 하면 환경 설정은 끝이고 저장을 누릅니다.

위의 4번의 워드프레스 설정 창은 wordpress 컨테이너를 생성 할 때 또 써야 하니 아직 닫지 마세요.

 

5-1.png.jpg

 

11. 위에서 저장을 누르면 고급 설정에서 빠져 나오고 다시 위의 8번 화면이 나오게 되는데 다음을 누릅니다. 다음을 누르면 포트 설정이 나오고 포트는 로컬 포트와 컨테이너 포트를 동일하게 하면 됩니다. 포트를 입력하고 다음을 누릅니다.

114.png.jpg

 

12. 폴더추가를 누릅니다.

115.png.jpg

 

13. 폴더생성을 누르고 mysql이라는 폴더를 하나 생성합니다.

116.png.jpg

 

14. 아래 그림처럼 폴더가 생성되면 그 폴더를 선택합니다.

117.png.jpg

 

15.  아래와 같이 마운트 경로에 /var/lib/mysql을 입력하고 다음을 누릅니다. 여기에 왜 /var/lib/mysql 을 입력해야 하는가도 위의 wordpress 설명서에 나와 있습니다. 공부도 할 겸 직접 한번 찾아 보시죠.

118.png.jpg

 

16. 자~ 이제 mysql 설정이 끝났습니다. 설정 요약을 보여줍니다. 완료를 누르면 컨테이너가 ship 됩니다. 도커의 컨테이너에 가 보면 mysql 컨테이너가 보일 겁니다.

10-1.png.jpg

 

17. 이제 워드프레스를 dock&ship 할 차례입니다. 이미지 메뉴로 가서 wordpress 이미지를 실행합니다. 처음 나오는 네트워크는 아까 mysql처럼 bridge로 해 주시고요, 아래 일반설정에서 자동 재시작 활성화에 체크하시고 고급 설정에 들어갑니다.

119.png.jpg

 

18. 아래 변수값을 보면 이 워드프레스 이미지는 PHP 7.4.30 버전에서 돌아갑니다. 그래서 처음에 PHP 8.0 이 있어도 7.4 설치를 하시라고 말씀드렸던 것입니다. mysql 고급 설정 할 때처럼 추가 버튼을 눌러서 변수와 값들을 추가합니다.

120.png.jpg

19. 아까 워드프레스 이미지 설명 창 닫지 말라고 했죠? 이번에는 거기에 있는 값들 중 wordpress 항목의 environment 아래에 있는 값들을 입력합니다. user, password, db name은 아까 mysql 만들면서 사용했던 그 user, password, db name입니다. 입력이 끝나면 바로 저장하지 마시고 위의 메뉴에서 링크를 누릅니다.

121.png.jpg

 

 

20. 링크를 누르면 나오는 화면에서 '연결할 컨테이너를 추가합니다' 아래 추가 버튼을 누르면 그림처럼 다른 컨테이너를 링크 할 수 있습니다. 당연히 데이터베이스를 연결해야겠죠? 아래 그림처럼 링크합니다. 저장을 누릅니다.

122.png.jpg

 

21. 저장을 하면 고급 설정에서 빠져나오고 다음 버튼을 누르면 포트 설정이 나옵니다. 포트는 8080으로 하겠습니다. 8080으로 하고 다음을 누릅니다.

 

123.png.jpg

 

22. 폴더 추가에서 wordpress가 자리 잡을 폴더를 지정해 줍니다.

 

124.png.jpg

 

 

23. 아래 그림처럼 폴더를 매핑합니다. 위에서 mysql 컨테이너 만들 때도 폴더 매핑이 있었는데 여기서 간단히 설명드리면, 컨테이너는 말 그대로 실행 가능한 모든 환경이 컨테이너 내부에 들어가서 격리됩니다. 그렇게 격리가 되면 컨테이너 내부랑 연결 할 방법이 없어지지요. 그런데 로컬 위에 돌아가는 도커 위에 올라가 있는 컨테이너이므로 당연히 로컬과 컨테이너가 연결되어야 필요가 있습니다. 이때 폴더를 매핑하면 로컬 폴더와 컨테이너 내부의 폴더가 연결이 되어서 파일을 동기화 할 수 있게 됩니다. 아래 그림에서는 시놀로지의 /web 이라는 폴더와 컨테이너 내부의 /var/www/html 이라는 폴더를 매핑한 것입니다. /var/www/html 이라는 폴더는 워드프레스가 들어가 있는 폴더입니다. 그 폴더를 컨테이너 밖에서도 볼 수 있도록 하기 위해서 시놀로지의 /web 폴더와 매핑하는 것입니다.

125.png.jpg

 

 

24. 이제 다 왔습니다. 위의 화면에서 다음을 누르면 아래처럼 요약이 나오고, 완료를 눌러서 컨테이너를 ship합니다.

  

126.png.jpg

 

25. 이제 웹 브라우저에서 '나스ip:8080' 을 입력합니다. 아래 그림이 나오면 중간 아래쯤 한국어가 있습니다. 한국어를 선택하고 계속합니다.

127.png.jpg

 

 

26. 사이트 제목 등등을 입력하고 아래 워드프레스 설치를 누릅니다.

 

128.png.jpg

 

 

27. 이제 설치가 끝났습니다. 다시 '나스ip:8080'을 입력해 봅니다. 짜잔~ 나만의 블로그가 완성이 되었습니다.

129.png.jpg

 

 

 

이상으로 시놀로지에서 도커를 이용해서 워드프레스를 올려보았습니다.

 

패키지를 이용해서 한번 올려보고 도커를 이용해서 한번 올려보았는데, 둘 다를 해 본 느낌은 시놀로지에서는 굳이 도커로 할 필요가 있을까 하는 생각이 들었습니다.

 

도커를 사용하는 이유는 간단하고 신속하기 때문입니다. 만약 우분투 서버 같은 곳에 워드프레스를 설치하려면, nginx 설치/설정하고, PHP 설치/설정하고, mysql 설치/설정하고 이 모든 것들을 마치고 워드프레스를 올리는 쌩 노가다를 해야 합니다. 그런데 도커를 이용하면 간단하고 신속하게 워드프레스를 설치 할 수 있는 환경을 만들 수 있습니다.

 

그런데 바로 그 장점을 시놀로지는 이미 가지고 있습니다. 워드프레스 패키지만 설치하면 위의 모든 것을 동시에 설치/설정해 주니까요. 그러면 시놀로지에서 도커를 이용해서 워드프레스를 설치하는 것은 아무 장점이 없을까요? 반드시 그렇지는 않은 것 같습니다. 워드프레스 사이트 하나만 돌린다면 패키지를 사용해서 만드는 것이 훨씬 빠르고 간편합니다만, 만약 한대의 시놀로지에서 홈페이지와 개인블로그를 각각 따로 구축하고 싶다면, 즉 두개 이상의 웹 서비스를 한대의 시놀로지에서 하고 싶다면 그때는 도커가 답입니다.  물론 시놀로지에서 도커없이 불가능하지는 않습니다만 그때는 패키지 자동 설치가 아니라 수동으로 직접 세팅해 가면서 사이트를 추가해 나가야 합니다. 이때는 도커가 효과적이지요.

 

이상으로 가이드 마치겠습니다.

신고공유스크랩
9
profile image 1등
화정큐삼 2022.08.13. 21:27

다른 얘기인데요.

헤놀로지 포럼 홈페이지가 어제부터 업데이트 진행중이라며 접속이 안되는데,

만 하루가 되가는것 같습니다.

무슨 사고가 있는게 아닐지 걱정이네요.

profile image
초보나스 2022.08.14. 05:19

감사합니다 도커 가이드는 조금 빡세네요 홈페이지 2개 이상 운영하면 무조건 도커로 해야하는거군요

profile image
quad 글쓴이 2022.10.24. 13:50
똥쓰똥쓰

도커의 특징이 컨테이너의 완전 독립 실행을 보장한다는 것입니다.

그러기 위해서 필요한 모든 것들을 내부에 다 만들어 두고, 세팅해 두었죠.

이 예제에 쓰인 워드프레스는 mysql 5.7 에서 돌아가도록 세팅된 것입니다.

 

그 이후 버전의 mysql을 쓰고 싶다면 그 이후 버전의 mysql을 이용해서 도커 이미지를 만든 워드프레스를 찾아서 쓰면 되겠죠. 즉, 이 부분은 워드프레스의 도커 이미지를 만들 때 mysql 5.7을 사용하겠다고 이미 결정된 것입니다.

 

그러나 위의 내용은 일반적인 것이고...

제가 이 워드프레스의 도커 이미지를 직접 만들지는 않았기에 반드시 mysql 5.7에 고정되어 있는지 아닌지는 정확하지 않으니 해 보면 되겠지요. mysql의 최신 버전으로 해 보고 되면 쓰면되고, 안되면 5.7로 하면 되지요. 내 마음대로 할 수 있는 내 컴퓨터가 내 앞에 있고, 의문이 있고, 실험 정신도 충만한데 못 할 것이 뭐가 있겠습니까? ㅎㅎㅎ~ 도커 좋은 점이 그거 아닙니까^^ 안 되면 간단한 삭제가 가능하다는거...

똥쓰똥쓰 2022.10.24. 14:21
quad

아~ 워드프레스 도커 이미지가 mysql 버전을 확정한것이군요....

watchtower를 설치했는데 강제로 mysql 버전을 업해 버리면 큰일 나겠네요....

자세한 답변 감사합니다.

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

취소 댓글 등록

cmt alert

신고

"님의 댓글"

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

댓글 삭제

"님의 댓글"

삭제하시겠습니까?


목록

공유

facebooktwitterpinterestbandkakao story

첨부 0

번호 분류 제목 글쓴이 날짜 조회 추천
공지 정보 DSM 7.2v) Mshell로 헤놀로지 부트로더 빌드하기. 62 달소 23.05.29.01:57 24791 +24
공지 정보 DSM 7.2v) ARPL-i18n(rr)으로 헤놀로지 부트로더 빌드하기. 73 달소 23.05.23.23:58 26375 +23
후기 ghost 블로그를 만들어 봤습니다 4 빨간물약 14시간 전15:26 199 +2
후기 asustor에서 나온 nas에 dsm 올렸습니다... 4 링츠링링 3일 전18:45 382 +2
질문 Wireguard 관련해서 질문 드립니다! 2 리준 4일 전12:25 182 +1
482 정보
image
EXP 24.04.08.19:30 971 +2
481 정보
image
EXP 24.04.08.00:29 593 +1
480 정보
normal
쵸비요 24.04.06.14:47 219 0
479 정보
image
빨간물약 24.03.30.13:54 390 +1
478 정보
normal
TheSTREET 24.03.30.00:43 409 0
477 정보
normal
알랑1 24.03.24.16:32 814 +2
476 정보
normal
EXP 24.03.15.17:58 285 +3
475 정보
normal
EXP 24.03.15.17:47 163 0
474 정보
normal
깜이 24.03.10.19:39 118 0
473 정보
normal
TheSTREET 24.03.10.02:53 279 +1
472 정보
image
EXP 24.03.07.13:36 540 +4
471 정보
image
장인극장 24.03.01.11:10 543 0
470 정보
image
파인콘 24.02.19.22:40 372 +4
469 정보
normal
해피몽 24.02.18.15:22 411 +2
468 정보
image
해피몽 24.02.18.09:51 922 +8
467 정보
normal
빠가로티 24.02.14.07:55 418 +3
466 정보
image
달소 24.02.07.22:30 1613 +9
465 정보
normal
반투검스 24.02.07.20:24 312 +2
464 정보
image
불만족감자 24.02.04.19:57 1316 +3
463 정보
image
big.dady 24.02.04.18:24 741 +5