Notice
Recent Posts
Recent Comments
Dharma
[Ubuntu] 우분투 리눅스 (11.10) 에서 아파치(Apache2) - 톰캣(Tomcat7) 연동 따라하기 본문
아파치 와 톰캣7.0(Tomcat 7.0) 을 연동시키는 방법에 관한 글입니다. 많은 분들이 당연히 연동 시켜야 한다고
생각할지 모르지만 톰캣 자체에 웹서버가 포함되어 있기 때문에 꼭 해줄 필요는 없습니다.
그렇다면 왜 해주는 것인가? 하는 의문이 들 수 있습니다. 톰켓 자체는 서블릿과 JSP 해석에 일을 집중시키고 아파치 자체는 html 과 그외 나머지 리소스를 처리하게 해주는 식으로 분산 시켜주는 효과가 있습니다. 고작 저 따위 이유로 많은 분들이 설정하느라고 고생한다고 합니다.
그래서 손쉽게 따라하기로 연동시켜보기로 합니다.
1. 아파치 설치하기
$ sudo apt-get install apache2
2. 톰캣 설치하기
$ sudo apt-get install tomcat7 tomcat7-docs tomcat7-admin tomcat7-examples
설치해두면 언젠가는 쓸모가 있으니 한꺼번에 설치해줍니다.
3. 제대로 설치됐는지 확인해보기
http://localhost 와 http://localhost:8080
으로 페이지가 제대로 뜨는지 확인해 줍니다. 만약 페이지가 제대로 뜬다면 apache2 와 tomcat7 은 제대로 설치된 것입니다.
4. 톰캣 과 아파치를 연결시켜주는 커넥터(Connector) 설치하기
$ sudo apt-get install libapache2-mod-jk
5. 커넥터 설정
$ sudo emacs /etc/libapache2-mod-jk/workers.properties
로 열어서 안의 내용을 보면
workers.tomcat_home=/usr/share/tomcat6
이것을 실제로 톰캣이 깔려 있는 곳으로 바꾸어 줍니다. tomcat7 에는
workers.tomcat_home=/var/lib/tomcat7
로 바꼈습니다. 그리고 worker.list=ajp13_worker 이 항목을 기억하셔야 합니다.
6. 톰캣 에서 커넥터와 연결시키기
$ sudo emacs /var/lib/tomcat7/conf/server.xml
에서
<!-- Define an AJP 1.3 Connector on port 8009 -->
<!--
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
-->
로 되어 있는 부분에서 주석을 제거해서
<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
로 변경합니다. 이것은 포트 8009 로 날라오는 프로토콜(protocol)이 AJP/1.3 인 것은 8443 포트로 넘기라는 것입니다. 8443은 톰캣 서버가 처리를 하는 포트라고 보시면 됩니다.
7. 아파치 에서 톰캣 연결시키기
$ sudo emacs /etc/apache2/sites-available/default
이 부분에 대한 언급이 없어서 제일 어려웠던 부분입니다. 위의 파일을 열어서
DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
인 부분을 찾아서
DocumentRoot /var/lib/tomcat7/webapps/ROOT
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/lib/tomcat7/webapps/ROOT/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
JKMount /*.jsp ajp13_worker
로 바꾸어 줍니다. 즉 /var/www 을 /var/lib/tomcat7/webapps/ROOT 로 바꾸어 주는 것입니다. 그리고 아래쪽에
JKMount /*.jsp ajp13_worker
JKMount /*.jsp ajp13_worker
를 추가해줍니다. 부연 설명을 하자면 아파치(apache)가 바라보고 있는 DocumentRoot 와 톰캣이 바라보고 있는 webapps/ROOT 를 같은 곳을 바라보게 해주는 것입니다. 그리고 맨 아래에 추가해 준것은 jsp 로 끝나는 파일은 ajp13_worker 를 통하라는 뜻인데 ajp13_worker 를 통해서 톰캣으로 전송하는 것입니다.
8. 테스트페이지를 만들어 봅니다.
$ sudo emacs /var/lib/tomcat7/webapps/ROOT/hello.jsp
내용은
<HTML>
<BODY>
Hello! The time is now <%= new java.util.Date() %>
</BODY>
</HTML>
로 채우고 저장합니다.
9. 톰캣과 아파치 재시작 (Restart)
$ sudo /etc/init.d/tomcat7 restart
$ sudo /etc/init.d/apache2 restart
10. 브라우저에서
http://localhost 와 http://localhost/hello.jsp 로 테스트 해봅니다.