시놀로지 NAS에 홈페이지등을 만드는 데 필요한 CMS인 Nginx를 설치하는 방법과, 외부에서 Nginx접속시 자신의 홈페이지가 보여지도록, Nginx에 자신의 Web page를 연결하는 방법을 소개한다.
Step 1. 시놀로지 NAS에 Nginx 설치
시놀로지 NAS에 Nginx를 설치하는 방법은 container manager를 실행하고, 레지스트리 탭에서 nginx 키워드를 입력하여 Nginx의 docker 이미지를 찾는다, 이미지가 찾아지면 이미지를 선택하고, 바로 위의 “다운로드” 명령을 이용하여 다운로드 하면 된다. 한편, 오른쪽 끝부분의 화살표를 선택하면 Dockeerhub로 연결되어, 이 이미지에 대한 자세한 정보를 살펴볼수도 있다.
다운로드가 완료되면 다음과 같이 이미지 탭에서 확인이 가능한데, 해당 이미지를 선택하고, 윗부분의 “실행” 메뉴버튼을 이용하여 실행한다.
그러면 자동으로 Nginx설치가 이루어지고 컨테이너 탭에서 설치가 완료된 것을 확인할 수 있다.
Step 2. Nginx에 연결할 데이터를 저장할 폴더 생성
먼저 인터넷 브라우저로 Nginx 서비스에 접속하는 경우 표시될 Webpage 자료가 저장될 폴더를 시놀로지의 파일매니저를 이용하여 원하는 곳에 만들어준다.
나의 경우에는 Volume1 디스크에 있는 docker 폴더 밑에, nginx1data (임의의 명칭임)라는 폴더를 만들고, 여기에 Nginx 서비스를 접속하면 보여줄 webpage 자료를 저장하기로 했다.
Step 3. 자신의 홈페이지 (또는 Web page) 자료 파일들을 지정한 폴더에 업로드
그리고, 이렇게 Nginx 용도로 생성한 폴더 내에, Ngnix 서비스에 접속되면 보여줄 Webpage 파일 자료들을 미리 업로드해 둔다.
참고로, 이 Web page 파일들은 해당 웹페이지를 간단히 만들어 데모 목적으로 사용하기 위해, 무료 web page template를 제공하는 Bootstrap 애서 template를 다운로드해 그대로 이용하였다. 실제 자신의 정보를 반영한 web page를 만들려면 수정하려는 경우에는 다운로드한 template 파일들을 편집해야 한다.
Step 4. Nginx 설정 편집 – Web page 파일 저장 위치 지정 (=Volume mapping)
이제 자신의 홈페이지 파일들이 저장된 곳들을 Nginx에 지정해주어야 한다. 더불어 포트번호도 고정하고, 컨테이너가 중단되는 경우 재가동에 대한 방법도 설정해 주어야 한다.
이를 위해, 미리 설치해 둔 Docker 관리도구인 portainer를 접속하고, 다음과 같이 ngnix 컨테이너를 선택하여 설정 모드로 들어간다. (참고 – 시놀로지 NAS에 Docker 이미지 관리 도구인 Portainer를 설치하는 방법은 별도의 글을 참조한다. https://blog.naver.com/mythee1/223137694413 )
1) Volume mapping
다음 화면에서 Edit 모드 버튼을 선택해 설정 편집모드로 들어간다.
설정 편집 화면에서, 화면 하단부에 있는 Advanced Setting으로 이동하고,
다음과 같이 Volume tab을 선택한 후 map additional volume 버튼으로
다음과 같이 volume mapping 창을 만들어, 다음과 같이 미리 만들어둔 위치를 지정해 준다.
2) 포트 고정
현재는 컨테이너에 시놀로지 NAS의 포트가 임의 지정된 상태로, Update되거나, 컨테이너가 재시동 되는 경우, 할당된 시놀로지 NAS의 포트 번호가 변경되는 경우가 발생하기도 한다. 즉 외부에서 Nginx를 이용한 홈페이지에 접속시 처음에는 32777 포트로 접속했으나, 다음에는 32778 포트로 접속해야 하는 상황이 발생할 수 도 있게 된다.
이를 방지하기 위해 각 컨테이너에 할당된 포트번호를 고정해준다.
컨테이너의 설정 편집 화면의 중간부에 있는 “+publish a new network port”를 선택하고 고정할 시놀로지 나스의 포트번호를 넣어준다.
그리고, Restart policy 탭에서 “Always”를 선택해 준 다음, “Deploy” 버튼을 이용하여 실행해 준다.
한 가지 기억할 것은 시놀로지 NAS의 경우, 미리 만들어져 있지 않은 폴더를 기재하거나, 오타 등으로 폴더 이름을 잘못 입력한 상태로 Deploy를 하면, 에러가 발생한다. 필요한 폴더는 미리 만들어 둔 후, 폴더명을 복사하여 사용하는 것이 에러 방지를 위한 팁이다.
Step 5. 서비스 접속
외부망에서 Nginx 포트 번호를 이용하여 접속하면, 다음과 같이 미리 올려둔 web page가 정상적으로 잘 표시된다.
참고) 이렇게 시놀로지 NAS에 설치한 Docker Container 에 외부망에서 접속하기 위해 필요한 포트포워딩의 개념 및 구체적 방법에 대해서는 이전글을 참조한다. https://blog.naver.com/mythee1/223135372562
이런 방식을 이용하면 꽤 그럴싸한 자신의 홈페이지를 Nginx를 이용하여 아주 간단하게 만들 수 있다.
이렇게 시놀로지 NAS에 Nginx를 설치하고, portainer를 이용해 자신의 홈페이지 파일들을 연결하여, 외부에서 접속시 이 홈페이지가 나타나도록 설정하는 방법을 소개하였다.
<참고사항>
만일 위와 같이 web page가 정상적으로 표시되지 않는 경우는, 다음과 같이 설정 편집 화면에서 “restart” 명령을 이용하여 컨테이너를 재시동 하는 방법을 시도하면 도움이 된다.

