Fedora11へのTomcat6のインストール

Fedora11へTomcat6をインストールする手順です。

Tomcat6のインストール

Tomcat6を/optディレクトリ配下にインストールします。

(1)Tomcat6のダウンロード

Tomcat6のダウンロードページからTomcat6のtar.gzファイルをダウンロードします。

ダウンロードページ
http://tomcat.apache.org/download-60.cgi
(2)Tomcat6の展開と配置

ダウンロードしたtar.gzファイルを展開し、/optディレクトリに配置します。

# tar xvf apache-tomcat-6.0.20.tar.gz
# mv apache-tomcat-6.0.20 /opt

tomcat6サービスの追加

システム起動時にTomcat6を自動的に起動するため、tomcat6サービスを追加します。

(1)環境変数の設定

後続の手順で使用する環境変数を定義します。

# export JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0
# export CATALINA_HOME=/opt/apache-tomcat-6.0.20

環境変数JAVA_HOMEにはjdkがインストールされているディレクトリを設定します。
環境変数CATALINA_HOMEには今回インストールしたTomcat6のディレクトリを設定します。

(2)JSVCツールのコンパイル

tomcat6をデーモンとして起動するために必要となるJSVCツールをコンパイルします。なお、JSVCツールのソースはTomcatディレクトリ内に含まれています。

# cd $CATALINA_HOME/bin
# tar xvf jsvc.tar.gz
# cd jsvc-src
# ./configure
# make

コンパイルがうまくいくと、同じディレクトリ内にjsvcファイルが作成されます。
jsvcファイルは$CATALINA_HOME/binディレクトリに配置します。

# mv jsvc $CATALINA_HOME/bin
[参考] JSVCツールによるTomcat6の起動と停止

JSVCツールでTomcat6を起動するには、以下のコマンドを実行します。

# $CATALINA_HOME/bin/jsvc \
    -cp $CATALINA_HOME/bin/bootstrap.jar \
    -Dcatalina.home=$CATALINA_HOME \
    -outfile $CATALINA_HOME/logs/catalina.out \
    -errfile $CATALINA_HOME/logs/catalina.err \
    org.apache.catalina.startup.Bootstrap

JSVCツールで起動したTomcat6を停止するには、以下のコマンドを実行します。

# $CATALINA_HOME/bin/jsvc \
    -stop \
    org.apache.catalina.startup.Bootstrap
(3)tomcat6ユーザの作成

useraddコマンドを実行し、Tomcat6の実行用ユーザtomcat6を作成します。

# useradd --home-dir $CATALINA_HOME --shell /bin/nologin tomcat6

--home-dirオプションにより、ホームディレクトリをTomcat6のインストールディレクトリにします。
また、--shellオプションにより、tomcat6ユーザでログインできないようにします。

(4)Tomcat6ディレクトリの所有者の設定

chownコマンドを実行し、Tomcat6のインストールディレクトリの所有者と所有グループをtomcat6に変更します。

# chown -R tomcat6:tomcat6 $CATALINA_HOME
(5)起動スクリプトの作成

Tomcat6の起動スクリプトを作成し、/etc/init.d/tomcat6に保存します。
スクリプトの内容は以下のようになります。

#!/bin/sh
#
# tomcat6        Startup script for the Apache Tomcat Server
#
# chkconfig: - 85 15
# description: The Apache Tomcat Server.

JAVA_HOME=/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0
CATALINA_HOME=/opt/apache-tomcat-6.0.20
TOMCAT_USER=tomcat6

# for multi instances adapt those lines.
TMP_DIR=/var/tmp
PID_FILE=/var/run/jsvc.pid
CATALINA_BASE=/opt/apache-tomcat-6.0.20

CATALINA_OPTS=""
CLASSPATH=\
$JAVA_HOME/lib/tools.jar:\
$CATALINA_HOME/bin/commons-daemon.jar:\
$CATALINA_HOME/bin/bootstrap.jar

function start() {
    $CATALINA_HOME/bin/jsvc \
    -user $TOMCAT_USER \
    -home $JAVA_HOME \
    -Dcatalina.home=$CATALINA_HOME \
    -Dcatalina.base=$CATALINA_BASE \
    -Djava.io.tmpdir=$TMP_DIR \
    -wait 10 \
    -pidfile $PID_FILE \
    -outfile $CATALINA_HOME/logs/catalina.out \
    -errfile '&1' \
    $CATALINA_OPTS \
    -cp $CLASSPATH \
    org.apache.catalina.startup.Bootstrap
    #
    # To get a verbose JVM
    #-verbose \
    # To get a debug of jsvc.
    #-debug \
}

function stop() {
    $CATALINA_HOME/bin/jsvc \
    -stop \
    -pidfile $PID_FILE \
    org.apache.catalina.startup.Bootstrap
}

case "$1" in
  start)
    #
    # Start Tomcat
    #
    start
    exit $?
    ;;

  stop)
    #
    # Stop Tomcat
    #
    stop
    exit $?
    ;;

  restart)
    #
    # Restart Tomcat
    #
    stop
    start
    exit $?
    ;;

  *)
    echo "Usage tomcat6 start/stop/restart"
    exit 1;;
esac
[参考] 起動スクリプトによるTomcatの起動と停止

起動スクリプトは実行するには、/sbin/serviceコマンドを使用します。
Tomcat6を起動するには以下のコマンドを実行します。

# /sbin/service tomcat6 start

Tomcat6を停止するには以下のコマンドを実行します。

# /sbin/service tomcat6 stop

Tomcat6を再起動するには以下のコマンドを実行します。

# /sbin/service tomcat6 restart
(6)サービスの追加

chkconfigコマンドを使用し、tomcat6サービスを追加します。

# chkconfig --add tomcat6
(7)サービスの自動起動の設定

chkconfigコマンドを使用し、システム起動時にtomcat6サービスが自動起動するように設定します。

# chkconfig tomcat6 on