HomeDocumentation > 1. 管理 > 1.1. 管理タスク > 1.1.2. Apache Geronimoサーバーの管理 > 1.1.2.4. リモートApache HTTPサーバーの構成 > 1.1.2.4.2. Apache HTTPdとJakarta Tomcat コネクター(mod_jk)の構成


HTTP サーバーと Geronimo の間の通信は AJP コネクター経由でも可能です。デフォルトでは (Jetty と Tomcat) いずれのディストリビューションに於いてもポート 8009 をリスンする AJP13 コネクターが事前に定義済です。

Jakarta Tomcat コネクター mod_jk モジュールは Apache Tomcat ソースのコネクターとして提供されています。Jetty は(そして当然ながらTomcat も)このコネクターと互換性があります。このモジュールは Tomcat のソースをダウンロードすれば入手できますが、貴方のシステムに適合したものを下記の URL からダウンロードして入手することもできます。

http://tomcat.apache.org/download-connectors.cgi

mod_jk 以外に workers.properties も必要となりますが、Tomcat のソース・ディストリビューションから同様に入手することができます。このプロパティ・ファイルは mod_jk プラグインに対し、どのように Geronimo と接続するのかを伝えるためのものです。Jakarta Tomcat コネクターを構成するために利用可能なすべてのオプションについての詳細な説明は、下記の URL を参照してください。

http://tomcat.apache.org/connectors-doc/config/workers.html

皆様に実際に使っていただけるように、こちらから Windows 用の mod_jk-apache-2.2.3.so モジュールと workers.properties がダウンロードできます。

Back to Top

Apache HTTPd の構成

Tomcat のウェブ・サイトから貴方の利用しているプラットフォームに合った適切な mod_jk をダウンロードします。当サンプルでは、ダウンロードしたmod_jkを mod_jk.so にリネームして <httpd_home>\modules ディレクトリーにコピーします。次に、Apache Tomcatソース(またはこの記事の Attachment セクション)から workers.properties をダウンロードして、 <httpd_home>\conf ディレクトリーに解凍します。

Jakarta Tomcat_コネクター mod_jk モジュールをロードするために、<httpd_home>\conf ディレクトリー上の httpd.conf を編集します。以下の行を httpd.conf の末尾に追加してください。

Excerpt from httpd.conf httpd.congの抜粋
LoadModule jk_module modules/mod_jk.so
# Loads the Jakarta Tomcat Connector module

JkWorkersFile <httpd_home>\conf\workers.properties
# Tells the module the location of the workers.properties file

JkLogFile     <httpd_home>\logs\mod_jk.log
# Specifies the location for this module's specific log file

JkLogLevel    info
# Sets the module's log level to info

JkMount /console/* ajp13
# Sets a mount point from a context to a Tomcat worker. In this case will allow access (forward the request) to the console.

JkMount/console/ 以下のすべてをワーカー ajp13 にマップします。 ajp13 という名前は、次に説明する workers.properties ファイルの中で定義されたものです。他にもリモートの HTTPd 経由でアクセスされるアプリケーションがあれば、JkMount ディレクティブを更に追加する必要があります。

この例ではデモの目的で console を有効化しています。本番環境では、他のネットワーク(通常はインターネット)から console へアクセスできるようにしたいとは思わないでしょう。 console をネットからアクセス可能とすることは、セキュリティ面で重要な情報を露出することになりますから。

全ては制限されたアクセスであるべきであり、通常はHTTPとアプリケーション・サーバー間には(トポロジーにもよりますが)ファイアー・ウオールが設置されているべきでしょう。そして、ネット側から貴方のアプリケーションを操作するために必要な最低限のリソースのみをマップするようにすべきです。

Back to Top

workers.propertiesの構成

workers.properties はHTTPdに対し、Geronimoサーバーがどこにあるのか、どのバージョンのAJPを利用すべきなのか、Geronimoがリスンしているポート番号はいくつなのか、などを伝えるためのものです。

<httpd_home>\conf ディレクトリー上に存在する workers.properties ファイルを貴方の環境にマッチするように編集してください。以下のworkers.propertiesの例では、貴方が特に意識する必要がある変数のみを抜粋してあります。

Minimum requirements for the workers.properties workers.propertiesで最低限必要な定義
worker.ajp13.type=ajp13
# Sets the version of AJP used. The AJP listeners defined in Geronimo are AJP v13.

worker.ajp13.host=localhost
# Specifies the location of the Geronimo server. Use default localhost for single-tier scenarios. Specify the hostname of the Geronimo server for multi-tier environments.

worker.ajp13.port=8009
# Both Tomcat and Jetty come with a predefined AJP13 listener on port 8009

この例でどのようにワーカーの名前が定義されているかにご注目ください。 worker.ajp13.* という変数を定義している部分の ajp13 という名前は、前項で httpd.conf に記述した名前です。

最後の手順として、Apache HTTPdを再起動し、上記の変更が確実にロードされることを確認します。

Back to Top

テスト

設定した構成で Geronimo と HTTPd の両方が正常に稼動していることを以下のようにテストします。

  1. http://localhost:8080/console にアクセスしてGeronimo が接続可能であることを確認します。正常ならGeronimo管理コンソールが表示されるはずです。
  2. http://localhostにアクセスしてHTTPdが接続可能であることを確認します。 正常ならApache HTTPd が表示されるはずです。
  3. http://localhost/console/ へアクセスしてHTTPd - Geronimo間でリクエストが転送されていることを確認します。正常ならGeronimo管理コンソールが表示されるはずです。URLの末尾に"/"を指定することをお忘れなく。この / を付け忘れた場合はJakarta Tomcat コネクター・モジュールが Not Found エラーを返します。

Back to Top