Solaris10でのTomcat5.5の自動起動
LinuxやFedraCoreで動作していた起動スクリプトで、Solaris10ではTomcatが起動してすぐに死んでしまう、という現象が起こっていました。
結論から言うと、デーモンとしての起動は、jsvcというツールを使う。
これは、Tomcatのバイナリにソースが含まれており、コンパイルして使います。
jsvcを使った起動スクリプトのテンプレートも、Tomcatのバイナリに含まれています。
詳しくは、このドキュメントを。
ただ、Solaris10で実行するときには、少し変更が必要です。
以下、概略です。
Tomcatのバイナリを展開したディレクトリを、/opt/tomcat とします。
rootで、
#cd /opt/tomcat/bin
#gtar xvzf jsvc.tar.gz
#cd jsvc-src
#chmod +x configure
#./configure
configureの前に、GNU Autoconfをインストールして、autoconfコマンドを実行するような記述もありますが、少なくとも、Tomcat5.5.25では、これは不要です。
#gmake
makeとの記述がありますが、GNU makeでないとエラーとなりますので、Solaris10では、gmakeになります。
#cp jsvc ..
これで、jsvcが、/opt/tomcat/bin に配置されます。
次に、起動スクリプトのテンプレートは、/opt/tomcat/bin/jvc-src/native/Tomcat5.sh です。
これを、/etc/init.d にコピーし、実行権限を与え、グループを、sys に変更して編集します。
JAVA_HOME=/usr/jdk/latest
CATALINA_HOME=/opt/tomcat
DAEMON_HOME=/opt/tomcat/bin
TOMCAT_USER=nobody
TOMCAT_USERは、httpd.confのUserに合わせました。
これに伴って、/opt/tomcat の、conf、logs、temp、workのディレクトリ下をすべて、オーナー、nobody、グループ、nobodyに変更します。
Tomcat5.shの編集に戻って、
CATALINA_OPTS=
で、問題ないようです。
後は、スタートとストップの
$DAEMON_HOME/jsvc \
の変更だけです。
このシンボリックリンクを、例えば、/etc/rc3.d/S50tomcat と、/etc/rc0.d/K50tomcat というシンボリックリンクを作ります。
以上で完了です。
やっとWANの外から、jsp-examples の参照を確認することができました。写真は、そのときのノートの画面です。


コメントする