홈서버로 사용 중이던 베어본께서 사망하는 사건이 발생했는데, 홈서버가 사망하고 나니 air-video/air-comix 등등을 이용할 수가 없어서 답답한 김에 air comix 서버를 NAS에 올려보기로 했다.
다행히 window/mac 용 버젼의 air comix server가 아닌 web version air comix 서버가 나와있어서 작업이 크지는 않을 것 같았는데…
내 NAS의 경우 기본 설치스크립트와 설정 파일 경로 등에 차이가 있었다. 게다가 기본 설치 방식이 크게 맘에 들지 않아서 manual install을 하기로 결정.
참고로 내 Synology NAS의 OS버젼은 DSM 6.x이고, 목표는 기본 패키지로 설치되는 파일 수정 없이 AirComix 서버가 작동하도록 만드는 것.
업데이트에 손이 좀 덜가게 하기 위해 tee 계정의 웹 디렉토리인 /volume1/homes/tee/www에 Aircomix란 디렉토리를 만들고 php 파일들을 copy 했다.
그리고 아래와 같은 aircomix 용 config를 /usr/local/etc/httpd/sites-enabled/httpd-aircomix.conf로 저장해서 webstation이 AirComix server를 위한 설정을 로드할 수 있도록 만들었다. (참고로 31251은 구버전 aircomix용 기본 포트이고, 31257은 새버전인 aircomix용 기본 포트)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
|
Listen 31251 Listen 31251 Listen 31257 <VirtualHost *:31251> DocumentRoot "/volume1/homes/tee/www/Aircomix" AllowEncodedSlashes On AddHandler application/x-httpd-suphp .php .php3 .php4 .php5 .phtml suPHP_Engine on suPHP_AddHandler application/x-httpd-suphp DirectoryIndex index.php </VirtualHost> <VirtualHost *:31257> DocumentRoot "/volume1/homes/tee/www/Aircomix" AllowEncodedSlashes On AddHandler application/x-httpd-suphp .php .php3 .php4 .php5 .phtml suPHP_Engine on suPHP_AddHandler application/x-httpd-suphp DirectoryIndex index.php </VirtualHost> |
이제는 rewrite rule을 처리하기 위해 /volume1/homes/tee/www/Aircomix에 .htaccess 파일을 만들고, 아래와 같이 rule을 정의할 차례!
|
RewriteRule ^welcome.102(.*)$ welcome.php RewriteRule ^comic(.*)$ handler.php |
내 NAS에서는 만화 파일들이 comic/tee, comic/uza라는 공유 폴더에 저장되어 있는데, 얘네들을 httpd에서 접근할 수 있도록 ‘공유 폴더 > 권한 > 로컬 그룹’에서 http에 읽거 전용 플래그를 설정해줬고, 얘네들을 php에서 접근할 수 있도록 /etc/php/conf.d/user-settings.ini의 open_basedir에 /volume1/comic/tee, /volume1/comic/uza을 추가해줬다.
DSM 5.x부터는 mod_auth 등을 사용할 수 없게 되었기 때문에 인증은 php에서 처리해야해서, 어짜피 코드 수정이 필요한 김에 root 디렉토리로 여러개 지정할 수 있도록 수정했고, 설정할 건덕지가 있는 부분은 conf.php로 뽑아버렸다.
link: air-comix server mod 다운받기
customizing은 아래의 conf.php 파일을 통하면 된다.
|
<?PHP $comic_path = array( "comic_tee" => "/volume1/comic/tee" , "comic_uza" => "/volume1/comic/uza", ); $passwd = ""; $welcome_txt = "Welcome to aircomix server"; ?> |
오늘의 삽질 끝!
덧: DSM에서 user 용 httpd 재시작은 아래 커맨드로 (fastcgi라 파일을 수정해도 바로바로 반영안되길래 OTL)
/usr/syno/sbin/synoservicecfg --restart pkgctl-WebStation