====== 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