■Tomcat6のインストール(Fedora8) →その2へ続く。
※この内容はレノボ・ジャパンThinkPad R61e(2007年冬モデル) にFedora8をインストールした環境で動作を確認しています。------------------------------
1. Tomcatのアーカイブの入手
Java環境については「Javaの環境構築」をみてください。 本家HPからTomcatのアーカイブをダウンロード。
私はFedoraのコンソールからDLしました。
wget http://www.meisei-u.ac.jp/mirror/apache/dist/tomcat/tomcat-6/v6.0.14/bin/apache-tomcat-6.0.16.tar.gz
2. Apache Commons DaemonTomcatのデーモン化
プロセスの管理を容易にするために、Daemonコンポーネントを利用して、Tomcatをデーモン(自動プロセス)化する。
Commons-DaemonプロジェクトのファイルはインストールしたTomcatの配下にある「/bin」ディレクトリ内に「jsvc.tar.gz」として格納されています。
ファイルを解凍すると、「jsvc-src」というディレクトリが作成されます。その「jsvc-src」のディレクトリへ移動します。
#cd jsvc-src
ディレクトリを移動したらautoconfを利用してconfigureスクリプトを作成します。
#autoconf
configureスクリプトを作成したら、configureスクリプトを実行
#sh configure
configureが完了したら、ビルド。
#make
ビルド後には「jsvc」というファイルが作成される。作成されたjsvcの所有権をtomcatへと変更し、tomcatのインストールされているディレクトリ以下のbinディレクトリへと移動します。
#chown tomcat. jsvc #mv -f jsvc /opt/tomcat6/bin
後は、ビルドに利用したディレクトリとファイルを削除して、ビルドは完了です。
#rm -rf /tmp/jsvc-src/ /tmp/jsvc.tar.gz
これで、Tomcatをデーモン化して動作します!
3. 自動起動させるためのスクリプトを作成
Viエディタを用いて「/etc/rc.d/init.d/」以下にjsvcという名前の起動スクリプトを作成。
#vi /etc/rc.d/init.d/jsvc
スクリプトの中身は以下のとおり。
------------------------------
#!/bin/sh
#
# chkconfig: - 80 20
# description: jsvc
# Source function library.
. /etc/init.d/functions
JAVA_HOME=/usr/local/java/
CATALINA_HOME=/usr/local/tomcat6
TOMCAT_USER=tomcat
TMP_DIR=/tmp
CATALINA_OPTS=
CLASSPATH=
$JAVA_HOME/lib/tools.jar:
$CATALINA_HOME/bin/commons-daemon.jar:
$CATALINA_HOME/bin/bootstrap.jar
PIDFILE=/var/run/tomcat.pid
LOCKFILE=/var/lock/subsys/tomcat
DAEMON=$CATALINA_HOME/bin/jsvc
start(){
#
# Start Tomcat
#
echo -n "Starting jsvc: "
$DAEMON
-pidfile $PIDFILE
-user $TOMCAT_USER
-home $JAVA_HOME
-Dcatalina.home=$CATALINA_HOME
-Djava.io.tmpdir=$TMP_DIR
-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
RETVAL=$?
if [ $RETVAL = 0 ]; then
echo_success
touch $LOCKFILE
else
echo_failure
fi
echo
}
stop(){
#
# Stop Tomcat
#
echo -n "Shutting down jsvc: "
$DAEMON
-stop
-pidfile $PIDFILE
org.apache.catalina.startup.Bootstrap
RETVAL=$?
if [ $RETVAL = 0 ]; then
echo_success
rm -f $PIDFILE $LOCKFILE
else
echo_failure
fi
echo
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
status)
status $DAEMON
RETVAL=$?
;;
*)
echo $"Usage: jsvc {start|stop|restart|status}"
exit 1
;;
esac
------------------------------
スクリプトの作成が終わったら、ファイルに実行権限を与えます。
#chmod +x /etc/init.d/jsvc
or
#chmod 755 /etc/init.d/jsvc
スクリプトに実行権限を与えたら、最後にchkconfigを実行して起動時のON/OFF設定を行って終了です。
#chkconfig jsvc on
以上で、Tomcatの自動実行の設定が完了。サーバを再起動したときに自動的にTomcatが起動します。
4. TomcatとApacheを連携させるmod_proxy_ajp
最新のApache 2.2系列での連携方法をまとめます。いままでのApache 2.0系列やApache 1.3系列では、Tomcatとの連携にmod_jkと呼ばれるコネクタモジュールを必要としていました。 Apache 2.2系列では、いままでのバージョンとは異なり、Apacheの基本コンポーネントとして連携用の機能を備えているため、モジュールを追加する必要がなくなりました。 んー便利。
5. mod_proxy_ajpを利用するには?
通常、TomcatとApacheの通信は“AJPコネクタ”という機能を利用して実現しています。 Apache 2.2系列では、mod_proxy_ajpと呼ばれるモジュールを利用することで簡単にTomcatとの連携を実現しています。 Apacheの設定ファイル(httpd.confなど)において以下の2つのモジュールを読み込ませることでこの機能を利用できるようになります。
/etc/httpd/confのhttpd.conf コメントになっている場合は#をはずして有効化。
LoadModule proxy_module modules/mod_proxy.so
# cd /etc/httpd/conf.d/
# ls
BackupPC.conf perl.conf python.conf webalizer.conf README php.conf squid.conf welcome.conf manual.conf proxy_ajp.conf ssl.conf
# vi proxy_ajp.conf
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
初期状態でこれらの設定ファイルは読み込場合は、変更は不要。
それでは、実際に「/tomcat」というディレクトリにアクセスする場合と通常のTomcatのトップページへアクセスする場合と同じ設定を行ってみましょう。
そのためには、エディタを用いてApacheの設定ファイル(proxy_ajp.conf)へ以下の行を追加します。
ProxyPass /tomcat/ ajp://localhost:8009/
ajpの設定は専用のファイル「/etc/httpd/conf.d/proxy_ajp.conf」が存在しているので、このファイルにまとめて書くのがいい。
#vi /etc/httpd/conf.d/proxy_ajp.conf
【注意】 Tomcatが通常利用するポートは8080番ポートですが、AJPコネクタを利用した通信には8009番ポートを利用する。
この設定を行いApacheの再起動を行えば、以下のようなページへのアクセスが可能となります。
→その2へ続く。
↓ちょっと、お知らせ