Apache 2.0.* 系と Tomcat 5.0.* 系の連携 mod_jk の利用 - Linux 編 -
技術情報 TOP へ

本ページでの使用環境
OS:Fedora Core 5 ( もしくは Red Hat Linux 9 )
Java:JDK 5.0 UPDATE 8
Apache:2.0.59
Tomcat:5.0.28
mod_jk:1.2.19
ここでは、JDK 5.0 UPDATE 8 、Tocmat 5.0.28 、Apache 2.0.59 がインストールされ、 使用できる環境が既に作成されていることを前提として説明いたします。 これらのインストール及び環境作成については下記のページを参照ください。

JDK のインストール -Linux 編-

Tomcat 5.0.* 系のインストール - Linux 編 ( tar.gz ファイル ) -
* ここでは TOMCAT_HOME は、/usr/local/jakarta-tomcat-5.0.28 とします。

Apache 2.0.* 系のインストール -Linux 編 ( tar.gz ファイル ) -
* ここでは /usr/local/apache2 に Apache をインストールした前提とします。




Tomcat でアプリケーションサーバを構築した場合、Web サーバに Apache を導入することが一般的です。
Tomcat 自体も Web サーバの機能を持っていますが、Tomcat の Web サーバ機能はセキュリティ的な観点から、 あまり推奨されません。また、Apache のような詳細な設定もできません。
Apache を Web サーバとして利用し、mod_jk などのコネクタを使用して Tomcat と連携することで、 システムのセキュリティ面や柔軟な対応性の向上をはかります。

以下に Apache Tomcat を mod_jk を使用して連携する手順を記述します。

* コマンドの実行は、エラーの有無を確認しながら行ってください。

Web サーバ側 ( Apache ) とアプリケーションサーバ側 ( Tomcat ) を別の物理マシンにインストールした 場合も同じ物理マシンにインストールした場合も本ページの手順で連携可能です。




( 1 ) mod_jk をダウンロードします。

ここでは、本ページ記述時の最新版である JK 1.2.19 Source Release tar.gz ( tomcat-connectors-1.2.19-src.tar.gz ) を ダウンロードしました。

以下のページよりダウンロードできます。
Tomcat Connectors (mod_jk, mod_jk2) Downloads

または、
archive.apache.org



( 2 ) ダウンロードした tomcat-connectors-1.2.19-src.tar.gz を解凍します。

以下のコマンドを実行します。
実行後、カレントディレクトリに tomcat-connectors-1.2.19-src ディレクトリができます。


# tar zxvf tomcat-connectors-1.2.19-src.tar.gz



( 3 ) 解凍したディレクトリを移動します。

root になり、 以下のコマンドを実行します。

# mv ./tomcat-connectors-1.2.19-src /usr/local/src/tomcat-connectors-1.2.19-src



( 4 ) カレントディレクトリを移動します。

以下のコマンドを実行します。

* 但し、mod_jk の古いバージョンでは、「/usr/local/src/tomcat-connectors-1.2.19-src/native」ではなく、 「/usr/local/src/jakarta-tomcat-connectors-1.2.15-src/jk/native」( 例:mod_jk 1.2.15 の場合 ) となることもあります。

mod_jk 1.2.19 では、以下のディレクトリで問題ありません。

# cd /usr/local/src/tomcat-connectors-1.2.19-src/native



( 6 ) configure を実行します。

以下のコマンドを実行します。

* 但し、mod_jk の古いバージョンでは、「./configure」の前に「./buildconf.sh」を実行して configure を生成する必要があります。

このページで使用している mod_jk 1.2.19 では、以下の進め方で問題ありませんでした。

ここでは、Apache のインストールディレクトリは /usr/local/apache2 としています。


# ./configure --with-apxs=/usr/local/apache2/bin/apxs



( 7 ) make を実行します。

以下のコマンドを実行します。

# make



( 8 ) make install

以下のコマンドを実行します。

# make install



( 9 ) mod_jk.so の確認

以下のコマンドを実行し、mod_jk.so が生成されていることを確認します。

mod_jk.so が生成されていなければ、上述のどこかの箇所でエラーが出ている可能性がありますので、 再度、やり直しエラーの有無を確認します。

# ls /usr/local/apache2/modules/



( 10 ) httpd.conf の編集

Apache の設定ファイル httpd.conf を vi で編集します。

# vi /usr/local/apache2/conf/httpd.conf
httpd.conf に以下を追記し保存します。

ここでは、追記する場所はファイルの最後尾とします。

Include "/usr/local/apache2/conf/mod_jk.conf"



( 11 ) mod_jk.conf の作成

/usr/local/apache2/conf/mod_jk.conf を新規に作成し編集します。

# vi /usr/local/apache2/conf/mod_jk.conf
下記を記述し保存します。

LoadModule jk_module "/usr/local/apache2/modules/mod_jk.so"

<IfModule mod_jk.c>
    JkWorkersFile "/usr/local/apache2/conf/workers.properties"
    JkLogFile "/usr/local/apache2/logs/mod_jk.log"
    JkLogLevel emerg
    JkMount /* testWorker1
</IfModule>
JkMount /* testWorker1 という記述は、後述の workers.properties で定義する testWorker1 に /* ( すべてのリクエスト ) をマッピングするという意味になります。

他の例:
JkMount /websample/* testWorker1
( コンテキストパス /websample/ に対するすべてのリクエストを testWorker1 にマッピングする )

VirtualHost を利用する場合は以下の例を参考にしてください。
<VirtualHost * >
JkMount /* testWorker1
</VirtualHost>



( 12 ) workers.properties の作成

/usr/local/apache2/conf/workers.properties を新規に作成し編集します。

# vi /usr/local/apache2/conf/workers.properties
下記を記述し保存します。

Tomcat が別の物理マシンにインストールされている場合は、サーバ名もしくは IP アドレスを以下に設定してください。

worker.testWorker1.host=***.***.***.***

worker.list=testWorker1
worker.testWorker1.port=8009
worker.testWorker1.host=localhost
worker.testWorker1.type=ajp13
workers.properties については、以下のドキュメントに詳細な説明があります。
The Apache Tomcat Connector



( 13 ) Tomcat の起動

以下のコマンドを実行し、Tomcat を起動します。

# /usr/local/jakarta-tomcat-5.0.28/bin/startup.sh



( 14 ) Apache の起動

以下のコマンドを実行し、Apache を起動します。

# /usr/local/apache2/bin/apachectl start



( 15 ) 動作確認を行います。

下記のアドレスにブラウザでアクセスします。
http://サーバ名/

以下の画面が表示されれば成功です。
Apache を経由して、ポート 80 番 ( http://サーバ名/ ) で Tomcat にアクセスできることが確認できます。



Google
WWW を検索 whitemark.co.jp を検索

Copyright © 2006 by WhiteMark, All rights Reserved. Last Modified: 2006/05