본문 바로가기

온갖 잡 정보들

QNAP에 apahce의 mod_rewrite 설정하기

NAS서버(QNAP TS-212)를 무사히 구축 후 웹 서버를 가동시켜 보았다. 심심풀이로 php 페이지 몇 개를 띄어보았는데 잘 되는 것이다. 그러다보니 php로 제대로 홈피를 만들어보아야겠다는 생각이 들었고, 그러자니 php를 제대로 공부해보아야겠다는 생각이 들었다.

 

요즘의 php는 많이 발전해서 자바의 스트러츠나 스프링처럼 프레임웍이 분명 있을 것이라 생각했다. 그래서 찾아보니 몇 가지가 있는데 그 중 가장 최근에 나왔고 가볍고 빠른 프레임웍을 찾을 수 있었는데 그 이름은 CodeIgniter라는 프레임웍이었다.

 

이 프레임웍을 설치하는 것은 쉬웠다.

그런데 첫 설정부터 막히기 시작했다.


URL을 변환하는 기능을 작동시키려니 서버의 apache설정을 바꿔줘야 했다.
(참조 : http://www.cikorea.net/lecture/view/213/page/1)

 

MainQuest : apahce 서버의 설정파일인 httpd.conf 파일을 찾아서 설정을 바꿔라!
SubQuest : mod_rewrite를 활성화하고 AllowOverride 옵션을 All로 바꿔라!

 

일반적인 서버에 설치된 apache 설정이라면 뭐 일도 아니겠지만 NAS는 아직 초보라서 뭘 해야 할지 막막했다.
한국어로 된 가이드는 구하기 어려웠다. 대부분의 방법은 영어 사이트에서 찾아냈다.

 

우선 서버에 접근부터 해야만 했다. 여태까지는 저장소에만 접근했었지만 이것은 서버 설정을 바꾸는 것이라 OS쪽으로 접근해야했다.
접근하는 방법은 두 가지가 있었다. 텔넷과 SSH이다.QNAP서버 관리 사이트에서 우선 텔넷/SSH 서비스를 활성화시켜야 한다. 파일도 하나 업로드해야되기 때문에 SFTP까지 활성화시켰다.

 

 

 

설정을 마쳤으면 PuTTY를 이용해서 접속한다.
그리고 httpd.conf 파일을 찾았다. 어디어디 숨었나? 열심히 찾아보았다.
find -name httpd.conf 명령으로 찾아보니 다음 경로에 숨어있었다.

 

 

화면이 작아 잘 보이지 않아서 써 보자면(QNAP TS-212 펌웨어 3.6.1)
httpd.conf 파일의 위치 : /usr/local/apache/conf/original/
이고 잠시 후에 업로드할 파일의 위치는 다음과 같다.
모듈 폴더의 위치 : /usr/local/apache/modules/

 

이 httpd.conf의 위치와 모듈 폴더의 위치가 일반적으로 검색해서 나오는 위치와 다르다. 구글링해서 보니까 이 위치가 달라서 여러 사람들이 고생을 많이 한 것을 알 수 있었다.

이렇게 httpd.conf를 찾아서 설정을 바꾸라는 대로 바꿔주는데 성공했다.
일반적으로 apahce서버를 설치할 때 mod_rewrite가 기복적으로 있고 주석으로만 막혀있는 듯 했으나 나의 QNAP서버는 그렇지 않았다. 아예 이 파일조차 없었다.

 

아래 파일을 다운받아 압축을 풀면 mod_rewrite.so 파일이 나오는데 그 파일을 위의 경로에 업로드하면 된다.

 

mod_rewrite.zip

 

다행이도 이 파일은 forum.qnap.com에서 찾을 수 있었다. 이 파일을 이제 나의 서버로 올려야 한다. 업로드하는 프로그램은 알FTP를 이용하였다.
일반적으로 FTP포트는 21번 포트인데 이 경우에는 그냥 22번 포트를 써야 할 것 같았다. 그냥 느낌이 그랬다.
그래서 22번 포트로 접속을 하니 제대로 접속이 되었다. 만약 여기서 21번 포트로 접속한다면 저장소쪽으로 접속될 것이다.

 

위에서 언급한 모듈폴더로 이동한 후 파일을 업로드하였다. 무사히 잘 되었다.

그리고 서버를 재시작하였다. 뭐 원래 아파치만 재시작하면 된다고 하는데 나는 그냥 서버 전체를 재시작하였다.

 

그리고 다시 내가 만든 php사이트를 열어보니 정상적으로 열린다! 성공한 것이다!

그러나 CodeIgniter를 적용한 사이트는 열리지 않는다. 뭐가 문제일까?

 

이것 저것 해보다가 CodeIgniter의 모든 파일의 권한을 755로 설정해주었다.

그랬더니 이제야 모든 사이트가 잘 된다.