●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プラグインを使うと勝手にやってくれます。
以上でインストールは終了。後はゴリゴリ開発するかツールを取ってきて
入れるのみです。