I.從源碼安裝Tomcat 5
1.JDK安裝及設定
(1)使用Solaris 9自帶的JDK
代碼:
# java -version
java version "1.4.1_02a"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.1_02a-b01)
Java HotSpot(TM) Client VM (build 1.4.1_02a-b01, mixed mode)
(2)修改/etc/profile,加入JAVA_HOME環境變量
代碼:
JAVA_HOME=/usr/java
export JAVA_HOME
2.安裝Apache Ant
(1)從[ur]http://ant.apache.org/bindownload.cgi[/url]下載ant的二進制包 apache-ant-1.6.1-bin.tar.gz
代碼:
# gunzip < apache-ant-1.6.1-bin.tar.gz | tar xvf -
# mv apache-ant-1.6.1 /usr
# cd /usr
# ln -s apache-ant-1.6.1 ant
(2)修改環境變量
代碼:
ANT_HOME=/usr/ant
export ANT_HOME
PATH=$PATH:$ANT_HOME/bin
export PATH
3.編譯Tomcat
(1)從http://jakarta.apache.org/tomcat/tomcat-5.0-doc/build.xml下載編譯所需的build.xml
建一個目錄用來放下載的Tomcat源代碼,把那個build.xml也放在這,為了方便,稱這個目錄為${tomcat.source}.
運行ant之前,需要知道ant先從Apache的CVS服務器中把Tomcat 5的源碼checkout出來(需要先安裝cvs),并且要下載一些編譯時需要的lib文件,
這些lib文件默認是放在/usr/share/java下。如果/usr/share/java這個目錄不存在,可以先創建,也可以在build.properties
文件中指定(如果需要網絡代理的話,也需要在${tomcat.source}下建一個build.properties文件)。
build.properties的內容如下
代碼:
# ----- Proxy setup -----
# Uncomment if using a proxy server
#proxy.host=proxy.domain
#proxy.port=8080
#proxy.use=on
# ----- Default Base Path for Dependent Packages -----
# Replace this path with the directory path where dependencies binaries
# should be downloaded
base.path=/usr/share/java
(2)運行ant,編譯
代碼:
# cd ${tomcat.source}
# ant
等ant成功運行后,在${tomcat.source}/jakarta-tomcat-5/build目錄下可以找到編譯好的Tomcat
4.啟動Tomcat
(1)添加環境變量
代碼:
CATALINA_HOME=${tomcat.source}/jakarta-tomcat-5/build
export CATALINA_HOME
(2)修改$CATALINA_HOME/conf/tomcat-users.xml,添加一管理用戶
代碼:
<role rolename="admin"/>
<role rolename="manager"/>
<user username="admin" password="password" roles="admin,manager"/>
(3)運行$CATALINA_HOME/bin/startup.sh啟動Tomcat
訪問http://server-ip:8080/manager/status
5.Run Tomcat as a daemon
(1)首先編譯jsvc,需要先安裝gcc、autoconf、automake和m4
代碼:
# cd ${tomcat.source}/jakarta-commons/daemon/src/native/unix
# chmod 744 support/buildconf.sh
# support/buildconf.sh
# ./configure
# make
執行buildconf.sh可能會出現這樣的錯誤
代碼:
autoconf: /usr/local/bi/autom4te: not found
這是因為autom4te腳本找不到perl解釋器。解決辦法是
代碼:
# ln -s /usr/bin/perl /usr/local/bin/perl
make時可能會報
代碼:
make[1]:ar:Command not found
這個需要把/usr/ccs/bin加到PATH環境變量中
編譯成功后,就會在${tomcat.source}/jakarta-commons/daemon/src/native/unix目錄下生成jsvc
(2)在${tomcat.source}/jakarta-commons/daemon/src/native/unix/native下有一個Tomcat5.sh可以用作啟動腳本
代碼:
# cp ${tomcat.source}/jakarta-commons/daemon/src/native/unix/native/Tomcat5.sh /etc/init.d/tomcat
# cd /etc/rc2.d
# ln ../init.d/tomcat S99tomcat
# cd ../rc0.d
# ln ../init.d/tomcat K03tomcat
(3)添加運行tomcat的用戶
代碼:
# groupadd tomcat
# useradd -g tomcat -d ${tomcat.source} tomcat
# chown -R tomcat:tomcat ${tomcat.source}
修改/etc/init.d/tomcat,主要是這幾個變量
代碼:
JAVA_HOME=/usr/java
CATALINA_HOME=${tomcat.source}/jakarta-tomcat-5/build
DAEMON_HOME=${tomcat.source}/jakarta-commons/daemon
TOMCAT_USER=tomcat
用這個腳本啟動和關閉tomcat
代碼:
# /etc/init.d/tomcat start
# /etc/init.d/tomcat stop
(4)重新啟動機器,一切正常的話,tomcat就運行在后臺了
代碼:
# ps -ef|grep tomcat |grep -v grep
tomcat 337 331 0 13:11:55 ? 0:29 /export/home/tomcat5/jakarta-commons/daemon/src/native/unix/jsvc -user tomcat -
root 331 1 0 13:11:55 ? 0:00 /export/home/tomcat5/jakarta-commons/daemon/src/native/unix/jsvc -user tomcat -