2009-6-29更新 2002-10-11作成

 ■TOMCAT HTTPサーバーとの連携(Apache2)

 ここではTOMCATとApache HTTPサーバー(Webサーバー)を連携させる方法について説明します。
 確認をしたのはWindows2000 + Apache 2.0.55環境です。

 ■mod_jkのダウンロード

 TOMCATとApacheを連携させるためには、これらを繋ぐためのツールであるTomcat Connecterを使います。Apache用のConnecterツールの名前がmod_jkです。
 これの最新版はhttp://tomcat.apache.org/download-connectors.cgiにあります。JK2とJK1.2がありますがJK1.2の方を使ってください。Binary Releasesのリンクをクリックして先に進みます。次に自分の環境に合わせてwin32/を選びます。そうするとjk-1.n.nn/とバージョン毎にディレクトリが分かれているので、日付を見て最新のものを選んでください(2009/6/29現在ではjk-1.2.28です)。
 ここまで来るとConnecterファイルの一覧が出ているので、自分の環境用のものを選択してください。mod_jkの場合は mod_jk-バージョン番号-httpd-Apacheバージョン番号.so です。Apacheバージョン番号はApache1.3用、Apache2用、Apache2.2用に分かれています。この説明はApache2を対象にしているので、これ用を選びます(例: mod_jk-1.2.28-httpd-2.0.52.so )。

 ダウンロードしたファイルはApacheをインストールしたディレクトリのmodulesディレクトリ下(例:C:\Apache Group\Apache2\modules)にコピーし、mod_jk.so にリネームします。


 ここから先は二通りの設定方法について説明します。

 一つ目はTOMCATとApacheを、同じPC(サーバー)で動かすことが前提です。この場合だとApache用の設定ファイルをTOMCATに自動生成させることができるので、その手順です。

 ただ手順はTOMCATやApacheの再起動を含めて、何段階かのステップを踏む必要があります。

 二つ目はTOMCATとApacheが、別PC(サーバー)で動く場合です。このときは設定ファイル自動生成の仕組みが使えないので、設定ファイルを手作りする必要があります。

 また自動生成させるときの手順が面倒だと思う人も、こちらを参照してください。

 TOMCATやApacheの再起動を含めて何段階かのステップがある自動生成ですが、手間の分だけメリットもあります。

 それは、既にいくつかのWEBアプリケーションがTOMCAT上に定義されているときです。TOMCATのサンプルを含めて%CATALINA_HOME%\webappsに、いくつかのWEBアプリケーションのディレクトリが作成済みのときですね。

 自動生成のときはTOMCATの設定ファイルを解析して、連携用設定ファイルを自動的に作成してくれます。

 連携用設定ファイルを手作りするときは、これらを漏れなく定義する必要があります。


 それではここからは一つ目の、TOMCATとApacheを同じPCで動かし、設定ファイルをTOMCATに自動生成させる手順を説明します。

 ■Apacheの設定

 ◇1 Apacheの停止

 まずApache HTTPサーバー側の設定を先に行います。そのためにもしApacheが動いているならこれを停止してください。

 ◇2 Apacheの設定

 Apacheの設定で対象になるファイルはApacheをインストールしたディレクトリのconf下にある、 httpd.conf です(例:C:\Apache Group\Apache2\conf\httpd.conf)。
 この一番下に次の行を追加します。


Include "C:/Apache Software Foundation/Tomcat 5.5/conf/mod_jk.conf"

 ■TOMCATの設定

 ◇3 TOMCATの停止

 続いてTOMCAT側の設定を行います。Apache同様、TOMCATが動いているならこれを停止してください。

 ◇4 TOMCATの設定

 まずTOMCATをインストールしたディレクトリのconfディレクトリ下に、 autojk という2つのディレクトリを作成しておいてください。

 TOMCATで行う設定対象は、 server.xmlmod_jk.confwokers.properties の3つです。このうち mod_jk.conf は自動生成させることが出来るので、その機能を利用する方法を説明します。
 そのためにTOMCATをインストールしたディレクトリのconf下にある、 serer.xml (例:C:\Apache Software Foundation\Tomcat 5.5\conf\server.xml)に次のListener設定を加えます(追加するのは<Listener>タグの部分です)。場所は Engine 設定のすぐ下でいいでしょう。


    <Engine name="Catalina" defaultHost="localhost">

      <Listener className="org.apache.jk.config.ApacheConfig"
               modJk="C:/Apache Group/Apache2/modules/mod_jk.so" />

 mod_jk.soを指定するパス部分で、ディレクトリ名区切りは \ ではなく / を使います。

 ◇5 TOMCATの起動 − mod_jk.confの作成

 ここまでの設定後TOMCATを起動すると、%CATALINA_HOME%\conf\autoの下に mod_jk.conf という設定ファイルが自動作成されます。このときTOMCAT上に設定済のコンテキストが解析され、個々のコンテキストへのパス情報が設定されています。


