いこいの森

Think globally, Act locally!
 -Globis、IT、経営力を高める-

Tomcat6のインストール(Fedora8) その1

2008-05-14 | プログラミング(Javaとか)

■Tomcat6のインストール(Fedora8)  →その2へ続く。

※この内容はレノボ・ジャパンThinkPad R61e(2007年冬モデル) にFedora8をインストールした環境で動作を確認しています。

------------------------------

1. Tomcatのアーカイブの入手

Java環境については「Javaの環境構築」をみてください。 本家HPからTomcatのアーカイブをダウンロード。

http://tomcat.apache.org/

私は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の再起動を行えば、以下のようなページへのアクセスが可能となります。

http://192.168.1.8/tomcat/

 

→その2へ続く。
ちょっと、お知らせ

最新の画像もっと見る