Windows XPでTomcat 6.0とIIS 5.1の連携方法
Tomcatは普通はApacheと連携させてサーバを構築するのですが、WindowsサーバにどうしてもTomcatを持っていかないといけない場合、IISとTomcatを連携させる必要があります。幸い、Windows XP Proであれば、IISをオプションでインストールすることができ、開発環境を無料で構築することができます。
素材
- IIS5.1(XP Pro付属)
- Tomcat6.0.16
- isapi_redirect-1.2.14.exe
IISをInstall
コントロールパネル→プログラム追加と削除→Windowsコンポーネントの追加と削除
インターネットインフォメーションサービス(IIS)にチェックを入れて次へ
動作確認として、ブラウザで http://localhost にアクセス。Basic認証がかかるのでWindowsにログインする際のIDとPWを入力。IISのトップページが表示されればOK。
isapi_redirect-1.2.14.exeをInstall
インストール先をD:\apache-tomcat-6.0.16\bin\win32にする。
D:\apache-tomcat-6.0.16\bin\win32\bin\isapi_redirect.dll
がインストールされていることを確認する。
IUSRユーザ実行権限
D:\apache-tomcat-6.0.16\bin\win32\bin\isapi_redirect.dllを右クリック→プロパティ→セキュリティからIUSR_コンピュータ名(インターネットゲストアカウント)に対して読み取りと実行、読み取りの権限を付与する
レジストリの手直し
この時点でレジストリ設定は以下のようになっている。
worker_fileのworkers.propertiesと、worker_mount_fileのuriworkermap.propertiesの項目を修正する。具体的なフルパスは以下に続く項目参照。
exeを実行して自動的にインストールされるworkers.properties.minimalとuriworkermap.propertiesは使わない。
workers.propertiesの設定
D:\apache-tomcat-6.0.16\conf\jk\workers.propertiesとして、
worker.list=worker1 worker.worker1.type=ajp13 worker.worker1.host=localhost worker.worker1.port=8009
uriworkermap.propertiesの設定
D:\apache-tomcat-6.0.16\conf\jk\uriworkermap.propertiesとして、
default.worker=worker1 /examples/*=worker1 /docs/*=worker1 /manager/*=worker1
Tomcat6にプリインストールされているWebアプリのコンテキストをworker.propertiesで定義したworker1という名前のworkerにマッピングする。
IISの設定
コントロールパネル→管理ツール→インターネットインフォメーションサービス
既定のWebサイトを右クリック→プロパティ→ISAPIフィルタ
適当なフィルタ名をつけて、
D:\apache-tomcat-6.0.16\bin\win32\bin\isapi_redirect.dll
と入力、OK。
さらに、IISの設定でjakarta仮想ディレクトリが生成されていることを確認。
仮想ディレクトリjakartaのプロパティを開いて、ローカルパスが
D:\apache-tomcat-6.0.16\bin\win32\bin\
であることを確認。
テストコンテンツ配置
D:\apache-tomcat-6.0.16\webapps\examples\index.jspとして、
<html><body>test <%= new java.util.Date() %></body></html>
を作成。
動作確認
IISとTomcatを再起動してブラウザで上で配置したJSPにアクセス
http://localhost/examples/index.jsp
元々入っているServletのサンプル
http://localhost/examples/servlets/servlet/HelloWorldExample
も正常に表示されるはず。