2009年12月22日 星期二

lenny + apache2 + mod_jk + tomcat55 設置

先安裝好需要的套件:
sudo aptitude install apache2 libapache2-mod-jk tomcat5.5 tomcat5.5-admin tomcat5.5-webapps

設定 tomcat:
sudo vim /etc/default/tomcat5.5
JAVA_HOME=/usr/lib/jvm/java-6-sun
TOMCAT5_SECURITY=no

若 TOMCAT5_SECURITY=yes
則會啟用 java 的 security manager 並以 /etc/tomcat5.5/catalina.policy 下的規則為依據
避免複雜設定先設定為 no 待有安全問題再進行詳細設定

tomcat webapps 位於 /var/lib/tomcat5.5/webapps/ 將 war 檔放到此目錄下過一會會自動解壓縮

先連線到 http://localhost:8180/webapp/ 看看是否可以正常連線

設定 apache jk module
在 /etc/apache2/mod-available/ 目錄下建立 jk.conf 檔案 內容如下:

JkWorkersFile /etc/apache2/workers.properties
JkLogFile /var/log/apache2/mod_jk.log
JkLogLevel info
JkMount /webapp/* worker1

這檔案是設定 jk 以 /etc/apache2/workers.properties 的設定建立 worker (可以多個)
接著建立 /etc/apache2/workers.properties 內容如下:

# Defining a worker named worker1 and of type ajp13
worker.list=worker1

# Set properties for worker1
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009

這檔案是建立一個 名稱為 worker1 且 type為 ajp13 的 worker
完成之後就可以 enable jk module

sudo a2enmod jk

完成後可以到 /etc/apache2/mod-enable/ 檢查看看有沒有兩個連結

$ ls -la | grep jk
lrwxrwxrwx 1 root root 25 2009-12-22 16:41 jk.conf -> ../mods-available/jk.conf
lrwxrwxrwx 1 root root 25 2009-12-22 16:41 jk.load -> ../mods-available/jk.load

接著要設定 /etc/apache2/sites-available/default 檔案
vim /etc/apache2/sites-available/default
加入:
<VirtualHost *:80>
ServerAdmin webmaster@localhost

DocumentRoot /var/www/
JkMount /webapp/* worker1

</VirtualHost>

最後再重新啟動 apache

sudo /etc/init.d/apache2 restart

這次改以 80 port 連接 webapp

http://localhost/webapp/

順利的話就可以看到和用 8180 port 連接的相同結果

沒有留言: