Clean Code that Works.

우옷!!!

아파치를 한번도 써보지 않았는데, 써야할 일이 생겨서 연동 방법에 대해 알아 보았다.

지금 하려는 방법은
로컬 PC에 아파치를 띄워놓고, 이클립스에서 띄워놓은 톰캣하고 연동을 시키는 것이다.

연동 방법 참고(http://theeye.pe.kr/240)

위 설명을 들어가 보면.. 리눅스 기반이긴 하지만, 뭐 거의 비슷하다.
하지만 이것은 이클립스의 톰캣이 아닌 실제 돌아갈 톰캣의 환경 설정을 변경하는 것이다.

그럼 이클립스에서의 톰캣과 아파치를 연동 할려면 어떻게 해야할까.
그냥 아파치 설정파일에서 모듈 한개 더 로드 하면 된다.

위 블로그 설명대로 하면,
[Thu Dec 02 19:33:10 2010] [error] [client 127.0.0.1] attempt to make remote request from mod_rewrite without proxy enabled: proxy:ajp://localhost:8009/
이런 오류가 나온다.

블로그 에서는 아래 두개의 so 파일을 로드 하도록 하게 했는데, 강조한 so 파일 한개를 추가로 해 주어야 한다.
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule proxy_module modules/mod_proxy.so

그런 다음에 가상 호스트 설정 파일을 불러 오게 지정 한 후.
Include conf/extra/httpd-vhosts.conf

아이님 블로그 설정 처럼 설정을 해준다.
<VirtualHost *:80>
    ServerAdmin
your@emailhere
    DocumentRoot "/var/www/html"
    ServerName localhost
    ErrorLog "logs/theeye.pe.kr-error.log"
    CustomLog "logs/theeye.pe.kr-access.log" common

    RewriteEngine On
   
RewriteCond %{REQUEST_FILENAME} .(htm|html|xhtml|css|jpg|gif|png|swf|js$)
    RewriteRule (.*) - [L]
    RewriteRule (.*) ajp://localhost:8009$1 [P]
</VirtualHost>


그 다음으로 ...는 없다.
이클립스의 톰캣 설정(server.xml)에서는 ajp 설정을 디폴트로 해주기 때문에,
포트를 특정 포트로 변경하지 않을 것이라면, 따로 지정해 주지 않아도 잘 연동 된다.

완료 후에 이클립스에서 톰캣 실행 후 아파치 실행하면 연결 할 수 있다.