CentOS5にJava SDK5.0u22+Tomcat5+Apache2をインストール

基本は、ここのサイトを参考に行いました。

1.JDKのインストール

以下のURLから「jdk-1_5_0_22-linux-i586-rpm.bin」をダウンロードhttp://java.sun.com/javase/downloads/5u22/jdk

JDKをインストール
#./jdk-1_5_0_22-linux-i586-rpm.bin
環境変数の設定

/etc/profileの最下行に以下の行を追加

export JAVA_HOME=/usr/java/jdk1.5.0_22
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar

以下のコマンドで環境変数を反映させます

source /etc/profile
インストールされたか確認します
# java -version
java version "1.5.0_22"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_22-b03)
Java HotSpot(TM) Client VM (build 1.5.0_22-b03, mixed mode, sharing)

2.Tomcatのインストール

Tomcat5.5.31をダウンロード
wget http://ftp.kddilabs.jp/infosystems/apache/tomcat/tomcat-5/v5.5.31/bin/apache-tomcat-5.5.31.tar.gz
解凍します
tar zxvf apache-tomcat-5.5.31.tar.gz

移動します

>|bash|

mv apache-tomcat-5.5.31/ /usr/local/tomcat
|

環境変数の設定

/etc/profileの最下行に以下の行を追加

export TOMCAT_HOME=/usr/local/tomcat
export CATALINA_HOME=/usr/local/tomcat
export CLASSPATH=$CLASSPATH:$CATALINA_HOME/common/lib

以下のコマンドで環境変数を反映させます

source /etc/profile
Tomcat起動スクリプト作成

以下の内容で、/etc/rc.d/init.d/tomcatを作成します。

#!/bin/bash
#
# Startup script for the tomcat
#
# chkconfig: 345 80 15
# description: Tomcat is a Servlet+JSP Engine.

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

start(){
    if [ -z $(/sbin/pidof java) ]; then
        echo "Starting tomcat"
        $CATALINA_HOME/bin/startup.sh
        touch /var/lock/subsys/tomcat
    else
        echo "tomcat allready running"
    fi
}

stop(){
    if [ ! -z $(/sbin/pidof java) ]; then
        echo "Shutting down tomcat"
        $CATALINA_HOME/bin/shutdown.sh
        until [ -z $(/sbin/pidof java) ]; do :; done
        rm -f /var/lock/subsys/tomcat
    else
        echo "tomcat not running"
    fi
}

case "$1" in
    start)
        start
        ;;
    stop)
        stop
        ;;
    restart)
        stop
        start
        ;;
    status)
        $CATALINA_HOME/bin/catalina.sh version
        ;;
    *)
        echo "Usage: $0 {start|stop|restart|status}"
esac

exit 0

スクリプトに実行権限を付与します

chmod +x /etc/rc.d/init.d/tomcat
確認

Tomcatを起動します

/etc/rc.d/init.d/tomcat start

http://hoge:8080をブラウザで開き、Servlet Examplesが正常に動作することを確認します。

自動起動の設定
#chkconfig --add tomcat
#chkconfig tomcat on

3.ApacheTomcatを連携するためのコネクタであるJKのインストール

準備のためhttp-develをインストール
yum -y install httpd-devel
tomcat-connectors 1.2.31をダウンロード
wget http://www.meisei-u.ac.jp/mirror/apache/dist/tomcat/tomcat-connectors/jk/source/tomcat-connectors-1.2.31-src.tar.gz
tomcat-connectors 1.2.31のインストール
#tar zxvf tomcat-connectors-1.2.31-src.tar.gz
#cd tomcat-connectors-1.2.31-src/native/
#./configure --with-apxs=/usr/sbin/apxs && make && make install
#cp ../conf/workers.properties /etc/httpd/conf/
#cd
Apacheの設定

/etc/httpd/conf.d/jk.confに以下の内容を記述します。

LoadModule jk_module modules/mod_jk.so
JkWorkersFile /etc/httpd/conf/workers.properties
JkMount /servlets-examples/* ajp13
JkMount /jsp-examples/* ajp13

Apacheを起動し、起動できるか確認します。

#/etc/rc.d/init.d/httpd restart
確認すると500 Internal Errorが。。。

/var/log/httpd/mod_jk.logを見ると以下のエラーが記録されていました。

[error] uri_worker_map_ext::jk_uri_worker_map.c (506): Could not find worker with name 'ajp13' in uri map post processing.

ajp13を見つける事が出来ていないようでしたので、
/etc/httpd/conf/workers.propertiesを以下のように修正しました。

worker.list=jk-status
      ↓
worker.list=jk-status,ajp13

すると正常に確認できました。