tomcat 5.0.28 のインストール (Linux 版)
〜 mod_jk2 で apache と連動 〜
2004-09-11 作成 福島
TOP > tips > tomcat
tomcat の構築環境は以下のパッケージに依存しています。
このため、いつもならソースファイルから構築するのですが、バイナリでもインストールします。

パッケージ依存関係インストール手段
J2SE
(Java 2 Standard Edition)
ソースの提供がないバイナリ (Linux 用)
antビルドには J2SE が不可欠バイナリ (今回は省略)
tomcatビルドには J2SE,ant が不可欠バイナリ (共通)
mod_jk2ビルドには J2SE,ant が不可欠だが、環境の反映が必要ソース
struts (サンプル)war ファイルなのでバイナリで十分バイナリ (共通)
J2EE (Java 2 Enterprise Edition) について
Tomcat 4, 5 には J2EE (EJB を含まないのでサブセット) が搭載されているため、J2EE はインストールしません。 初版の 3 には搭載されていないため、別途 J2EE のインストールが必要です。

J2SE のインストール $ /bin/sh j2sdk-1_4_2_05-linux-i586-rpm.bin
              Sun Microsystems, Inc.
          Binary Code License Agreement
                   for the

JAVATM 2 SOFTWARE DEVELOPMENT KIT (J2SDK), STANDARD
EDITION, VERSION 1.4.2_X

SUN MICROSYSTEMS, INC. ("SUN") IS WILLING TO LICENSE THE
SOFTWARE IDENTIFIED BELOW TO YOU ONLY UPON THE CONDITION

--- 非常に長いので表示の都合上、省略 : きちんと読みましょう ---

