Apache-Tomcatのインストール (Win32)

 Tomcatをインストールすると、Windows上でJSP環境を構築することができる。事前にJDKまたはJ2SDLをインストールしておく必要があるが、Apacheのインストールは特に必要ではない。しかし一般的にはTomcatをApacheにアドオンさせて動作させるのが普通である。こうすることで、TomcatはJSPエンジンの機能だけを動かし、Webサーバの機能はApacheに任せることができる。
TomcatもまたApacheのサービスとして動作させることができる。モジュールを組み込んでApacheと連携させた場合、Tomcatが起動していない状態でもApacheは問題なく起動できるが、WEB上のJSP区域にアクセスされるとTomcatポートがアクティブでない旨のエラーがでる。Tomcatをあまり起動しないという場合はモジュール自体をロードしないよう設定しておいたほうがよい


DefaultPort : 1521(Oracle)

1)J2SDK、J2RE(必要に応じて)がインストールされていなければインストールする。「j2sdk-1_4_0-win.exe」「j2re-1_4_0-win-i.exe」をそれぞれ実行する。その後、環境変数JAVA_HOMEをJ2SDKのインストール先に指定する。ここでは「C:\J2SDK」にインストールしたものとして仮定。NT系ならシステムのプロパティで、9x系ならautoexec.batに以下のように記述する。

set JAVA_HOME=C:\J2SDK

2)「jakarta-tomcat-4.0.3.exe」を実行し、インストールする。インストールディレクトリは「C:\TOMCAT」と仮定。インストール後はコマンドプロンプトから「bin\startup.bat」を実行してTomcatを起動させる。ブラウザから「http://localhost:8080/」にアクセスし、Tomcatのページが正常に出ていることを確認する。JSPのサンプルにアクセスし、プログラムが正常に動作すればインストール完了。その後「bin\shutdown.bat」を実行してTomcatを終了させる。

C> cd \tomcat\bin
C> startup
C> shutdown

※Windows9x系で、起動時に「環境変数のためのメモリ領域が足りません」というエラーが出力された場合、起動バッチファイルのプロパティで、「メモリ」タブ内の「環境変数の初期サイズ」フィールドを「自動」から「2800」程度の値に変更して試してみる。)

3)アドオンに「mod_jk.dll」を組み込む場合、「mod_jk.dll」と「workers.properties」が必要なので用意する(SSL対応版Apacheをインストールした場合は、EAPI対応のmod_jk.dllがあるのでそれをダウンロードすること)。Apacheのインストールディレクトリ以下の「modules\」の下に、「workers.properties」をTomcatのインストールディレクトリ以下の「conf\」の下にそれぞれコピーする。workers.propertiesはWindows環境用に設定を変更する必要がある。

4)Apacheのhttpd.confを編集する。例として以下のような行を追加。

