●tomcatのインストール [環境] RHEL4.0(Nahant) J2SE 5.0U4 apacheとtomcatはmod_jkで連携 ※tomcatとapacheは今回は同じホスト上に  インストールします。  エッジとアプリケーションを分けてもかまいません。 [準備] ・J2SE5.0をダウンロード http://java.sun.com/j2se/1.5.0/download.jsp [root@localhost ~]# sh jdk-1_5_0_04-linux-i586-rpm.bin ※/usr/java/jdk1.5.0_0Xにインストールされます 環境変数に記述(ex.~/.bashrcなど) JAVA_HOME=/usr/java/jdk1.5.0_04 PATH=$JAVA_HOME/bin:$PATH export PATH JAVA_HOME ・バイナリのダウンロード http://jakarta.apache.org/site/downloads/downloads_tomcat-5.cgi 5.5.9.tar.gz 5.5.9-compat.tar.gz 5.5.9-embed.tar.gz 5.5.9-deployer.tar.gz 5.5.9-admin.tar.gz をダウンロードする。 ・展開 [root@localhost tomcat]# tar zxvf jakarta-tomcat-5.5.9.tar.gz [root@localhost tomcat]# tar zxf jakarta-tomcat-5.5.9-compat.tar.gz [root@localhost tomcat]# tar zxf jakarta-tomcat-5.5.9-embed.tar.gz [root@localhost tomcat]# tar zxf jakarta-tomcat-5.5.9-deployer.tar.gz [root@localhost tomcat]# tar zxf jakarta-tomcat-5.5.9-admin.tar.gz ・設定 [root@localhost jakarta-tomcat-5.5.9]# cd /usr/local/tomcat/jakarta-tomcat-5.5.9/conf [root@localhost conf]# vi tomcat-users.xml ←追記 ←追記 ←追記部分を2行追加します。 ・起動確認 [root@localhost bin]# cd /usr/local/tomcat/jakarta-tomcat-5.5.9/bin [root@localhost bin]# ./startup.sh Using CATALINA_BASE: /usr/local/tomcat/jakarta-tomcat-5.5.9 Using CATALINA_HOME: /usr/local/tomcat/jakarta-tomcat-5.5.9 Using CATALINA_TMPDIR: /usr/local/tomcat/jakarta-tomcat-5.5.9/temp Using JRE_HOME: /usr/java/jdk1.5.0_04 ブラウザから http://hostname:8080でアクセス 左のメニューの「Tomcat Administration」 で管理画面が開けます。 動作確認は左側の「Examples」で実際にJSP、Servlet、WebDAVが 動いていることを確認します。 プロセスとしては [root@localhost bin]# ps aux|grep java root 15266 10.9 12.5 260468 32248 pts/4 Sl 12:19 0:03 /usr/java/jdk1.5.0_04/bin/java -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/usr/local/tomcat/jakarta-tomcat-5.5.9/common/endorsed -classpath :/usr/local/tomcat/jakarta-tomcat-5.5.9/bin/bootstrap.jar:/usr/local/tomcat/jakarta-tomcat-5.5.9/bin/commons-logging-api.jar -Dcatalina.base=/usr/local/tomcat/jakarta-tomcat-5.5.9 -Dcatalina.home=/usr/local/tomcat/jakarta-tomcat-5.5.9 -Djava.io.tmpdir=/usr/local/tomcat/jakarta-tomcat-5.5.9/temp org.apache.catalina.startup.Bootstrap start とtomcatが起動しています。 ・停止 [root@localhost bin]# cd /usr/local/tomcat/jakarta-tomcat-5.5.9/bin [root@localhost bin]# ./shutdown.sh Using CATALINA_BASE: /usr/local/tomcat/jakarta-tomcat-5.5.9 Using CATALINA_HOME: /usr/local/tomcat/jakarta-tomcat-5.5.9 Using CATALINA_TMPDIR: /usr/local/tomcat/jakarta-tomcat-5.5.9/temp Using JRE_HOME: /usr/java/jdk1.5.0_04 tomcatの動作の設定は /usr/local/tomcat/jakarta-tomcat-5.5.9/conf/server.xml で全て制御できます。 apacheとtomcatを連携させる ●tomcat connectors(mod_jk)のインストール tomcatだけインストールして起動しても http://host:8080/xxx/ と8080番ポートでしかAPサーバか起動していない。 サーブレットへのアクセスも http://host/xxx/ とサーブレットのリクエストも80番ポートで受けて、tomcatに渡せる ようにしておきましょう。そのためにはtomcat_connectorsの インストールが必要になります。 [準備] http://jakarta.apache.org/site/downloads/downloads_tomcat-connectors.cgi から使用しているOS用バイナリをダウンロード 今回はLinux-i686用を用意する。 apacheもモジュールとして組み込んでいきますが、 もし、mod_jservが入っている場合は無効にする必要があります。 ※mod_jkはmod_jservの代わりとなるものです。  無効にするにはhttpd.confでLoadModuleで読み込んでいる場合は  mod_jserv関連のディレクティブの部分もコメントアウトしておきましょう。    mod_jk2はもうすでに開発が終わっていて、mod_jkに機能は取り込まれているので  選択としてはmod_jkを使います。  ダウンロードの際に間違えないようにmod_jkのバイナリを落としてきましょう。 [ダウンロード] ダウンロードは特筆するまでもありませんが、 mod_jkは少し階層が深くバイナリがどこにあるか わかりにくいので以下の手順でダウンロードする。 ・http://jakarta.apache.org/ →左上の「Downloads」 →メインコンテンツのDownlods項目の「tomcat」 →「Tomcat Connectors (mod_jk, mod_jk2, mod_webapp) 」 →JK 1.xの部分の「JK 1.x Binary Releases」 →「自分の使っているOS」 →「新しいほうのバージョン」 →「自分の使っているCPUチップの.so」 前述のものがコンパイル済みのバイナリですが、 http://jakarta.apache.org/tomcat/connectors-doc/howto/apache.html を参考にし、apacheのapxsがあれば自分でコンパイルすることも可能です。 [設定] 設定には2つのファイルを使います。 workers.propaties(新規作成) httpd.conf(既存) workers.propatiesにはアプリケーションを処理する ホストの定義を記述します。 httpd.confにはモジュールの読み込みと tomcatにどのように渡すかの振る舞いを記述します。 ●workers.propeties作成 [root@localhost conf]# vi /etc/httpd/conf/workers.properties このファイルはapacheのhttpd.confと同じ場所に入れておくと分かりやすいでしょう。 --- #アプリケーションを処理するworker名(なんでも良い) #今回はworker1にする worker.list=worker1 #port番号デフォルトは8080番 worker.worker1.port=8080 #ここは実際に処理するホスト #ホスト名で解決できるときはホスト名で #IPアドレスでもよい worker.worker1.host=localhost worker.worker1.type=ajp13 worker.worker1.lbfactor=1 #全パラメータの詳細は #http://tomcat.apache.org/connectors-doc/howto/workers.html #で確認しましょう。 --- デフォルトの雛形は $TOMCAT_HOME/conf/wokers.propaties に存在するのでそのファイルを編集しましょう。 最低限上記の記述で動くはず。 またロードバランシングをする場合もこちらにhowtoが公開されています。 http://jakarta.apache.org/tomcat/connectors-doc/howto/workers.html ●httpd.confの編集 [root@localhost httpd]# vi /etc/httpd/conf/httpd.conf すでにapacheが正常に動いていることが前提で モジュールもダイナミックにロードできることが前提です。 dsoを有効にしてコンパイルしておきましょう。 今回はRHELについているapacheをそのまま使用しています。 --------------- ####For tomcat connector####### #モジュールの読み込み LoadModule jk_module modules/mod_jk.so #以下mod_jkに関するディレクティブ JkWorkersFile /etc/httpd/conf/workers.properties JkLogFile /var/log/httpd/jk.log JkLogLevel info # Sample JkMounts. Replace these with the paths you would # like to mount from your JSP server. # 以下記述方法は JkMount [URL prefix] [Worker name] # が文法になります。worker1の部分はworkers.propatiesで # 定義した名前になります。 JkMount /*.jsp worker1 JkMount /servlet/* worker1 JkMount /examples/* worker1 JkMount /jsp-examples/* worker1 JkMount /servlet-examples/* worker1 -------------------- ※apache2を対象にしています。 このディレクティブに関する詳細は http://jakarta.apache.org/tomcat/connectors-doc/howto/apache.html に全て記述されています。必要なものがあれば適宜追加すると良いでしょう。 [起動確認] 以上で設定までは全て完了したので # /usr/local/apache2/bin/apachectl restart をしてapacheは再起動してhttpd.confを読み込みなおしましょう。 http://ホスト/jsp-examples/や http://ホスト/servlets-examples/ にアクセスしサンプルアプリケーションが動作するか確認しましょう。 http://ホスト:8080/jsp-examples/ http://ホスト:8080/servlets-examples/ でアクセスしたものと同じ画面です。 ※アクセスするときはURLの最後の「/」を忘れないように。 うまく動作しない場合は ・apacheのerrorログ ・tomcatのログ($TOMCAT_HOME/logs/*) ・mod_jkのログ を確認しましょう。おそらく何かしらうまくいかなかった ヒントが隠れています。 以上でtomcatのインストールは終了です。 [その他] 自分のwebアプリケーションを追加する場合 のような一行を追加します。この辺はeclipseでtomcatプラグインを使うと勝手にやってくれます。 以上でインストールは終了。後はゴリゴリ開発するかツールを取ってきて 入れるのみです。