For inquiries please contact: Sun Microsystems, Inc., 4150
Network Circle, Santa  Clara, California 95054, U.S.A.
(LFI#140023/Form ID#011801)

Do you agree to the above license terms? [yes or no]
yes
Unpacking...
Checksumming...
0
0
Extracting...
UnZipSFX 5.40 of 28 November 1998, by Info-ZIP (Zip-Bugs@lists.wku.edu).
  inflating: j2sdk-1_4_2_05-linux-i586.rpm
Done.
$ su # rpm -i j2sdk-1_4_2_05-linux-i586.rpm 上記の操作により生成された rpm をインストール # exit $ rpm -qa "j2sdk*"
j2sdk-1.4.2_05-fcs
J2SE が入りました
環境変数を設定する $ vi ~/.bash_profile
JAVA_HOME=/usr/java/j2sdk1.4.2_05/bin
export JAVA_HOME
PATH=$PATH:$HOME/bin:/usr/local/sbin:/usr/sbin:/sbin:$JAVA_HOME/bin
export PATH
$ . ~/.bash_profile 内容を反映 tomcat のインストール 2004-09-11 現在、tomcat 5.5.0 がリリースされていますが、 Windows と揃えるため直前のバージョンである 5.0.28 を採用します。 (Windows 2000 だと、5.5.0 がうまく起動しない) $ tar xzf jakarta-tomcat-5.0.28.tar.gz $ su # mv jakarta-tomcat-5.0.28 /usr/local/. # useradd tomcat # bash # cd /usr/local/. /usr/local# chown -R tomcat:tomcat jakarta-tomcat-5.0.28 /usr/local# ln -s jakarta-tomcat-5.0.28 tomcat /usr/local# exit # su - tomcat tomcat$ vi ~/.bashrc
export JAVA_HOME=/usr/java/j2sdk1.4.2_05
export CATALINA_HOME=/usr/local/tomcat
tomcat$ . ~/.bashrc tomcat$ /usr/local/tomcat/bin/startup.sh tomcat を起動
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JAVA_HOME:       /usr/java/j2sdk1.4.2_05
ここで、 http://サーバ名:8080/ をアクセスすると、tomcat に添付されていたサンプルが表示されます。
tomcat$ /usr/local/tomcat/bin/shutdown.sh tomcat を停止
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JAVA_HOME:       /usr/java/j2sdk1.4.2_05
startup.sh と同じ表示です。
tomcat$ tail /usr/local/tomcat/logs/catalina.out ログを表示
2004/09/08 1:12:57 org.apache.catalina.core.StandardHostDeployer remove
情報: コンテキストパス  のWebアプリケーションを削除します
2004/09/08 1:12:57 org.apache.catalina.core.StandardHostDeployer remove
情報: コンテキストパス /manager のWebアプリケーションを削除します
2004/09/08 1:12:57 org.apache.catalina.logger.LoggerBase stop
情報: unregistering logger Catalina:type=Logger,host=localhost
2004/09/08 1:12:57 org.apache.catalina.logger.LoggerBase stop
情報: unregistering logger Catalina:type=Logger
2004/09/08 1:12:57 org.apache.coyote.http11.Http11Protocol destroy
情報: Stopping Coyote HTTP/1.1 on http-8080
tomcat$ exit
mod_jk2 のインストール $ tar xzf jakarta-tomcat-connectors-jk2-src-current.tar.gz $ cd jakarta-tomcat-connectors-jk2-2.0.4-src/jk/native2 jakarta-tomcat-connectors-jk2-2.0.4-src/jk/native2$ ./buildconf.sh jakarta-tomcat-connectors-jk2-2.0.4-src/jk/native2$ ./configure --with-PACKAGE=yes --with-apxs2=/usr/local/apache2/bin/apxs jakarta-tomcat-connectors-jk2-2.0.4-src/jk/native2$ make jakarta-tomcat-connectors-jk2-2.0.4-src/jk/native2$ find .. -name 'mod_jk2.so'
../build/jk2/apache2/usr/local/apache2/modules/mod_jk2.so
../build/jk2/apache2/.libs/mod_jk2.so
../build/jk2/apache2/mod_jk2.so       <-- これ
jakarta-tomcat-connectors-jk2-2.0.4-src/jk/native2$ cd .. jakarta-tomcat-connectors-jk2-2.0.4-src/jk$ su jakarta-tomcat-connectors-jk2-2.0.4-src/jk# cp -p build/jk2/apache2/mod_jk2.so /usr/local/apache2/modules/. jakarta-tomcat-connectors-jk2-2.0.4-src/jk# cp -p conf/workers2.properties /usr/local/apache2/conf/. jakarta-tomcat-connectors-jk2-2.0.4-src/jk# vi /usr/local/apache2/conf/workers2.properties
workers2.properties に以下を追加
[uri:/servlets-examples/*]
info=Map the whole webapp

[uri:/jsp-examples/*]
info=Map the whole webapp
info= の行はコメントなので、無くても可。
jakarta-tomcat-connectors-jk2-2.0.4-src/jk# vi /usr/local/apache2/conf/httpd.conf
httpd.conf に以下を追加
LoadModule jk2_module modules/mod_jk2.so
jakarta-tomcat-connectors-jk2-2.0.4-src/jk# su - tomcat tomcat$ /usr/local/tomcat/bin/startup.sh tomcat を起動 tomcat$ exit jakarta-tomcat-connectors-jk2-2.0.4-src/jk# /usr/local/apache2/bin/apachectl start apache を起動 ※ tomcat の設定ファイル (server.xml 等) を変更して tomcat を再起動した場合は、apache も再起動します ここで、 http://サーバ名/servlets-examples/index.html http://サーバ名/jsp-examples/index.html をアクセスすると、tomcat に添付されていたサンプルが表示されます。(mod_jk2 経由なので 8080 は使いません)
struts 1.2.2 のインストールと動作確認 war ファイルをコピーしてブラウズするだけです。 tomcat の再起動も必要ありません。 $ tar xzf jakarta-struts-1.2.2.tar.gz $ ls -1 ./jakarta-struts-1.2.2/dist/webapps/*.war
パッケージの確認
./jakarta-struts-1.2.2/dist/webapps/struts-blank.war
./jakarta-struts-1.2.2/dist/webapps/struts-documentation.war
./jakarta-struts-1.2.2/dist/webapps/struts-examples.war
./jakarta-struts-1.2.2/dist/webapps/struts-mailreader.war
./jakarta-struts-1.2.2/dist/webapps/tiles-documentation.war
$ su # cp -p ./jakarta-struts-1.2.2/dist/webapps/*.war /usr/local/tomcat/webapps/. ここで、下記のようにアクセスすると、struts に添付されていたサンプル (及びドキュメント) が表示されます。 ※最初のアクセスはコンパイルのため、少し時間がかかります
http://サーバ名:8080/struts-blank/ http://サーバ名:8080/struts-documentation/ http://サーバ名:8080/struts-examples/ http://サーバ名:8080/struts-mailreader/ http://サーバ名:8080/tiles-documentation/

テスト用 JSP の動作確認 JSP ファイルを設置してみます。 ユーザ名は who です。 $ mkdir $HOME/webapps $ vi $HOME/webapps/hello.jsp
/home/who/webapps/hello.jsp
<html>
<head>
<title>Hello World!</title>
</head>
<body>
<% out.println("Hello world."); %>
</body>
</html>
$ su ユーザ tomcat になるため root になります # su - tomcat tomcat$ /usr/local/tomcat/bin/shutdown.sh tomcat が起動していたら停止します tomcat$ vi /usr/local/tomcat/conf/server.xml
/usr/local/tomcat/conf/server.xml の <Host>...</Host> の中に挿入します。
<Context path="/who"
    docBase="/home/who/webapps"
    crossContext="false"
    debug="0"
    reloadable="true">
</Context>
tomcat$ /usr/local/tomcat/bin/startup.sh server.xml を書き換えたので tomcat を起動 tomcat$ exit # exit $ ここで、 http://サーバ名:8080/who/hello.jsp をアクセスすると、 Hello world. が表示されます。