Tomcat自動起動させるための設定

jsvc ツールを使用することで tomcat をデーモンとして起動させることができます。jsvc は、install_dir/bin にソースファイルとして入っているので、それをコンパイルしてバイナリファイルを作成し、install_dir/bin にコピーします。このバイナリファイル作成には GNU Autoconf が必要なのであらかじめシステムにインストールしておきます。

以下、一部ログがないのでコマンドだけです。

# pwd

/usr/local/tomcat5

# cd bin
# ls

LauncherBootstrap.class setclasspath.sh
bootstrap.jar shutdown-using-launcher.bat
catalina.bat shutdown-using-launcher.sh
catalina.sh shutdown.bat
catalina.xml shutdown.sh
commons-daemon.jar startup-using-launcher.bat
commons-launcher.jar startup-using-launcher.sh
commons-logging-api.jar startup.bat
cpappend.bat startup.sh
digest.bat tomcat5.exe
digest.sh tomcat5w.exe
jmx.jar tool-wrapper-using-launcher.bat
jsvc.tar.gz tool-wrapper-using-launcher.sh
launcher.properties tool-wrapper.bat
service.bat tool-wrapper.sh
setclasspath.bat

# gunzip jsvc.tar.gz
# tar -xvf jsvc.tar

...

# cd jsvc-src
# autoconf
# ./configure
# make
# cp jsvc ..


この後、自動起動するために install_dir/bin/jsvc-src/native/Tomcat5.sh を /etc/init.d にコピーし 以下のように編集しました。

# cp /usr/local/tomcat5/bin/jsvc-src/native

Tomcat5.sh
# Adapt the following lines to your configuration
JAVA_HOME=/usr/java
CATALINA_HOME=/usr/local/tomcat5
DAEMON_HOME=/usr/local/tomcat5
TOMCAT_USER=root
TMP_DIR=/var/tmp
CATALINA_OPTS=
CLASSPATH=\
$JAVA_HOME/lib/tools.jar:\
$CATALINA_HOME/bin/commons-daemon.jar:\
$CATALINA_HOME/bin/bootstrap.jar

case "$1" in
start)
#
# Start Tomcat
#
#$DAEMON_HOME/src/native/unix/jsvc \
$DAEMON_HOME/bin/jsvc \
-user $TOMCAT_USER \
-home $JAVA_HOME \
-Dcatalina.home=$CATALINA_HOME \
-Djava.io.tmpdir=$TMP_DIR \
-outfile $CATALINA_HOME/logs/catalina.out \




この Tomcat5.sh のグループを sys に変えて、/etc/rc2.dと /etc/rc0.d にリンクをつくりました。

# cd /etc/init.d
# chgrp sys Tomcat5.sh
# ln Tomcat5.sh /etc/rc2.d/S101Tomcat
# ln Tomcat5.sh /etc/rc0.d/K101Tomcat