그런데 시놀로지 나스로 워드프레스를 설치하면 간혹 글을 클릭했을때 404 not found 에러가 뜨는 경우가 있다. 영문 제목이면 상관이 없는데 한글이 들어가면 404 에러가 뜬다. 그렇다고 영어제목 포스트를 계속 할 수는 없을 것이다. 사실 복잡한 그 원인을 명확히 찾아내는 것은 굉장히 힘들다.
시놀로지는 Default 로 백엔드 서버를 Nginx 지정한다. 아마도 이게 php와 궁합이 좋지 않은지 에러가 좀 있는 모양이다. 처음에 설치하고 이런 저런 자잘한 에러들이 있었다. 이게 완전한 해결책이라고 생각하기 보다는 백엔드 서버를 Apache 로 바꿔보는 하나의 시도 정도로 보면 좋을 것이다. 이것저것 다 뒤지다가 결국 마지막에 백엔드 서버를 변경(저 상태에서 변경이 안되기에 삭제하고 새로 생성)하고 글 이름을 설정했을 때 제대로 된 해당 포스트를 연결할 수 있었고 자잘하게 나던 에러도 사라졌다.
지난 포스팅에서 시놀로지 나스(Synology NAS)에 홈페이지를 위한 애플리케이션을 모두 다운 받아 설치하는 과정까지 끝냈다. 이제 설정을 해보도록 한다.
1. MariaDB 실행
데이터를 열심히 관리할 물개를 소환한다.
필자는 DB안에 내용들이 이미 많이 쌓여져있어 초기화할 여건이 안되어 설정화면으로 대체한다. 여기서는 root, 즉 DB에 대한 권한을 설정할텐데 비밀번호 생성을 요구할 것이다. 임의의 비밀번호를 만들어 넣는다.(DSM 계정 등과 전혀 상관없는 온전히 DB에 접근하기 위한 비밀번호다.) 기본포트로 3306이 쓰여져있을텐데 누누이 말했듯 모르면 다음을 누른다. 특별히 변경해야할 것은 그때그때 언급하도록 하겠다. 뭐 그럴일은 없겠지만 혹시 포트가 충돌이 나면 그때 바꿔도 된다.
비밀번호 생성, TCP/IP 연결 활성화 체크 정도가 이 단계에서 해야할 일이다.
2. phpmyadmin 실행
이제 물개에게 일을 시킬 뱃사람을 소환한다.
혹시 https://NAS주소/phpMyAdmin 으로 접속이 안된다면 네트워크 내부 NAS 주소를 써서 접속하도록 하자.(물론 NAS와 같은 공유기에 물려있는 PC로 해야한다.) 대부분 NAS를 집에서 사용할 것이고 초기 권한 부여 활동 이외에는 phpmyadmin에 접속할 일은 별로 없을 것이다.
혹시 나의 NAS 내부 주소를 모른다면
아마 연결된 네트워크 주소가 xxx.xxx.xxx.xxx 형식으로 나와있을 것이다. “https://xxx.xxx.xxx.xxx/phpmyadmin”을 쳐서 접속하자
1번 항목에서 만들었던 root에 대한 비밀번호를 입력하여 접속한다.
ipTIME 공유기를 사면 초기 아이디와 비밀번호가 admin/admin이다. 누구나 다 로그인 할 수 있을 것이다. 그래서 새로운 사용자를 만들라고 한다. 우리는 지금 root로 로그인 했다. 새로운 사용자를 만들어야 한다. 아이디를 하나 만들고 비밀번호를 입력하여 계정을 생성한다.
다 되었으면 하단의 [실행] 버튼을 누른다. 다음에 혹시 phpmyadmin에 접속할 일이 생기면 이 계정으로 로그인하자. db를 삭제할 일이 아닌 이상 거의 접속할 일이 없긴 할 것이다.
wordpress에 관한 DB를 만들기 위해 상단의 데이터베이스 탭을 누른다.
DB이름을 짓고 형식은 그림과 같이 설정하고 [만들기]. 필자는 홈페이지를 더 만들 경우를 대비해서 구분하기 위해 숫자를 넣어 만들었다. 시놀로지에 워드프레스를 수동설치 했을 때의 장점은 홈페이지를 1개가 아닌 여러개를 만들 수 있다는 점이다.
3. Web Station 설정
이제 브로커가 어떻게 일을 연결해줄 것인지 프로필을 작성할 것이다.
웹스테이션을 실행하고 다음과 같이 설정
사이트를 여러개 만들었을 경우 헷갈리지 않도록 프로파일 이름, phpmyadmin 에서 설정한 db이름, 지난 시간에 다운받아 업로드 하고 압축을 풀었던 폴더도 이름을 통일(wordpress01)하면 좋다.
다음을 눌러 차례대로 다음과 같이 설정한다.
확장 모두 선택
프로파일 이름은 wordpress01 이다 캡처가 잘 못 되었다.
생성버튼을 눌러 프로필 완성
방금 만들었던 wordpress01을 선택하고 다음을 누른다.
문서루트는 처음에 워드프레스를 압축 풀었던 그 경로를 입력해준다.
이렇게 설정한다. 이와 같이 도메인을 또 하나 구입해서 1번 부터 지금까지의 과정을 wordpress02로 만들면 또 하나의 홈페이지를 만들 수 있다.
4. 시놀로지 나스의 web/wordpress01 폴더에 권한 설정 및 사용자 변경
SSH로 NAS에 접근해서 업로드해서 압축을 풀었던 폴더에 추가 파일 생성 등의 작업을 계속하기 위해 권한 설정과 사용자 변경을 한다.
시놀로지 나스(Synology NAS)의 유용한 기능 중 하나는 홈페이지를 구축할 수 있다는 것이다. 나만의 개성있는 도메인을 구입하였다면 그에 맞는 홈페이지를 만들어 사용하면 좋을 것이다. 상업적인 홈페이지가 아니더라도 간단히 블로그를 운영해도 좋을 것이다. 워드프레스는 홈페이지의 보이는 부분을 만드는 프로그램이라고 보면 된다. 커맨드 창에 프로그램 명령을 내리던 방식에서 그래픽을 보고 마우스를 움직여 명령을 내릴 수 있는 사용자 친화적인 환경을 제공한 OS처럼 홈페이지를 만들 때 HTML, CSS 등 직접 코딩을 해야했던 과정을 마우스 클릭과 보기에서의 선택 등으로 바꾸어준 웹 제작도구이다. (Front End, Back End 라는 단어를 가끔 볼텐데 말 그대로 Front End는 우리 눈에 보이는 것이고 Back End는 화면 뒤에 숨어서 우리 눈으로 보이지 않는 것을 말한다. 따라서 WordPress는 일종의 Front End라고 봐도 된다.)
워드프레스는 Synology 패키지 센터에서 제공하고 있는데 이것의 가장 큰 단점은 워드프레스(WordPress)의 최신버전을 사용할 수 없다는 것이다. OS를 비롯한 모든 앱들은 가장 최신 버전을 사용해야 한다는 생각인데 업그레이드 되는 기능은 둘째치고 최신 보안패치를 받을 수 있다는 점 때문이다. 최신 기능은 안써도 그만이지만, 이전 버전에 발견된 취약점을 악의를 가진 해커들이 공략을 하거나 뜻하지 않은 성능저하를 가져오는 등 부작용을 수정해줄 최신 패치는 필수이기 때문이다.
따라서 최신버전을 사용할 수 있도록 수동설치를 해보도록 하자.
1. 시놀로지 나스 DSM에서 필수 서비스 다운로드 받기
WordPress 가 눈을 즐겁게 해줄 때 뒤에서 묵묵히 일할 일꾼(BackEnd)들을 불러 모아야 한다.
1-1. Web Station
웹씨는 중간에서 일꾼들을 연결해주는 브로커다. 일의 종류, 일꾼들의 이력서 등 관련 내용을 가지고 외부에서 요청이 들어오면 연결해준다.
1-2. MariaDB
DB라고 많이 들어봤을 것이다. 축적되어 있는 자료를 의미하는데 DBMS, 데이터 베이스를 개처럼 관리할 물개를 한 마리 데려다 놓는다.
1-3. Php와 Phpmyadmin
phpmyadmin은 배에 탄 물개 조련사다. php라는 물개를 조련하는 특출난 기술로 일을 시킨다. 필요한 것을 phpmyadmin에게 시키면 물개에게 이런 저런 일을 시킨다.
1-4. Apache HTTP Server 2.4
대륙의 주인이었으나 외세의 침략으로 영광스런 아파치 부족에서 Serving을 하는 Server, Servant 즉 노예로 전락했으나 묵묵히 일해 현장 반장이 되었다. 물개와 이를 부리는 마도로스를 총괄하는 반장이다.
NAS를 가지고 있다면 이름표를 다는 것 처럼 도메인 구입을 반드시 하도록 하자. NAS 구축 비용에 비하면 하찮은 수준의 금액이니 부담가지지 말고 이 비싼 기계 덩어리를 샀으면 써먹을 수 있는 만큼 다 써먹어야 할 것이 아닌가. 자, 비용을 곱씹어보자. Synology NAS의 사악한 가격에 HDD도 여러개, UPS까지 사면 100만원은 그냥 넘어간다. 이런 금액을 들였으면 온전히 나만의 것으로 만들어야 할 것이 아닌가? 이름표를 달아서 나의 일부처럼 생각하면 좀 더 애정을 가지고 어떻게 써먹을까 궁리를 하게 될 것이다.
주의해야할 점이 KT인터넷을 이용하면 포트80을 이용할 수 있는데 인터넷 서비스마다 정책을 들먹이며 80번포트를 막아두는 곳이 있으니 확인하자. 이러면 NAS로 오기전에 통신사에서 막아버려서 이용하기 힘들다..
1. 도메인 구입
NAS를 구입할 때 Synology가 지원하는 DDNS(Dynamic DNS)는 아이디.synology.me’ 같은 정해진 형식을 유지해야 하기 때문에 개성있는 자신만의 도메인을 사용할 수가 없다. 도메인을 판매하는 사이트는 여러 개가 있다. 대표적으로 가비아, 후이즈, 닷네임코리아 등이 있다. 가격이 동일하지 않으니 자신만의 개성있는 이름을 일단 짓고, 도메인 판매 사이트에 접속하면 중복여부를 확인할 수 있는 창이 메인화면에 있으니 넣어서 확인해보자. (무료, 회원가입 필요없음) 그리고 구매 적절하다고 판단되는 곳에 회원가입을 하고 결제를 한다. 흔히 우리가 알고 있는 .net, co.kr 등은 가격이 좀 있는 편이고 생소한 것은 세일가로 판매한다.
필자는 작은 사업을 하고 있어 co.kr로 구입하였다. 여기에 Synology Mail Plus로 메일 계정을 연결하고, 홈페이지도 연결하였다. 명함에 포털 이메일을 넣기 꺼려서 그런 목적 겸 NAS도 연결할 겸 해서 도메인을 구입하였다. NAS를 가지고 있다는 것은 저장소를 내가 가지고 있다는 것이기 때문에 도메인만 구입하면 호스팅을 NAS로 하면 되기 때문에 호스팅 비용은 지출할 필요가 없다.
간략하게 잘 정리한 그림이다. 도메인을 구입해서 내가 사용하고 인터넷의 들어오는 주소(공용IP)로 연결해주면 도메인을 치면 DNS에서 나의 인터넷 들어오는 주소로 연결해준다. 그때 포트를 지정해서 나눠서 WebServer, Mail Server, DSM 등등 서비스로 연결할 수 있고 이 기능을 우리가 가진 NAS가 할 수 있다는 것이다.
더 쉽게 설명을 하자면 도메인을 사면 누군가가 그 도메인을 웹브라우저에 쳤을 때 DNS가 나의 NAS로 연결해준다. 그렇게 연결되면 이전에 설명한 ‘문 열고 닫는 포트포워딩‘ 처럼 들어올 이중 문을 지정해서 그 문에 서비스를 앉혀놓으면 연결이 된다는 것이다.
3. 도메인 설정
도메인을 구매한 후 구입한 사이트에 로그인 해서 마이페이지에 가보면 이런 내용이 있을 것이다. 필자는 닷네임코리아에서 구입을 했는데 어찌저찌 하다가 3개를 구입했는데 1개만 있어도 된다. 옆의 관리를 누르자.
해당 도메인의 옆에 있는 [신청하기 >] 를 누른다.
NAS와 연결한 공유기에 PC를 연결해 웹브라우저에 192.168.0.1 을 쳐서 로그인 해보면 첫화면에 ‘외부 ip 주소’에 xxx.xxx.xxx.xxx 형태의 주소가 있다. DNS가 이 주소로 연결해준다. 이 주소를 잘 기억해두자.
일단 홈페이지와 MailPlus가 설정되지 않은 가정하에 DSM을 ‘nas.내가구입한 도메인’으로 접속하는 과정 까지만 설정할 것이므로 A레코드의 2항목과 CNAME의 첫 부분만 채워넣는다.
참고로 CNAME에 nas이외에 ‘photos, drive, mail.구입한 도메인’을 쓴 이유는 DSM을 통하지 않고 해당 서비스의 로그인 포털로 바로 접속하기 위함이다. (이것은 후에 MailPlus를 설정하고 해보자) 이번 포스팅에는 nas.구입한 도메인을 DSM에 연결하는 과정까지 해보자. ‘nas.구입한 도메인’ 이라고 꼭 해야하는 것은 아니니 이름은 자유롭게 한다. 예) ‘storage.구입한 도메인’, ‘webhard.구입한 도메인’ 등 아무거나 상관없다.
▲ 참고 : 메일플러스 로그인 포탈
▼ 이 로그인 포털은 Drive.구입한 도메인, Photos.구입한 도메인 으로 도메인 사이트에 등록하고 DSM에 들어가서 로그인 포털을 설정하면 모두 적용할 수 있다.
이제 웹브라우저에 nas.구입한도메인을 쳐보면
아마도 이렇게 뜰텐데 홈페이지가 아직 준비가 안되었다는 말이다. 물론 홈페이지는 준비를 안한 것은 맞는데 기본 포트로 들어오면 바로 이쪽 문이 열린다. 그래서 들어오는 문을 DSM으로 연결해주어야 하는데 역방향 프록시를 설정해준다.
▲ 기본 포트(http: 80, https : 443)로 접근하면 DSM 웹서비스에 설정한 포트로 튕겨주는 설정
▲ 지난 포스팅에도 설명했지만 DSM의 기본포트 5000, 5001은 다른 포트로 변경하길 추천함 (~65,000번 이내에서 다른포트와 충돌하지 않도록 설정)
자동으로 HTTP 연결을 DSM 데스크톱의 HTTPS로 리디렉션을 체크해두면 보안이 안좋은 HTTP로 접근할 경우 바로 HTTPS 강제 접속으로 돌려준다. 체크할 것. 이 옵션을 체크해서 큰 의미는 없지만 연습삼아 HTTP 도 작성해본다.
이로써 경로는 설정이 되었다. 웹브라우저에 nas.구입한 도메인을 치면 DSM 접속이 되기는 하는데 크롬이 사기 의혹이 있다며 접속을 막을 것이다. ‘이 사이트는 진실한 사이트 입니다!’ 하는 인증을 해주어야 하는데 인증서가 없기 때문이다. 인증서를 설정하러 가자.
제어판 – 보안 – 인증서 – 추가
공짜라니 더할 나위가 없다.
완료하면 인증서가 추가된다. 이제 인증서는 받았으니 구입한 도메인으로 접속할 때 크롬이 제지하면 인증서를 딱 제시하고 통과해야한다. 구입한 도메인에 인증서를 배치해보자.
이러면 nas.구입한 도메인을 치면 내부에서도 외부에서도 어디에서도 DSM 접속이 가능하다. 앞에서 잠시 봤듯 NAS에 홈페이지를 만들고 ‘구입한 도메인’을 치면 바로 나의 홈페이지로 이동하는 것이다.