Apache HTTP Serverとの連携
次に、Apache Tomcat 6.0とApache HTTP Server 2.2を連携させてみる。方法はTomcat 5.5のときと変わっていない。本稿ではApache HTTP ServerのサイトからダウンロードしたApache 2.2.4を使用した。
TomcatとApacheの通信はAJPコネクタによって実現している。Apache 2.2.xではmod_proxy_ajpを使用することで、TomcatのAJPコネクタを利用できる。したがってhttpd.confにおいてリスト5の2行をコメントインすればよい。
リスト5 httpd.confのmod_proxy_ajpを有効にする
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
続いてTomcat側に処理を任せたいURLをリスト6のように指定する。この例の場合、「http://localhost/examples/」にアクセスされたらTomcatのexample以下へ、「http://localhost/mysample/」にアクセスされたらTomcatのTomcat6Sample以下へリダイレクトされる(ドメインがlocalhostの場合)。
リスト6 httpd.confでリダイレクト先を指定
<Location /examples/>
ProxyPass ajp://localhost:8009/examples/
</Location>
<Location /mysample/>
ProxyPass ajp://localhost:8009/Tomcat6Sample/
</Location>
なお、8009ポートはTomcatのAJPコネクタがデフォルトで待機しているポートで、これはserver.xmlをリスト7のように書き換えることで変更できる。
リスト7 server.xmlにおけるAJPコネクタの設定
<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
TomcatとApacheをそれぞれ再起動し、ブラウザから「http://localhost/examples/」にアクセスしてTomcatのサンプルページが表示されたら設定は成功だ。