시놀로지에서 웹서버의 역할을 하는 웹스테이션(Web Station)은 아파치 기반으로 쉽게 NAS에서 웹서버를 운영할수 있는 솔루션입니다.
웹스테이션은 기본적으로 시놀로지의 계정과 연동되어 사용자별 디렉토리 지원으로 http://도메인/~사용자 형태의 서비스가 가능하며 가상 호스트 지원으로 여러 도메인을 연결해서 사용할수 있습니다.
여기서 가상 호스트란 기본적으로 하나의 도메인에 하나의 아이피(IP)가 맵핑되게 되는데 1서버 1도메인 구조가 비효율적이기 때문에 생긴 기능으로 하나의 웹서버에 여러 도메인을 맵핑해서 교통 정리를 해주는 기능입니다.
예로 시놀로지가 abc.com 이라는 도메인을 사용한다면 가상 호스트를 지정하지 않았을때 abc.com 이 웹스테이션에서 기본적으로 사용하는 주소가 되고 abc.com:5000 주소가 시놀로지 DSM 접속 주소가 됩니다. 하지만 가상 호스트를 사용하게 되면 xyz.com을 연결해서 abc.com과 동시에 사용할수 있게 되는 것이죠.
아파치를 이용해 웹서버를 구축해본 사용자라면 쉽게 워드프레스나 Xpress Engine(이하 XE)를 설치할수 있겠지만 이제 처음 시놀로지 웹스테이션을 이용해 XE를 설치하려먼 사용자라면 GUI 기반의 DSM으로 권한을 할당하는 개념에 대해 잘 모르기 때문에 초보자를 위한 가상 호스트에 XE를 설치하는 방법에 대해 알아보겠습니다.
들어가기 앞서 MariaDB, phpMyAdmin 패키지가 설치되어 있어야 하고 데이터베이스가 생성되어 있어야 합니다. 또한 시놀로지의 FTP 기능이 활성화 되어 있어야 합니다.
목차
시놀로지 가상 호스트에 XE 설치하기
우선 기본 동작 개념에 대해 짚고 넘어가야 할 사항이 몇가지가 있는데 시놀로지의 웹스테이션은 시놀로지 최상단 디렉토리의 Web 폴더가 기본 웹스테이션 루트(root) 디렉토리가 되어 이 디렉토리에 HTML이나 PHP 파일을 넣어 홈페이지를 만들게 됩니다.
웹스테이션에서 가상 호스트를 설정할때는 이 Web 폴더 하위에 디렉토리를 만든 다음 가상 호스트 설정에서 생성한 디렉토리와 도메인을 연결해 사용합니다.
그리고 웹스테이션에서 HTML과 PHP의 동작을 처리하는 권한은 http 그룹이 담당합니다.
이 이유는 제3의 계정/그룹인 http는 다른 프로세스에 대한 처리 권한이 없고 웹서버 프로세스’만’ 처리함으로써 권한에 대한 취약점을 미리 방지하기 위함으로 리눅스 기반의 아파치, NGINX 또한 마찬가지의 방법으로 운영됩니다.
다시 말해 웹서비스 파일이 들어갈 디렉토리는 http 그룹 이외의 접근 권한은 필요가 없고 오히려 다른 계정의 권한을 주게 된다면 보안에 취약해질 우려가 있습니다.
이제 개념을 잡았으니 실질적인 설정을 해보겠습니다.
가상 호스트에 XE를 설치하기 위해서 우선 시놀로지의 web 디렉토리 하위에 가상 호스트에 연결할 적당한 이름의 디렉토리를 생성한 다음 마우스 오른쪽 버튼을 눌러 속성에 들어갑니다.
디렉토리 속성에서 소유자를 http로 변경한 다음 권한 탭을 클릭합니다.
‘소유자를 변경하게 되면 문제가 생기는거 아니야?’ 라고 생각하는 분도 있을텐데 생성한 디렉토리의 상위 디렉토리인 web에 사용자 계정에 대한 권한이 있기 때문에 해당 디렉토리의 접근 권한등에 문제가 없습니다.
권한 탭의 메뉴중 고급 옵션을 클릭한 다음 ‘상속된 권한 제외’로 상위 디렉토리와 별개로 권한을 지정합니다.
앞서 예기했던 것처럼 웹서비스를 위한 http 만 추가하면 되니까요. (스크린샷의 http는 필자가 미리 설정해둔 것입니다.)
상단 메뉴의 생성 버튼을 클릭해서 http를 추가한 다음 편집을 클릭해 http에 대한 권한을 읽기/쓰기로 지정하면 기상 호스트에 연결할 디렉토리의 퍼미션 권한 설정은 끝났습니다.
이제 가상 호스트를 설정해야할 차례입니다.
시놀로지 제어판의 웹 서비스에 들어가서 Web Station 활성화에 체크한 다음 그 아래 가상 호스트 버튼을 클릭한 다음 가상 호스트 목록에서 생성 버튼을 클릭 후 하위 폴더 이름에 방금 설정한 폴더명을 입력하고 호스트 이름에 사용할 도메인을 입력하면 가상 호스트 설정 또한 끝났습니다.
이제 Xpress Engine을 설치할 차례네요. 공식홈페이지에서 XE 코어 파일을 다운로드 받은 다음 FTP나 DSM을 통해 업로드 합니다.
phpMyAdmin을 통해 DB와 사용자 계정을 생성한 다음 DB 정보를 입력하고 XE에서 사용할 관리자 계정을 설정하면 XE 설치가 끝납니다.
마지막으로 XE 설치파일을 업로드 할때 해당 파일이 시놀로지의 사용자 계정 권한으로 업로드 되기 때문에 XE 관련 파일들의 권한을 http 그룹으로 바꿔줘야 CMS의 특성인 웹에서 모든 것을 처리하는데 필요한 동작 권한 문제가 없습니다.
가상 호스트에 연결된 폴더의 속성에서 ‘이 폴더, 하위 폴더 및 파일에 적용’에 체크한 다음 확인을 누르면 해당 폴더 하위의 XE 관련 파일들의 소유자가 http 그룹으로 변경됩니다.
이제 XE를 이용해 홈페이지를 구축하면 되겠습니다. :)
FAQ
짧은주소(rewrite)가 작동하지 않는 이유는 무엇인가요?
404, 405 페이지 에러를 동반한 짧은주소 적용이 안될때는 가상 디렉토리에 대한 접근 권한 문제일 가능성이 큽니다. 위의 내용중 폴더 권한 설정을 참고하세요.
2 댓글. Leave new
몇칠동안 고민거리 해결 되었습니다
좋은 정보 알려주셔서 감사합니다^^*
퍼미션 권한 설정까지 잘 따라 왔는데요
그다음 제어판에서 응용프로그램에 웹서비스 항목이 안보입니다
일단은 건너뛰고 했는데
그걸 안해줘서인지 500 error 뜨는데 저 항목 DSM7.0 이라 안보이나 모르겠네요