« イャンガルルガと私 | メイン | 轟竜ティガレックス »

Tomcat自動起動スクリプト

CentOS4.4で運用するTomcat5のための自動起動スクリプトを作りました。 Tomcat の起動 | 自宅サーバー Fedoraを参考にさせていただき サクっと動くだろうと考えていたら割とめんどうでした。

  • 上記サイトの内容を/etc/init.d/tomcatに保存。
  • JAVA_HOME、TOMCAT_HOME、PATHの設定を追加。
  • chkconfigで登録
    • chkconfig --add tomcat
    • chkconfig tomcat on
  • 再起動。

これだと何度起動してもTomcatの起動部分で止まってしまいます。しかたないので 起動ログをファイルに落としてみたところ、何やら見慣れない文字が含まれていました。

/etc/init.d/tomcat

/bin/su -s /bin/bash - $TOMCAT_USER -c "$TOMCAT_SCRIPT start" >/tmp/tomcat.log 2>&1

/tmp/tomcat.log

Do you want to choose a different one? [n]
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:       /usr/java/jdk1.5.0_11
Your default context is user_u:system_r:unconfined_t. 

"Do you want to choose a different one"と表示されるのは SE Linuxの機能が 働いているのが原因みたいです。解決策は、"su" -> "runuser"に変更すること。って 工工工エエエエエエェェェェェェ(゚Д゚)ェェェェェェエエエエエエ工工工。

最終的にこんな感じになりました。

File Edit Options Buffers Tools Insert Help                                                                                            
# chkconfig: 2345 85 15                                                                                                                
# description: Apache Tomcat Java Servlets and JSP server                                                                              
# processname: tomcat                                                                                                                  
# pidfile: /var/run/tomcat.pid                                                                                                         
# config: /usr/local/tomcat/conf/server.xml                                                                                            

# Source function library.                                                                                                             
. /etc/rc.d/init.d/functions

# Source networking configuration.                                                                                                     
. /etc/sysconfig/network

###### added by src #####                                                                                                              
export JAVA_HOME=/usr/java/jdk1.5.0_11
export PATH=$JAVA_HOME/bin:$PATH
export TOMCAT_HOME=/usr/local/tomcat
export CATALINA_HOME=$TOMCAT_HOME
###### added by src #####                                                                                                              

TOMCAT_SCRIPT=$CATALINA_HOME/bin/catalina.sh
TOMCAT_USER=tomcat

[ -f $TOMCAT_SCRIPT ] || exit 0

# See how we were called.                                                                                                              
case "$1" in
    start)
        # Start daemons.                                                                                                               
        if [ -f /var/lock/subsys/tomcat ] ; then
            echo "Tomcat already started!"
            exit 1
        fi
        echo -n "Starting Tomcat: "        #/bin/su -s /bin/bash - $TOMCAT_USER -c "$TOMCAT_SCRIPT start" >/tmp/tomcat.log 2>&1                                           
        ###### su->runuser by src #####                                                                                                
        /sbin/runuser -s /bin/bash - $TOMCAT_USER -c "$TOMCAT_SCRIPT start"
        RETVAL=$?
        echo
        [ $RETVAL = 0 ] && touch /var/lock/subsys/tomcat
        ;;
    stop)
        # Stop daemons.                                                                                                                
        if [ ! -f /var/lock/subsys/tomcat ] ; then
            echo "Tomcat already stopped!"
            exit 1
        fi
        echo -n "Shutting down Tomcat: "
        $TOMCAT_SCRIPT stop
        RETVAL=$?
        echo
        [ $RETVAL = 0 ] && rm -f /var/lock/subsys/tomcat
        ;;
    status)
        status tomcat
        exit $?
        ;;
    restart)
        $0 stop
        $0 start
        ;;
    *)
        echo "Usage: $TOMCAT_PROG {start|stop|status|restart}"
        exit 1
esac

exit 0

トラックバック

このエントリーのトラックバックURL:
http://www.srcw.net/cgi/mt/mt-tb.cgi/39

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

About

2007年06月25日 17:55に投稿されたエントリーのページです。

ひとつ前の投稿は「イャンガルルガと私」です。

次の投稿は「轟竜ティガレックス」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。