########## Auto generated on Fri Nov 18 11:24:25 JST 2005##########

<IfModule !mod_jk.c>
  LoadModule jk_module "C:/Apache Software Foundation/Apache2.2/modules/mod_jk.so"
</IfModule>


<VirtualHost localhost>
    ServerName localhost

    JkMount /servlets-examples ajp13
    JkMount /servlets-examples/* ajp13

    JkMount /jsp-examples ajp13
    JkMount /jsp-examples/* ajp13

    JkMount /TestAp ajp13
    JkMount /TestAp/* ajp13

    JkMount /host-manager ajp13
    JkMount /host-manager/* ajp13

    JkMount /tomcat-docs ajp13
    JkMount /tomcat-docs/* ajp13

    JkMount /manager ajp13
    JkMount /manager/* ajp13
</VirtualHost>

 ◇6 TOMCATの停止 − mod_jk.confの修正

 5で mod_jk.conf が自動作成されたことを確認したら、いったんTOMCATを停止します。
 そして自動作成された %CATALINA_HOME%\conf\auto\mod_jk.conf を %CATALINA_HOME%\conf の下にコピーします。
 そしてコピーした conf\mod_jk.conf の方を修正し、デフォルトサーブレットとJSPの設定を追加しましょう。


########## Auto generated on Fri Nov 18 11:24:25 JST 2005##########

<IfModule !mod_jk.c>
  LoadModule jk_module "C:/Apache Group/Apache2/modules/mod_jk.so"
</IfModule>


<VirtualHost localhost>
    ServerName localhost

    JkMount /servlets-examples ajp13
    JkMount /servlets-examples/* ajp13

    JkMount /jsp-examples ajp13
    JkMount /jsp-examples/* ajp13

    JkMount /TestAp ajp13
    JkMount /TestAp/* ajp13

    JkMount /host-manager ajp13
    JkMount /host-manager/* ajp13

    JkMount /tomcat-docs ajp13
    JkMount /tomcat-docs/* ajp13

    JkMount /manager ajp13
    JkMount /manager/* ajp13

    JkMount /*/servlet/ ajp13
    JkMount /*.jsp ajp13
</VirtualHost>

 この後新たにコンテキストを追加した場合は、こちらのファイルを修正するようにしてください。

 ◇7 TOMCATの設定 − workers.propertiesの作成

 続いて conf\jkディレクトリの下に、 workers.properties を作成します。内容は最低限ということでこれでいいでしょう。


worker.list=ajp13

 この ajp13 というのはデフォルトで、自動生成された mod_jk.conf の JkMount に設定されているものと同じになっています。もしコンテキスト毎(アプリケーション毎)に設定を変えたい(例えば別のTOMCATに振り分けたいなど)場合、この値と対応する mod_jk.conf 上の値を変更して設定します。

 ◇8 再起動と動作確認

 最後に動作確認をします。まずTOMCATとApacheを再度起動してください。そしてTOMCATの先頭ページを表示してみます。
 インストール直後の動作確認のときは、ブラウザからURLに http://localhost:8080/index.jsp と指定して先頭ページを表示しました。
 今度は http://localhost/index.jsp と指定してください。さっきはTOMCATの待ち受けポートである 8080 を指定する必要がありましたが、今度はApacheが受ける 80番 を使うので、URL中でポート番号を指定する必要はありません。
 これで先頭ページが表示できればOKです。


このページの先頭  サーバーJava入門先頭  TOMCAT編先頭
Copyright © 2002-2009 YOK. All Rights Reserved.