12 5月 2008

Ubuntu apache 及 tomcat簡易安裝

因為有人想裝,就把之前筆記拿出來,再依Ubuntu8.04小改一下 0)準備工作--jdk 沒有JDK當然就直接收工吃便當囉,還不會裝的麻煩直接執行一下
sudo apt-get install sun-java6-jdk sun-java6-plugin sun-java6-fonts;
sudo update-java-alternatives -s java-6-sun;
再設定一下JAVA_HOME,很多人會把export JAVA_HOME=XXXX的設定加在~/.profile或~/.bashrc中,但是我個人比較習慣加在/etc/environment, 因為在environment中不用加export...正常安裝的話請加
JAVA_HOME=/usr/lib/jvm/java-6-sun
PATH就不用說了吧... 1)安裝Apache 最簡單當然是用Ubuntu內定的版本
sudo apt-get install apache2
請注意以下錄及檔案,將來要修改時比較容易
/etc/apache2/  #--apache2.conf, httpd.conf
/usr/lib/apache2/modules #--*.so

/etc/init.d/apache2
/usr/sbin/apachectl 
/usr/bin/htpasswd

/var/www/ #--webroot
其中/etc/init.d/apache2與/usr/sbin/apachectl 作用是相同的, 只是在/etc/init.d會自動執行 而有任何要改動的設定, 請加在/etc/apache2/httpd.conf中 請以/etc/init.d/apache2 start/stop/restart來控制 2)安裝tomcat6 由於ubuntu內綁的版本只有tomcat5.5, 所以一定要到Tomcat官網下載新的版本, 也可以用wget來抓
wget http://apache.stu.edu.tw/tomcat/tomcat-6/v6.0.16/bin/apache-tomcat-6.0.16.tar.gz
tar xvzf apache-tomcat-6.0.16.tar.gz
然後再搬到你呷意的位置就好, 我是習慣將跟java有關的集中管理, 畢竟我是Java Engineer, 而不是一個System Engineer, 所以就全部放到/java下, 目錄中也會多個版本標記, 所以會放到/java/tomcat6 請愛用.tar.gz的版本, 如果下載.zip也ok, 但是請記得要將${tomcat}/bin的.sh加上可執行的屬性
chmod 755 /java/tomcat6/bin/*.sh
如果不想每次進系統還需要手動啟動tomcat可以在/etc/init.d/加個tomcat來用
sudo vim /etc/init.d/tomcat
# Tomcat auto-start
#
# description: Auto-starts tomcat
# processname: tomcat
# pidfile: /var/run/tomcat.pid

export JAVA_HOME=/usr/lib/jvm/java-6-sun

case $1 in
start)
        sh /java/tomcat6/bin/startup.sh
        ;;
stop)  
        sh /java/tomcat6/bin/shutdown.sh
        ;;
restart)
        sh /java/tomcat6/bin/shutdown.sh
        sh /java/tomcat6/bin/startup.sh
        ;;
esac   
exit 0
別忘了要改權限
sudo chmod 755 /etc/init.d/tomcat
再加上
sudo ln -s /etc/init.d/tomcat /etc/rc1.d/K99tomcat;
sudo ln -s /etc/init.d/tomcat /etc/rc2.d/S99tomcat;
這樣就可以透過 /etc/init.d/tomcat start/stop/restart來控制了 3)mod_jk的安裝 經過1,2步驟後,apache跟tomcat應該都可以正常執行了,只是兩造互不認識,所以要把他們連在一起還要個mod_jk. 最簡單的方法也是用Ubuntu綁定版本
sudo apt-get install libapache2-mod-jk
請注意以下錄及檔案,將來要修改時比較清楚要改哪
/usr/lib/apache2/modules/mod_jk.so #--link module
/usr/share/doc/libapache2-mod-jk/httpd_example_apache2.con #-- sample config
/etc/libapache2-mod-jk/worker.properties 
/usr/lib/apache2/modules/mod_jk.so就是讓負責apache將request交給tomcat處理的module. 如果想手動更新, 可以到http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/下載合適版本. 然後將/usr/share/doc/libapache2-mod-jk/httpd_example_apache2.con內容直接copy到/etc/apache2/httpd.conf,基本上除了JkMount要改的外,應該沒什麼要更動的 /etc/libapache2-mod-jk/worker.properties就是mod_jk的設定檔, 注意workers.tomcat_home跟workers.java_home要改到你系統使用的目錄,其他也不需要更動 都完成後就restart tomcat跟apache2, 將任意jsp丟到/var/www/下看看, 應該用http://localhost/xxx.jsp就可以顯示結果 至於apache的設定我實在不是很善長, 通常設定一個VirtualHost就ok了, 但是我實在沒有把握, 因為這些工作通常是交給System Engineer來處理... 4)補完 想想還是加個驗証用的設定 先確定在httpd.conf中有加掛了這兩樣
JkMount /*.jsp ajp13_worker
JkMount /*/servlet/* ajp13_worker
然後將Tomcat內建的examples拿來當驗証用的例子, 在httpd.conf的最後加上
Alias /examples "/java/tomcat6/webapps/examples"
<Directory "/java/tomcat6/webapps/examples">
    Options Indexes FollowSymLinks
    AllowOverride None
    Order allow,deny
    allow from all
</Directory>
重起apache2後用http://localhost/examples看看就知道是不是整合成功了

1 則留言:

生蛋 提到...

你好
參考你的文章
架設起來
並且寫了一篇新的教學
跟你說一下
謝謝^^