Tomcat インストール
Apache Tomcat とは,Java Servlet, JavaServer Page の実装です. The Apache Jakarta Project の成果物です.
Apache Tomcat バージョン 5.5 のインストールとテスト実行を行う.
特記事項: Tomcat バージョン 6.0 では、Apache MyFaces 1.1 系列と共存できない(こればバグでは無く、規格上の 仕様)
【関連する外部ページ】 http://www.searchman.info/java_eclipse/1100.html
あらかじめ決めておく事項
Tomcat インストールディレクトリを決めておくこと。 好きに決めていいですが, 半角文字でスペースを含まないこと. この資料では,次のように書く.
- Tomcat インストールディレクトリ: C:\tomcat55 (Windows の場合), /usr/local/apache-tomcat-5.5.23(Linux の場合)
手順
- SourceForge の XAPMM ページを開く
http://sourceforge.net/project/showfiles.php?group_id=61776
- Windows アドオンのページにジャンプ
今のページの「Latest File Releases」のところにある表の中の 「Windows add-ons」をクリック.
- ファイルの選択
Tomcat 5.5 系列の最新バージョンを使いたいので、 「xampp-win32-tomcat-addons-5.5.20-2.2.4-installer.exe」をクリック.
- ミラーサイトの選択
ミラーサイトを選択したいので、 「Select a different mirror?」をクリック.
- 日本のサイトを選択
日本のミラーサイトを選択したいので、 「Asic」のところにある 「..., Japan」をチェックし、 「OK」をクリック.
- ダウンロード開始
Apache Tomcat コネクタの設定
【関連する外部ページ】
- http://sourceforge.net/project/showfiles.php?group_id=61776
Apache Tomcat に内蔵の HTTP サーバではなく,Apache HTTP サーバと Apache Tomcat を連携させて動かします. そのためには,「コネクタ」と呼ばれるプログラムを使う. Apache Tomcat にはすでに主要ないくつかのコネクタが搭載済みです. Apache HTTP サーバ側には,コネクタの設定を行う必要がある。 コネクタにはいくつか種類がありますが、 最善だと判断される mod_proxy_ajp モジュールを使う。
お断り
Apache HTTP サーバのインストールについての記述は、別の Webページ に移しました.
jk, jk2 コネクタについての記述は、別の Webページ に移しました。
準備事項
Aapahe HTTP サーバのインストール が済んでいること.
Tomcat インストールとテスト実行 が済んでいること.
Apache の httpd.conf ファイルの場所と,Tomcat インストールディレクトリを調べておくこと。この資料では,次のように書く.
- Apache の httpd.conf ファイルの場所: C:\Program Files\Apache Group\Apache Software Foundation\Apache2.2\conf\httpd.conf
XAMPP を使って Apache をインストールした場合には、 httpd.conf ファイルの場所は、 C:\xampp\apache\conf\httpd.conf になるので読み替えてください。
- Tomcat インストールディレクトリ: c:\tomcat55 (Windows の場合), /usr/local/apache-tomcat-5.5.23(Linux の場合)
Apache mod_proxy_ajp モジュールの設定
C:\Program Files\Apache Group\Apache Software Foundation\Apache2.2\confにあるhttpd.conf に次のような2行があるので書き換える
【変更前】 # LoadModule proxy_module modules/mod_proxy.so # LoadModule proxy_ajp_module modules/mod_proxy_ajp.so 【変更後】 LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
httpd.conf の末尾に、次の1行を書き加える。 これは、tomcat 関係の設定を httpd.conf では無く、 conf/extra/httpd-proxy.conf にまとめて書きたいための設定。
Include conf/extra/httpd-proxy.conf
Tomcat での 8080 ポートの抑止
C:\tomcat55\conf\server.xml 内にある port="8080" についての記述をコメ ントにする。 これで、Tomcat と 8080 ポートで通信することはできなくなり、 Apache 経由での Tomcat との通信が許されることになる。
【変更前】 <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> 【変更後】 <!-- <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> -->
テスト実行
Tomcat に付属のサンプルファイルを使ってテスト
- conf/extra/httpd-proxy.conf の設定
Order と Allow の行は、「127.0.0.1」からのアクセスだけを許すという設定です。
<Location /servlet-examples/> ProxyPass ajp://localhost:8009/servlet-examples/ Order allow,deny Allow from 127.0.0.1 </Location>
- Tomcat の再起動:
C:\tomcat55\bin\tomcat5w.exe を使用して、Tomcat を再起動する
- apache httpd の再起動:
httpd.conf を書き換えたので、再起動が必要。
- 下記の URL を使い、examples/servlets のページを開く.
「:8080」を付けていないので、Tomcat に直接アクセスするのでなく、Web サー バにアクセスしていることになる。
(オプション) リクエストについての設定
今後、Tomcat の c:\tomcat55\webapps\WEB-INF\classes\ ディレクトリには、Java プログラムファイルが多数置かれることになる。 Web の http://ほにゃらら、という URL へのアクセスがあると、これらクラスの doGet メソッドが起動されるという仕組みになっている。 そのために、URL へのリクエストを、Tomcat 側のどこのディレクト リに飛ばすかを、個々の URL ごとに設定することになる。その設定 を行ってみる(なお、Tomcat 側のどこのディレクトリと、クラスとのマッピングは、 Tomcat の web.xml の設定。混同しないこと)。
ここでは、試しに、 http://localhost/hello に対するアクセスを、Tomcat 側の hello に飛ばすように設定してみます。
conf/extra/httpd-proxy.conf を次のように書く。 Order と Allow の行は、「127.0.0.1」からのアクセスだけを許すという設定です。
<Location /hello/> ProxyPass ajp://localhost:8009/hello/ Order allow,deny Allow from 127.0.0.1 </Location>
上記の設定をテストするためには、 Tomcat のプログラム の Web ページに記載した HelloWorldExample.java プログラムを参考にして ください。
httpd.conf を書き換えたので、apahce httpd をリスタートすること。