LoadModule jk_module modules/mod_jk.dll
AddModule mod_jk.c
<IfModule mod_jk.c>
JkWorkersFile "C:/TOMCAT/conf/workers.properties"
JkLogFile logs/jk.log
JkLogLevel warn
JkMount /*.jsp ajp13
JkMount /servlet/* ajp13
JkMount /examples/* ajp13
</IfModule>

Tomcatを起動後にApacheを起動し、ブラウザで「http://localhost/examples/」でアクセスし、(2)と同じページが表示されればOK。サンプルも同じように動作することを確認する。

5)アドオンに「mod_webapp」を使う場合は、「webapp_module-1.0-tc40-windows.zip」を解凍し、展開されたディレクトリ以下の「libapr.dll」をApacheのインストールディレクトリ直下(C:\APACHE\)に、またmod_webapp.soをmodulesディレクトリ(C:\APACHE\modules\)にそれぞれコピーする。

6)httpd.confを修正する。既にmod_jkを組み込んだ場合で、mod_webappの方を使いたい場合はmod_jkのLoadModuleとAddModuleの部分をコメント化しておくことを忘れないこと。

LoadModule webapp_module modules/mod_webapp.so
AddModule mod_webapp.c
<IfModule mod_webapp.c>
WebAppConnection conn warp localhost:8008
WebAppDeploy examples conn /examples
</IfModule>

7)Tomcatを起動すると、それ自身のHTTPサーバも立ち上がるために、8080ポートを起動しないよう設定する。Tomcatのインストールディレクトリ下の「conf\server.xml」ファイルを開き、該当部分を以下のようにコメント化する。

<!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
<!--
<Connector className="org.apache.catalina.connector.http.HttpConnector"
port="8080" minProcessors="5" maxProcessors="75"
enableLookups="true" redirectPort="8443"
acceptCount="10" debug="0" connectionTimeout="60000"/>
-->

その後Tomcatを再起動。
サンプルスクリプト

IISとの連携

TomcatをIISにアドオンさせて動作させるには、「isapi_redirector.dll」というモジュールを利用する。これを組み込むことで、Apacheと同じようにIISの80ポートをWebサーバとして利用し、Tomcatは単体でJSPエンジンの機能のみ動作させることができる。このインストールは意外と複雑なので、1つずつじっくりと行っていったほうがよい。インストールには「workers.properties」ファイルも必要なのでこれも用意しておく。

1)Tomcatが起動していたら停止する。「isapi_redirector.dll」をTomcatのインストールディレクトリ下の「bin\」へコピーする。その後設定ファイル「conf\server.xml」の<Server>ディレクティブ内に以下の行を追加する。これを設定することで、次回Tomcatを起動すると同時に「conf\auto\」ディレクトリ内に設定ファイルが生成される。

<Listener className="org.apache.ajp.tomcat4.config.IISConfig"/>

2)サーブレット例のページを表示させるため、生成された「conf\auto\uriworkermap.properties」を以下のように編集する。「http://localhost/examples/」以下がサーブレット用のページとしてアクセスされる。

default.worker=ajp13
/servlet/*=$(default.worker)
/*.jsp=$(default.worker)
/examples/servlet/*=$(default.worker)
/examples/*.jsp=$(default.worker)

また「conf\auto\iis_redirect.reg」ファイルのほうも環境に合わせて設定する。

REGEDIT4
[HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\
Jakarta Isapi Redirector\1.0]
"extension_uri"="/jakarta/isapi_redirector.dll"
"log_file"="C:\\TOMCAT\\logs\\iis_redirect.log"
"log_level"="emerg"
"worker_file"="C:\\TOMCAT\\conf\\workers.properties"
"worker_mount_file"="C:\\TOMCAT\\conf\\auto\\uriworkermap.properties"

3)「workers.properties」を「conf\」ディレクトリ下にコピーし、必要に応じて設定を変更する。上のApache+mod_jkの設定を行った場合はする必要はない。以下は設定例。

workers.tomcat_home=C:\TOMCAT
workers.java_home=C:\J2SDK
ps=\
worker.list=ajp12, ajp13
worker.ajp12.port=8007
worker.ajp12.host=localhost
worker.ajp12.type=ajp12
worker.ajp12.lbfactor=1
worker.ajp13.port=8009
worker.ajp13.host=localhost
worker.ajp13.type=ajp13
worker.ajp13.lbfactor=1
worker.loadbalancer.type=lb
worker.loadbalancer.balanced_workers=ajp12, ajp13
worker.inprocess.type=jni
worker.inprocess.class_path=$(workers.tomcat_home)$(ps)lib$(ps)tomcat.jar
worker.inprocess.cmd_line=start
worker.inprocess.jvm_lib
=$(workers.java_home)$(ps)jre$(ps)bin$(ps)classic$(ps)jvm.dll
worker.inprocess.stdout=$(workers.tomcat_home)$(ps)logs$(ps)inprocess.stdout
worker.inprocess.stderr=$(workers.tomcat_home)$(ps)logs$(ps)inprocess.stderr

4)(2)で設定した「iis_redirect.reg」ファイルを実行し、レジストリに登録する。問題なく登録されたら、(1)で設定した「server.xml」ファイルの内容を再び削除、またはコメントアウトしておく。

<!-- <Listener className="org.apache.ajp.tomcat4.config.IISConfig" /> -->

5)IISの設定を行う。既定のWebサイトで「jakarta」という仮想ディレクトリを作成する。ローカルパスはTomcatのインストールディレクトリ下の「bin」。以下のように設定すればよい。

6)既定のWebサイトのプロパティ、「ISAPIフィルタ」「追加」で、フィルタ名「jakarta」、実行ファイルはisapi_redirector.dllの絶対パスを指定する。追加後に設定ウィンドウを閉じ、再びISAPIフィルタの設定画面を開いて、「jakarta」の状態に上向きの緑色の矢印が出ていれば組み込み完了。

7)「ホームディレクトリ」タブの「ローカルパス」で、Tomcatインストールdir下の「webapps」を設定して設定画面を閉じ、IISを再起動させる。ブラウザから「http://localhost/examples/jsp/」などとアクセスして、サンプルページが正しく表示されることを確認する。サンプルスクリプトが正常に実行できればOK。

TOP OF PAGE