UNIXな生活
更新:2004/2/25  
Linuxな生活  FreeBSDな生活
 Solarisな生活
 JAVAな生活
 Practical use
 掲示版
Linuxでの、Tomcat-5.0.6.J2SDK-1.4.Apache-2.0.mod_jk2.PostgreSQL環境構築

Tomcat-5.0系が正式リリースされました。
今回は、パット見大幅な変更が無いように思いきや、AdmintoolsやManagerToolの充実、負荷分散でのセッショントラッキングなどの利用 もできるようになり、開発環境と言うよりは運用で実際に使えるレベルに仕上って来ました。
で、早速Linuxでインストールしてみました。ただし、今回はServer.xmlやWeb.xmlなどの設定がちょこちょこ変わっていますので注意し た方がよさそうです。(具体的には<Context path>の設定場所が変わってます。)

いつものようにjakarta系の物は"/usr/local/jakarta" 以下にインストールしていきます。(お好みで変更してください)

J2SDK -1.4_2_03をインストール
http://java.sun.comからj2sdk-1_4_2_03-linux-i586.binを入手し てください。
#cp  j2sdk-1_4_2_03-linux-i586.bin /usr/local
#cd /usr/local
#chmod 755 j2sdk-1_4_2_03-linux-i586.bin
#./j2sdk-1_4_2_03-linux-i586.bin
インストール実行後、元ファイルを削除
#rm j2sdk-1_4_2_03-linux-i586.bin

環境変数の設定(bash)
~/.bash_profileに 以下を追加
export JAVA_HOME=/usr/local/j2sdk1.4.2_03
export PATH=$PATH:$JAVA_HOME/bin

ANTの インストール
jakarta系をインストールする場所を作成します。
#mkdir /usr/local/jakarta

http://apache.org/からapache-ant-1.6.1.tar.gzを入手してください。
#tar zxvf apache-ant-1.6.1.tar.gz -C /usr/local/jakarta/

環境変数の設定(bash)
~/.bash_profileに 以下を追加
export ANT_HOME=/usr/local/jakarta/apache-ant-1.6.1
export PATH=$PATH:$ANT_HOME/bin

Tomcat -5.0.6のインストール
http://jakarta.apache.org/か らjakarta-tomcat-5.0.19.tar.gzを 入手してください。
#tar zxvf jakarta-tomcat-5.0.19.tar.gz -C /usr/local/jakarta/
設定変更
/usr/local/jakarta/jakarta-tomcat-5.0.19/bin/catalina.shを 編集
CYGWIN*) cygwin=true;;
OS400*) os400=true;;
esac
CATALINA_HOME=/usr/local/jakarta/jakarta-tomcat-5.0.19  <-----これを追加
JAVA_HOME=/usr/local/j2sdk1.4.2_03    <-----------------これを追加
# resolve links - $0 may be a softlink
----------------------つづく-----------------------
この時点でTomcatを起動し、動作確認しときます。
起動
#/usr/local/jakarta/jakarta-tomcat-5.0.6/bin/catalina.sh start
確認
Servlet--ブラウザで、http://localhost:8080/servlets-examples/
JSP------ブラウザで、http://localhost:8080/jsp-examples/
終了は、
#/usr/local/jakarta/jakarta-tomcat-5.0.6/bin/catalina.sh stop

Apache -2.0のインストール
OpenSSLパッケージを先にインストールしておいてください。
OpenSSLいらない場合は、Configure時に"--enable-ssl"を指定しないでください。
http://apache.org/からhttpd-2.0.48.tar.gzを入手してください。
#tar zxvf httpd-2.0.48.tar.gz -C /usr/local/src/
#/usr/local/src/httpd-2.0.48
#./configure --enable-modules=so --enable-ssl
#make
#make install
*/usr/local/apache2にインス トールされます。

/usr/local/apache2/conf/httpd.confを 編集します。
編集するのは、以下のとおり。
#ServerName www.examples.com:80
SevrerName localhost:80

Apache2から、日本語の文字化けを起こすことがありますので、以下も修正
#AddDefaultCharset iso-8859-1
AddDefaultCharset EUC-JP

#LanguagePriority en ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl pt pt-BR
LanguagePriority ja en ca cs da de el eo es et fr he hr it ko ltz nl nn no pl pt pt-BR
起動して、動作確認してください。
起動--/usr/local/apache2/bin/apachectl start
確認--ブラウザから、http://localhost/ で、ページが表示されればOK
停止--/usr/local/apache2/bin/apachectl stop

mod_jk2 のインストールと、Tomcat+Apahceの連係
http://jakarta.apache.org/site/sourceindex.cgiの "jk2.0.2 SourceRelease"リンクから
jakarta-tomcat-connectors-jk2-src-current.tar.gzを 入手します。
#tar zxvf jakarta-tomcat-connectors-jk2-src-current.tar.gz -C /usr/local/src
#cd /usr/local/src/jakarta-tomcat-connectors-jk2-2.0.2-src/jk/native2
#./configure --with-apxs2=/usr/local/apache2/bin/apxs
#make
/usr/local/src/jakarta-tomcat-connectors-jk2-2.0.2-src/jk/build/jk2/apache2/mod_jk2.soが 作成されます。

出来上がったmod_jk2.soをApacheに組み込み ます。
#cp mod_jk2.so /usr/local/apache2/modules/
/usr/local/apache2/conf/httpd.confを 編集し、以下を追加
LoadModule jk2_module modules/mod_jk2.so

