tomcat5.0のインストール

tomcatのインストールです。4.1の頃と比較するとインストール作業が格段に楽になっています。
今回の作業で使用したTomcatのバージョンは5.0.18です。
また、Apacheとの連携で使用したconnectorはjk2の2.0.2です。

インストールの流れは次のようになります。
作業は全てrootで行います。
Apacheと連携するにはまず、Apacheのインストールを先に行います。

※Tomcat5.5のインストール手順はここを参照

  1. ソースコードのダウンロード
  2. 環境変数の確認
  3. ビルド
  4. 起動スクリプトの作成
  5. Apache2との連携
  1. ソースコードのダウンロード
    http://jakarta.apache.org/site/sourceindex.cgiより、以下のファイルをダウンロードします。
    ・jakarta-tomcat-5.0.18-src.tar.gz.tar
    ・jakarta-tomcat-connectors-jk2-2.0.2-src.tar.gz(akarta-tomcat-connectors-jk2-src-current.tar.gz.tar)

  2. 環境変数の確認
    作業を進める前に、次の環境変数が設定されている事を確認します。
    JAVA_HOME,ANT_HOMEそしてそのパス。
    設定されていないようなら、以下の様に設定します。
    当然ですが、インストール先などの環境は各自異なるので、自身の環境に合わせ、設定します。
    export JAVA_HOME=/usr/local/j2sdk
    export ANT_HOME=/usr/local/ant
    export PATH=$PATH:$JAVA_HOME/bin:$ANT_HOME/bin
    ちなみに、私が利用したjdk,antのバージョンは下記の通りです。
    jdk:j2sdk1.4.2_03
    ant:ant-1.6.1
     
  3. ビルド
    この時、インターネットにつながる環境である必要があります。
    ソースコードをCVSより取得するみたいです。
    それ以外にも、必要とするパッケージは勝手にダウンロードまでしてくれます。
    tomcat4.1の頃は、tomcat自身の他、10個くらいのパッケージをダウンロード・インストールして初めてtomcatのインストールに取りかかれた事を考えると格段にインストールの手間が省けています。
    [root src]# tar zxvf jakarta-tomcat-5.0.18-src.tar.gz
    [
    root src]# cd jakarta-tomcat-5.0.18-src
    [
    root jakarta-tomcat-5.0.18-src]# ant
    これで、全てできあがりです。
    今後、ソースコードが新しくなった場合には、「ant checkout」と「ant build」する事で、最新の状態に出来るらしいです。

    作成されたイメージをコピーして、インストールが終了です。インストール先は、/usr/local/tomcatとしています。
    [root jakarta-tomcat-5.0.18-src]# cd jakarta-tomcat-5/
    [
    root jakarta-tomcat-5]# cp -pr build /usr/local/tomcat-5.0.18
    [
    root src]# cd /usr/local
    [
    root local]# ln -sf tomcat-5.0.18 tomcat

  4. 起動スクリプトの作成
    最後にシステム起動時に自動的に起動するようにします。
    #!/bin/sh
    # securlevel: 40

    # Source function library.
    . /etc/init.d/functions

    export JAVA_HOME=/usr/local/j2sdk
    INITLOG_ARGS=""
    BINDIR=/usr/local/tomcat/bin

    # See how we were called.
    case "$1" in
      start)
            echo -n "Starting tomcat: "
            ${BINDIR}/startup.sh
            echo
            touch /var/lock/subsys/tomcat
            ;;
      stop)
            echo -n "Shutting down tomcat: "
            ${BINDIR}/shutdown.sh
            echo
            rm -f /var/lock/subsys/tomcat
            rm -f /var/run/tomcat.pid
            ;;
      status)
            status tomcat
            ;;
      restart)
            $0 stop
            $0 start
            ;;
      *)
            echo "Usage: $0 {start|stop|restart|status}"
            exit 1
    esac
    exit 0

    システム起動時に自動起動するようにrunlevel毎の設定を行います。
    これは先ほど作成した/etc/rc.d/init.d/tomcatにシンボリックリンクを張るだけです。
    runlevel3,5で起動、0,6では終了するように設定します。
    起動時の順番、終了時の順番は私の環境に依存しているので各環境に合わせて下さい。networkより遅く起動すれば問題ないと思います。
    [root init.d]# cd ../rc3.d
    [
    root rc3.d]# ln -s ../init.d/tomcat S81tomcat
    [root rc3.d]# cd ../rc5.d
    [root rc5.d]# ln -s ../init.d/tomcat S81tomcat
    [root rc5.d]# cd ../rc0.d
    [
    root rc0.d]# ln -s ../init.d/tomcat K09tomcat
    [root rc0.d]# cd ../rc6.d
    [root rc6.d]# ln -s ../init.d/tomcat K09tomcat
     
  5. Apache2との連携
    Apache2とTomcat5.0を連携します。
    まずは、以下の通り、connectorをmakeします。
    [root src]# tar zxvf jakarta-tomcat-connectors-jk2-2.0.2-src.tar.gz
    [root src]# cd jakarta-tomcat-connectors-jk2-2.0.2-src/jk/native2/
    [
    root native2]# ./configure --with-apxs2=/usr/local/apache2/bin/apxs
    [root native2]# make
    [root native2]# cd ../build/jk2/apache2/
    [
    root apache2]# cp -p mod_jk2.so /usr/local/apache2/modules/.

    次に、apacheでのconnector設定をします。
    /usr/local/apache2/conf/httpd.confに以下の1行を追加します。
    LoadModule jk2_module modules/mod_jk2.so <--この1行を追加します。
    次に、mod_jk2の設定ファイルをコピーします。
    [root conf]# cp /usr/local/src/jakarta-tomcat-connectors-jk2-2.0.2-src/jk/conf/workers2.properties /usr/local/apache2/conf/.
    このworkers2.propertiesファイルの中で指定されている[uri:〜]がapacheとyomcatを連携の定義で、Apacheが〜というURLを受け取ると、それをTomcatへ受け渡します。
    Tomcatが引き継いだ後に、何処のディレクトリにマッピングされるかは、server.xmlで決定されます。

    今回、TomcatのサーブレットサンプルをApache経由で起動してみます。
    Tomcatのサーブレットはhttp://www.ryouto.jp:8080/servlets-examples/となりますが、これをapache経由で起動します。
    http://www.ryouto.jp/examples/と入力する事で、http://www.ryouto.jp:8080/servlets-examples/へつながるようにします。

    まず、/usr/local/apache2.0.48/conf/workers2.propertiesを編集します。
    既に、サンプルとして記述されていますが、以下の内容を確認します。無ければ追加。
    以下の例ではapacheが/examples/で始まるURLを受け取るとtomcatへリクエストを引継ぎます。

    [uri:/examples/*]
    info=Map the whole webapp

    上記以外の[uri:/〜]の設定は不要なので、削除してかまいません。
    次に、/usr/local/tomcat/conf/server.xmlを編集します。
            以下の内容は、tomcatと、apacheを連携する為に必要です。既にかかれていると思うので確認だけしましょう。
            <!-- Define a Coyote/JK2 AJP 1.3 Connector on port 8009 -->
            <Connector port="8009"
                    enableLookups="false" redirectPort="8443" debug="0"
                    protocol="AJP/1.3" />
    (省略)
        以下の内容は、Tomcat単体で使うならば必要ですが、Apacheと連携してのみ使う場合は不要と考え、コメントアウトします。
        今回の連携確認では、不要な処理です、コメントアウトしなくても一向にかまいません。

            <!--
            <Connector port="8080"
                    maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
                    enableLookups="false" redirectPort="8443" acceptCount="100"
                    debug="0" connectionTimeout="20000"
                    disableUploadTimeout="true" />
            -->
    (省略)
            <!-- Tomcat Root Context -->
            <!--
            <Context path="" docBase="ROOT" debug="0">
            -->
           
    以下の1行を追加する事で http://www.ryouto.jp/examplesでサーブレットのサンプルURLへアクセスできます。
        以下の例では/examplesというURL(apacheより渡されるURL)を受け取るとservlets-ezamplesディレクトリにマップします。

            <Context path="/examples" docBase="servlets-examples" debug="0" reloadable="true" crossContext="true"/>

    ファイルの修正が終わったら、tomcat、apacheの順で起動します。
    以上で、おしまいです。これで、tomcatのサーブレットサンプルが起動出来るはずです。

    サーブレットを実際に配置するには以下を参照して下さい。
    webアプリケーションの配置と設定


お問い合わせはwebmaster@ryouto.jpまで。
Copyright (C)2003 ryouto.jp. All Rights Reserved.