작성자 PG의 글

시나리오

필자는 (시놀로지를 비롯한) 서버 시스템을 혼자 사용하고 관리하기 때문에 계정사용이 한정적인데 만일 지인이 웹에 공간을 나눠 달라고 부탁한다면 계정을 생성하고 2차 도메인을 생성해야 한다. 시놀로지 기본 기능인 웹 스테이션을 통한 호스팅과 가지고 있는 도메인에 2차 도메인을 생성한 후 연결해 주면 되지만 기본 기능으로 설정하기엔 약간의 난관에 부딛치게 된다.

계정 생성은 설정이 간편하지만 생성된 계정에 해당하는 주소(mystor.net/~user)를 도메인(user.mystor.net)에 연결해야 되는데 웹 스테이션의 가상 호스트 기능은 아파치 루트폴더의 하위폴더만 지원하기 때문.

다시 설명 하자면 시놀로지 아파치의 기본 폴더인 web 폴더 하위에 위치한 폴더를 가상 호스트를 통해 연결할 수 있다는 얘기. (mystor.net/user -> user.mystor.net)

이것을 해결하려면 아파치의 유저 폴더 위치를 기본 폴더 하위에 위치시켜야 하고 또 계정 생성시 자동으로 기본 폴더 하위에 생성되는 크론을 작성해야 한다. 그리고 ftp(sftp) 관련된 jail 설정도 해줘야 하는 머리아픈 고난이 기다리고 있다. 좀더 간단한 방법은 직접 vhost 파일을 수정하면 되는데 이럴꺼면 CentOS에 아파치를 쓰고 말지.

시놀로지 사용의 본질인 관리의 편안함을 그대로 가지고 가기 위해 명령어와 삽질을 최소화하는 방법을 공개한다.

 

해결 방법

사용자 폴더에 있는 www 폴더를 web 하위의 폴더에 심볼릭 링크를 걸어줌으로써 시놀로지 웹스테이션의 옵션을 그대로 활용.

 

시놀로지를 SSH(터미널)로 접속

시놀로지 서버에 ssh(터미널)를 root 권한으로 접속한다.

find / -name 'homes'

위의 명령어로 사용자의 홈 폴더가 모이는 homes 폴더 위치를 찾을수 있다. 위치는 /var/services/homes 이다.

고로 사용자의 개인 웹페이지가 저장되는 곳은 /var/services/homes/유저아이디/www 이고 웹스테이션 기본 폴더는 /var/services/web 이 된다.

이제 web 폴더 하위에 유저폴더를 심볼릭 링크로 연결해 준다.

ln -s /var/services/homes/유저아이디/www /var/services/web/유저아이디

심볼릭 링크를 만드는 명령어로 유저아이디 하위의 www 폴더를 아파치 기본 폴더인 web의 하위에 유저아이디로 된 링크로 만들어 준다.

sy_web_ssh_01
sono 계정이 심볼릭 링크로 연결된것을 확인 할수 있다.

▲ ll 명령어로 확인.

심볼릭 링크를 지우고 싶으면

rm /var/services/web/유저아이디

위의 명령어들을 절대경로로 설정해 준 이유는 리눅스에 익숙하지 않은 분들을 위한 작은 배려. ^^

 

DSM 에서 도메인 설정

관리자 계정으로 DSM에 접속해서 제어판 – 웹 서비스 – 가상 호스트 클릭

sy_web_ssh_02

▲하위 폴더에 유저 아이디(심볼릭 링크), 호스트 이름은 도메인을 설정한다.

도메인으로 접속해서 설정이 잘 되었는지 확인해보자. 유저를 새로 생성할때 위의 과정(명령어)이 자동으로 되게끔 설정하면 귀찮음을 좀더 덜겠지만 실력이 거기까진 미치지 못해 수동으로 입력하는걸로 해결했다.

번외편 자동화 설정

위의 방법은 메인 도메인 및 2차 도메인을 연결할수 있는데 2차 도메인만 연결해서 사용 한다면  자동으로 연결(user.mystor.net)하는 방법이다. 물론 2차 도메인 세팅은 수동으로 준비되어야 한다.

SSH(터미널)를 root 권한으로 접속 후, /etc/httpd/conf/httpd.conf-user 파일 하단에 아래의 코드를 붙여넣기 한다.

NameVirtualHost *:80
<VirtualHost *:80>
ServerName *
ServerAlias *.mystor.net
DocumentRoot /var/services/web
RewriteEngine on
RewriteCond %{HTTP_HOST} ^[^.]+.mystor.net$
RewriteRule ^(.+) %{HTTP_HOST}$1 [C]
RewriteRule ^([^.]+).mystor.net(.*) /home/$1/www$2
ErrorDocument 403 "/webdefault/error.html"
ErrorDocument 404 "/webdefault/error.html"
ErrorDocument 500 "/webdefault/error.html"
</VirtualHost>
IMGP47771
맥스틸(MAXTILL) 알루미늄 마우스패드
마우스를 바꿈질하면서 움직임이 좀 맘에 안들어 알루미늄 마우스패드까지 주문. 맥스틸 알루미늄 마우스패드 되시겠다. 마데중궈. 사실 레이저나 커세어의 마우스패드가 참 이쁘장…
IMGP47641
RAZER IMPERATOR 4G
기존에 쓰고있던 로지텍 G9x가 끈질긴 생명력으로 고장이 안나서 질리기도 하고 낮은 그립때문에 손목에 무리가 와서 오랜만에 레이저 마우스로 바꿈질을 해봤다.…
IMGP46501
Mikrotik RB2011UiAS-RM
기존에 쓰던 RB751U-2HnD의 CPU가 약간 모자른것 같아서 아마존에서 RB2011UiAS-RM을 주문했다. 랙마운트로 주문한 이유는 기존에 있는 장비들이 랙마운트여서 각잡으려고….*-_-* 참고로 앞부분 전면은 스티커!…
CentOS
CentOS 보안관련만 업데이트하기
CentOS에서 yum으로 update를 하게 되면 커널까지 업그레이드 되는 일이 발생하는데 yum-security를 이용해 CentOS의 버전은 그대로 유지하고 보안관련 패치만 가능하게 할수…
IMGP46101
NETXTREME II 5709C QUAD PORT NIC
ISCSI 멀티패스+HYPER-V 용도로 2EA 구입. 현재 서버에 Intel Pro/VT 쿼드포트를 사용하고 있는데 약간 만족스럽지 않아 교체하기로 결정. 데스크탑과 같이 멀티패스를…