본문 바로가기

개발환경/WAS

apache2 + tomcat7 연동

제목과 같이 구글링을 하여 설치하고 설정했을 때 아래와 같은 에러를 만났다.

ForbiddenYou don't have permission to access / on this server. 

이 문제의 원인을 디렉토리의 퍼미션 문제라고 많은 곳에서 언급하고 있으나 디렉토리 모드가 755로 되어 있으므로 이 문제는 아닌것 같다.
아래 두 사이트로 추정컨데 아마도 proxy_http  모듈이 로드되지 않아서 발생했던 문제인것 같다. 

http://techbug.tistory.com/195 
http://blog.naver.com/PostView.nhn?blogId=zukjimote&logNo=42304917 

그리고 기타 참고할 만한 사이트의 링크를 남긴다.(나중에 내가 참고하기 위해서... ^^)
http://httpd.apache.org/docs/2.2/mod/mod_proxy.html
http://blog.daum.net/donfig/3163746 
http://blog.naver.com/PostView.nhn?blogId=junix&logNo=80130084062 
http://theeye.pe.kr/entry/Apache-integrated-Tomcat-with-ProxyPass-options
http://jo.centis1504.net/?p=102
: 환경

Ubuntu 10.04.3 LTS
apache2 (2.2.14-5ubuntu8.7)
apache-tomcat-7.0.22


: 아파치 설치

$ sudo apt-get install apache2


: 설치된 apache2 버전 확인

$ apache2 -v
Server version: Apache/2.2.14 (Ubuntu)
Server built:   Nov  3 2011 03:31:27


: 연동에 필요한 아파치 모듈

proxy
proxy_ajp
proxy_html
proxy_http

$ sudo apt-get install libapache2-mod-proxy-html
$ sudo a2enmod proxy_ajp
$ sudo a2enmod proxy_html
$ sudo a2enmod proxy_http

Run '/etc/init.d/apache2 restart' to activate new configuration!

$ ll /etc/apache2/mods-enabled/ | grep proxy
proxy.conf -> ../mods-available/proxy.conf
proxy.load -> ../mods-available/proxy.load
proxy_ajp.load -> ../mods-available/proxy_ajp.load
proxy_html.conf -> ../mods-available/proxy_html.conf
proxy_html.load -> ../mods-available/proxy_html.load
proxy_http.load -> ../mods-available/proxy_http.load


: virtual host 설정

$ sudo vi default
 
<VirtualHost *:80>
        ServerAdmin webmaster@localhost
        ServerName cardbook.com
        ServerAlias cardbook.com *.cardbook.com

        ProxyRequests Off
        ProxyPreserveHost On
        <Proxy *>
                Order deny,allow
                Allow from all
        </Proxy>
        ProxyPass / http://localhost:8080/
        ProxyPassReverse / http://localhost:8080/

        ErrorLog /var/log/apache2/error.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog /var/log/apache2/access.log combined

</VirtualHost>

$ sudo /etc/init.d/apache2 restart  


끝.