/usr/local/apache2/conf/workers2.propertiesの 作成
#Log
[logger.file:0]
level=ERROR
file=${serverRoot}/logs/mod_jk2.log
#Starus
[status:]
[uri:/jkstatus/*]
group=status:
#Memory
[shm:]
desabled=1
#Channel
[channel.socket:localhost:8009]
#URI
[uri:/servlets-examples/*]
[uri:/jsp-examples/*]
mod_jk2の設定内容は、こちらを参考にしてください。

Apache+Tomcatの接続確認。
Tomcatを起動 : /usr/local/jakarta/jakarta-tomcat-5.0.19/bin/catalina.sh start
Apahceを起動 : /usr/local/apache2/bin/apachectl start

ブラウザから以下にアクセスし動作確認。
http://localhost/jsp-examples/  <--------JSPのデモ
http://localhost/servlets-examples/ <----Servletのデモ

PostgreSQL のインストール
こちらを参考にしてください。
なお、PostgreSQLインストール時に作成した、JDBCドライバ(postgres.jar)をTomcatで利用するためには、
/usr/local/jakarta/jakarta-tomcat-5.0.6/common.lib/にコピーする必要があります。

参考資 料:Apache、Tomcatの起動スクリプト
Apache単独の起動スクリプト
#!/bin/sh
APACHE_HOME=/usr/local/apache2
case "$1" in
start)
    if [ -f $APACHE_HOME/bin/apachectl ]; then
        $APACHE_HOME/bin/apachectl start
        echo "Starting Apache Web Server ."
    else
        echo "Apache Web Server Not Found ."
    fi
;;
stop)
    if [-f $APACHE_HOME/bin/apachectl ]; then
        $APACHE_HOME/bin/apachectl stop
        echo "Starting Apache Web Server ."
    else
        echo "Apache Web Server Not Found ."
    fi
;;
restart)
    if [-f $APACHE_HOME/bin/apachectl ]; then
        $APACHE_HOME/bin/apachectl restart
        echo "Starting Apache Web Server ."
    else
        echo "Apache Web Server Not Found ."
    fi
;;
*)
    echo "Usage: `basename $0` {start|stop|restart}" 1>&2
    exit 1
esac
exit 0

Tomcat単独の起動スクリプト
#!/bin/sh
CATALINA_HOME=/usr/local/jakarta/jakarta-tomcat-5.0.19
PIDFILE=/var/run/catalina.pid
case "$1" in
start)
    if [ -f $PIDFILE ]; then
        echo "CATALINA This Started ."
    else
        if [ -f $CATALINA_HOME/bin/catalina.sh ]; then
            touch $PIDFILE
            $CATALINA_HOME/bin/catalina.sh start
            echo "Startting CATALINA ."
        else
            echo "CATALINA File Not Found ."
        fi
    fi
;;
stop)
    if [ -f $PIDFILE ]; then
        if [ -f $CATALINA_HOME/bin/catalina.sh ]; then
            rm $PIDFILE
            $CATALINA_HOME/bin/catalina.sh stop
            echo "Stopping CATALINA ."
        else
            echo "CATALINA File Not Found ."
        fi
    else
        echo "CATALINA Not Running ."
    fi
;;   
restart)
    $0 stop
    sleep 5
    $0 start
;;
*)
    echo "Usage: `basename $0` {start|stop|restart}" 1>&2
    exit 1
esac
exit 0

Apahce$Tomcatの起動スクリプト(通常はこれでOK)
#!/bin/sh
APACHE_HOME=/usr/local/apache2
CATALINA_HOME=/usr/local/jakarta/jakarta-tomcat-5.0.19
PIDFILE=/var/run/catalina.pid
case "$1" in
start)
    if [ -f $APACHE_HOME/bin/apachectl ]; then
        if [ -f $PIDFILE ]; then
            echo "CATALINA This Started ."
            $APACHE_HOME/bin/apachectl start
            echo "Starting Apache Web Server ."
        else
            if [ -f $CATALINA_HOME/bin/catalina.sh ]; then
                touch $PIDFILE
                echo "Startting CATALINA ."
                $CATALINA_HOME/bin/catalina.sh start
                sleep 10
                $APACHE_HOME/bin/apachectl start
                echo "Starting Apache Web Server ."
            else
                echo "CATALINA File Not Found ."
            fi
        fi
    else
        echo "Apache Web Server Not Found ."
    fi
;;
stop)
    if [ -f $APACHE_HOME/bin/apachectl ]; then
        if [ -f $PIDFILE ]; then
            if [ -f $CATALINA_HOME/bin/catalina.sh ]; then
                $APACHE_HOME/bin/apachectl stop
                echo "Stopping Apache Web Server ."
                echo "Stopping CATALINA ."
                rm $PIDFILE
                $CATALINA_HOME/bin/catalina.sh stop
            else
                echo "CATALINA File Not Found ."
            fi
        else
            echo "CATALINA This Stoped ."
            $APACHE_HOME/bin/apachectl stop
            echo "Stopping Apache Web Server ."       
        fi
    else
        echo "Apache Web Server Not Found ."
    fi
;;
restart)
    $0 stop
    sleep 10
    $0 start
;;
*)
    echo "Usage: `basename $0` {start|stop|restart}" 1>&2
    exit 1
esac
exit 0

Producted by Tomoya Sakurai