ここではTOMCATとApache HTTPサーバー(Webサーバー)を連携させる方法について説明します。
確認をしたのはWindows2000 + Apache 2.0.55環境です。
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に自動生成させる手順を説明します。
◇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"
|
◇3 TOMCATの停止
続いてTOMCAT側の設定を行います。Apache同様、TOMCATが動いているならこれを停止してください。
◇4 TOMCATの設定
まずTOMCATをインストールしたディレクトリのconfディレクトリ下に、 auto と jk という2つのディレクトリを作成しておいてください。
TOMCATで行う設定対象は、 server.xml、mod_jk.conf、wokers.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 を作成します。内容は最低限ということでこれでいいでしょう。
この 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です。
|