2014年1月2日木曜日

Tomcatをインストールする

ApacheもJava(JRE)もインストールできたということで、Tomcatをインストールしてみたいと思います。

まず、rootでTomcatを動かすとセキュリティ的にまずいので、Tomcat実行専用ユーザーを作ります。
ログインシェルに/sbin/nologinを指定して通常利用はできないようにしておきます。
# useradd -s /sbin/nologin tomcat

そしていつも通り、Tomcat公式ページから最新版のTomcatのダウンロードURLをゲットしてwgetでダウンロードし、解凍します。
# wget http://ftp.tsukuba.wide.ad.jp/software/apache/tomcat/tomcat-7/v7.0.47/bin/apache-tomcat-7.0.47.tar.gz
# tar zxvf apache-tomcat-7.0.47.tar.gz

解凍したTomcatを、アプリ用ディレクトリへ名前を変えて移動します。
# mv apache-tomcat-7.0.47 /usr/local/tomcat-7.0.47

次に、TomcatのWeb管理コンソールにアクセスする為のユーザーを作成する(CentOSには関係の無い、Tomcat用のユーザー)。
# vi /usr/local/tomcat-7.0.47/conf/tomcat-users.xml


※usernameとpasswordを、任意の物に変更する

最後に、Tomcat自動起動スクリプトを設置し、OS起動時にTomcatも自動起動するようにする。
# vi /etc/init.d/tomcat

#!/bin/bash
#
# Startup script for the Tomcat Servlet Container
#
# chkconfig: 2345 35 65
# description: Tomcat is the servlet container that is used in the official \
#              Reference Implementation for the Java Servlet and JavaServer \
#              Pages technologies

TOMCAT_USER=tomcat
CATALINA_HOME=/usr/local/tomcat-7.0.47

. /etc/rc.d/init.d/functions
prog=tomcat

start() {
    echo -n $"Starting $prog: "
    daemon --user $TOMCAT_USER $CATALINA_HOME/bin/startup.sh > /dev/null
    RETVAL=$?
    if [ $RETVAL -eq 0 ]; then
        echo_success
    else
        echo_failure
    fi
    echo
    [ $RETVAL = 0 ] && touch /var/lock/subsys/$prog
    return $RETVAL
}
stop() {
    echo -n $"Stopping $prog: "
    daemon --user $TOMCAT_USER $CATALINA_HOME/bin/shutdown.sh > /dev/null
    RETVAL=$?
    if [ $RETVAL -eq 0 ]; then
        echo_success
    else
        echo_failure
    fi
    echo
    [ $RETVAL = 0 ] && rm -f /var/lock/subsys/$prog
    return $RETVAL
}

# See how we were called.
case "$1" in
  start)
    start
    ;;
  stop)
    stop
    ;;
  restart)
    stop
    start
    ;;
  status)
    INSTANCES=`ps --columns 512 -aef|grep java|grep tomcat|grep org.apache.catalina.startup.Bootstrap|wc -l`
    if [ $INSTANCES -eq 0 ]; then
        echo $prog is stopped
        RETVAL=3
    else
        if [ $INSTANCES -eq 1 ]; then
            echo $prog is running 1 instance...
        else
            echo $prog is running $INSTANCES instances...
        fi
        RETVAL=0
    fi
    ;;
  *)
    echo $"Usage: $prog {start|stop|restart|status|help}"
    exit 1
esac

exit $RETVAL

設置したTomcat自動起動スクリプトに実行権限を与えます。
# chmod +x  /etc/init.d/tomcat

あとは自動起動の設定!
# /sbin/chkconfig --add tomcat
http://IPアドレス:8080にアクセスしてTomcatトップページが表示されるか確認するのみ。

0 件のコメント:

コメントを投稿