====== Install Tomcat6 on Debian(squeeze) with virtual hosts and Apache2 integration ======
===== debian package install =====
- sun-java install
apt-get install sun-java6-bin sun-java6-jdk sun-java6-jre
- tomcat6 package install
apt-get install libtomcat6-java tomcat6 tomcat6-admin \
tomcat6-common tomcat6-docs tomcat6-examples tomcat6-user
- apache2 package install
apt-get install apache2 apache2-mpm-prefork apache2-utils apache2.2-bin \
apache2.2-common libapache2-mod-jk libapache2-mod-php5
===== 설치/설정 경로 =====
==== ====
^ JDK 1.6 설치경로 (JAVA_HOME) | /usr/lib/jvm/java-6-sun |
^ TOMCAT 구동 Script | /etc/init.d/tomcat6 |
^ TCOMAT 설치경로 (TCOMAT_HOME) | /var/lib/tomcat6 |
^ TOMCAT Server 설정파일 | /etc/tomcat6/server.xml |
^ TOMCAT Manager 설정파일 | /etc/tomcat6/tomcat-users.xml |
^ Context 설정파일 | /[SERVICE DIRECTORY]/META-INF |
^ APACHE 구동 Script | /etc/init.d/apache2 |
^ APACHE mod_jk 모듈설정 | /etc/apache2/mod-enabled/jk.load |
^ APACHE workers 파일위치정보 | /etc/apache2/mod-enabled/jk.conf |
^ APACHE TOMCAT SERVER(workers) 설정정보파일 | /etc/libapache2-mod-jk/workers.properties |
^ APACHE Virtual HOST 설정 디렉토리 | /etc/apache2/sites-enabled/ |
===== tomcat virtual hosting =====
- virtual host 란 하나의 여러개의 웹사이트를 운영하는 것이다.
- tomcat virtual host 설정은 Host 에서 처리할 수 있다.
- tomcat 에서는 server.xml 에서 virtual host 설정을 할 수 있다.
- server.xml 을 살펴보면, Server 아래 Service가 있고, Service 아래 Engine , Engine 아래 Host 설정이 있다.
Server > Service > Engine > Host
- virtual host 는 크게 두가지 방법으로 설정할 수 있다.
- 도메인(Domain,URL)로 분류
- (예) starlits.adminschool.net , mrkayhyun.adminschool.net , bearcho.adminschool.net , beans.adminschool.net
- Host 추가로 설정할 수 있다. \\ server.xml 에서 Host 영역을 복사하여 수정하면 된다.
- 포트(Port)로 분류 : (예)
- (예) starlits.adminschool.net:8080 , starlits.adminschool.net:8090 , starlits.adminschool.net:9090
- Service 추가로 설정할 수 있다. \\ server.xml에서 Service 영역을 복사하여 수정하면 된다.
==== 도메인(Domain) Virtual Host 설정 ====
- server.xml 파일에서 아래에 다음 내용을 추가한다. \\ starlits.adminschool.net 이라는 도메인을 추가하는 방법이다.
...
- tomcat 을 재시작한다. # /etc/init.d/tomcat6 restart
==== 포트(Port) Virtual Host 설정 ====
===== Apache2 mod_jk 설정 =====
- Apache2에서 tomcat 을 연결하려면, mod_jk 모듈이 필요하다.
- **workers.properties** , **jk.conf** , virtualhost_apache2.conf 설정이 필요하다.
==== workers.properties ====
- /etc/libapache2-mod-jk/workers.properties 설정파일
workers.tomcat_home=/usr/share/tomcat6
workers.java_home=/usr/lib/jvm/default-java
ps=/
worker.list=ajp13_worker
worker.ajp13_worker.port=8009
worker.ajp13_worker.host=localhost
worker.ajp13_worker.type=ajp13
worker.ajp13_worker.lbfactor=1
worker.loadbalancer.type=lb
worker.loadbalancer.balance_workers=ajp13_worker
==== jk.conf ====
- /etc/apache2/sites-enabled/jk.conf 설정파일
JkWorkersFile /etc/libapache2-mod-jk/workers.properties
JkLogFile /var/log/apache2/mod_jk.log
JkLogLevel info
JkMount /*.jsp ajp13_worker
JkMount /*/servlet/ ajp13_worker
==== /etc/apache2/sites-enabled/ ====
- /etc/apache2/sites-available/adminschool.net 이라는 파일을 만든다. \\ **JkMount /*.jsp ajp13_worker** 설정을 추가해 준다.
JkMount /*.jsp ajp13_worker
ServerName starlits.adminschool.net
DocumentRoot /home/starlits/html/
ServerAdmin starlits@adminshcool.net
ErrorLog /var/log/apache2/wolf.adminschool.net-error.log
CustomLog /var/log/apache2/wolf.adminschool.net-access.log combined env=!dontlog
- /etc/apache2/sites-enabled/001-adminschool.net 이라는 링크를 만든다.
# cd /etc/apache2/sites-enabled/
# ln -s ../sites-available/adminschool.net 001-adminschool.net
- APACHE를 재시작한다. # /etc/init.d/apache2 restart