タイトル | 大津真=XはUNIXでサーバで》Tomcat4のインストール(2) | カテゴリー | サーバー製品, Java, 大津真=XはUNIXでサーバで |
作成日 | 2001/12/7 14:4:39 | 作成者 | 新居雅行 |
――――Apacheと連携させる 次にTomcatをApacheと連携させてみましょう。つまりWebサーバ機能はApacheが担当しTomcatはServletコンテナとして動作します。 ――――――――コネクタのインストール この場合、ApacheとTomcatを接続するためのコネクタと呼ばれるApacheのモジュールが必要になります。コネクタはソースから作成することもできますが、前出のTomcatのダウンロードページにOS X用のコネクタのバイナリ(webapp-module-1.0-tc40-macosx.tar.gz)が用意されていたので、ここではそれをそのまま使用しました。 なお、Internet Explorerを使ってダウンロードすると、長いファイル名の最後の部分(「ar.gz」など)が切れてしまう場合があります。その場合、FinderもしくはTerminal上で補正してください。 圧縮ファイルをダウンロードしたら、次に示す手順でコネクタ(mod_webapp)をインストールします。 1. ダウンロードした圧縮ファイルを適当なディレクトリで展開します。 % tar xvzf webapp-module-1.0-tc40-macosx.tar.gz 〈return〉 webapp-module-1.0-tc40/ webapp-module-1.0-tc40/docs/ webapp-module-1.0-tc40/docs/api-c/ webapp-module-1.0-tc40/docs/api-c/allclasses-frame.html 2. mod_webapp.soをApacheのモジュールディレクトリ( /usr/libexec/httpd/)にコピーします。 % sudo cp webapp-module-1.0-tc40/mod_webapp.so /usr/libexec/httpd/ 〈return〉 Password: ←パスワードを入力 ――――Apache側の設定 次に、Apacheの設定ファイル/etc/httpd/httpd.confを修正します。httpd.confの編集にはroot権限が必要ですので「sudo vi /etc/httpd/httpd.conf」のようにして、エディタをsudo経由で立ち上げてください。 ――――――――mod_webappモジュールの読み込み まずは、次のようにしてApacheがコネクタmod_webapp.soをモジュールとして読み込むように設定します。 1. httpd.confのサーバ名を指定する「ServerName」というパラメータを検索しホスト名を設定します。 初期状態では先頭に「#」が付いてコメントになっています。「#」を外して正しいホスト名を指定します。 ServerName g3mac.xxxxxxxx.com 2. モジュールを読み込むための設定を追加します。 httpd.confの途中に「LoadModule」行が並んでいますが、その最後に次の行を追加します。 LoadModule webapp_module libexec/httpd/mod_webapp.so 「AddModules」行の最後に次の行を追加します。 AddModule mod_webapp.c 3. Apacheが受け取ったWebアプリケーションに対する要求をTomcatに振り分けるようにします。 ここではTomcatに用意されているServleとJSPのサンプルにアクセスするための設定例を示します。httpd.confの最後に次のような行を加えてください。 〈リスト〉httpd.confの追加分 WebAppConnection warpConnection warp localhost:8008 ←(1) WebAppDeploy examples warpConnection /examples ←(2) (1)では、「warpConnection」という名前のコネクションを宣言し、サーブレットコンテナがローカルホストの8008番ポートで要求を受け付けるように設定しています。このポート番号は$CATALINA_HOME/conf/server.xmlで設定されています。 (2)では、「warpConnection」コネクションに対して、「httpd://ホスト名/examples」を、examplesディレクトリ($CATALINA_HOME/webapps/examples)にワープさせるように関連付けています。書式は次のようになるので必要に応じてURLパスやWebアプリケーション名を変更してください。 WebAppDeploy なお、Webアプリケーション名は、デフォルトのserver.xmlの設定では$CATALINA_HOME/webappsの下のディレクトリ名になります。 ――――――――ApacheとTomcatの連携を確認する httpd.confを修正したらApacheの制御コマンドapachectlをconfigtestを引数に実行し、設定ファイルにミスがないかを調べます。 % apachectl configtest〈return〉 Processing config directory: /private/etc/httpd/users Processing config file: /private/etc/httpd/users/hind.conf Processing config file: /private/etc/httpd/users/naoko.conf Processing config file: /private/etc/httpd/users/o2.conf Processing config file: /private/etc/httpd/users/pub.conf Syntax OK このように「Syntax OK」と表示されれば設定ファイルにミスはありません。 Apacheを再起動して設定を反映させる前に、あらかじめTomcatを起動する必要があります。このときすでにTomcatを立ち上げていた場合には、念のためいったん停止してから再起動します。 % sudo $CATALINA_HOME/bin/shutdown.sh 〈return〉 ←Tomcatの停止 Password: Using CLASSPATH: /Users/o2/java/jakarta-tomcat-4.0.1/bin/bootstrap.jar Using CATALINA_BASE: /Users/o2/java/jakarta-tomcat-4.0.1 Using CATALINA_HOME: /Users/o2/java/jakarta-tomcat-4.0.1 Using JAVA_HOME: /System/Library/Frameworks/JavaVM.framework % sudo $CATALINA_HOME/bin/startup.sh ←Tomcatの開始 Using CLASSPATH: /Users/o2/java/jakarta-tomcat-4.0.1/bin/bootstrap.jar Using CATALINA_BASE: /Users/o2/java/jakarta-tomcat-4.0.1 Using CATALINA_HOME: /Users/o2/java/jakarta-tomcat-4.0.1 Using JAVA_HOME: /System/Library/Frameworks/JavaVM.framework 次にacpahectlコマンドにrestartを引数に渡してApacheを再起動します。 % sudo apachectl restart 〈return〉 /usr/sbin/apachectl restart: httpd restarted 以上で準備は完了です。Webブラウザで「http://localhost/examples/」にアクセスしてみましょう(スタンドアローンモードと異なりポート番号は指定する必要はありません)。次のように表示されればApacheとTomcatの連携はうまくいっています。 ![]() スタンドアローンモードと同じようにServletとJSPのサンプルが実行できるかどうかを確かめましょう。うまく動かない場合には、$CATALINA_HOME/logsディレクトリに作成されるログファイルを確認してください。 (続く) [大津真] | |
関連リンク | 大津真Web Site |