#contents();
*** インストールイメージの取得 [#a2e5ed81]
- Java 開発環境 (jdk)はインストール済み ← Lucene で先に対応すみ
- Tomcat 5.5.17 (現時点の最新版)のインストール
- &color(red){当初 ZIP 版をインストールしたが、展開されたファイルに実行パーミションの設定がない事が問題となった。 何処を修正すればよいか 範囲を特定できないので tar.gz で入れ直した};
+ Core = apache-tomcat-5.5.17.tar.gz
+ Deployer = apache-tomcat-5.5.17-deployer.tar.gz
+ Administration Web Application = apache-tomcat-5.5.17-admin.tar.gz
+ JDK 1.4 compatibility =apache-tomcat-5.5.17-compat.tar.gz
+ Embedded = apache-tomcat-5.5.17-embed.tar.gz
[root@spirit java]# tar xzvf /opt/ftp/ftp_muna/Tomcat/apache-tomcat-5.5.17.tar.gz
[root@spirit java]# tar xzvf /opt/ftp/ftp_muna/Tomcat/apache-tomcat-5.5.17-admin.tar.gz
[root@spirit java]# tar xzvf /opt/ftp/ftp_muna/Tomcat/apache-tomcat-5.5.17-deployer.tar.gz
[root@spirit java]# tar xzvf /opt/ftp/ftp_muna/Tomcat/apache-tomcat-5.5.17-compat.tar.gz
[root@spirit java]# mv apache-tomcat-5.5.17 tomcat-5.5.17
[root@spirit java]# mv apache-tomcat-5.5.17-deployer/ tomcat-5.5.17-deployer/
- Tomcat 5.5.17 テクノロジーベース → &color(blue){Servlet 2.4、JSP 2.0 complient};
*** Tomcat Web Admin ツール用のアカウントを作成 [#oc75e07b]
- "$CATALINA_HOME/confg/tomcat-users.xml" ファイルを編集する
-- User = admin
-- Pass = administrator
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
<role rolename="tomcat"/>
<role rolename="role1"/>
<role rolename="admin"/>
<user username="admin" password="administrator" roles="admin"/>
<user username="tomcat" password="tomcat" roles="tomcat"/>
<user username="role1" password="tomcat" roles="role1"/>
<user username="both" password="tomcat" roles="tomcat,role1"/>
</tomcat-users>
- /http://localhost:8080/admin でWeb版管理ツールが起動した
&ref(tomcat_admin.JPG);
- &color(red){XMLファイルを直接変更するのはミスの元なので、できるだけこのWeb版ツールを活用していく};
*** JK connector のインストール [#ac9f4b5f]
- JK2 より(古い) JK を使うことが推奨されているので JK を採用した
- jk connector には apxs が必要だが、Cent OS にはデフォルトで組み込まれていないことがわかった
- httpd-devel パッケージをインストール
[root@spirit local]# yum install httpd-devel
[root@spirit sbin]# ls -l /usr/sbin/apxs
-rwxr-xr-x 1 root root 21528 1月 6 03:31 /usr/sbin/apxs
- Apache 用コネクタ mod_jk.so をビルドする
[root@spirit ~]# cd Downloads/jakarta-tomcat-connectors-1.2.15-src/jk/native/
[root@spirit native]# ./configure --with-apxs=/usr/sbin/apxs
[root@spirit native]# make
[root@spirit native]# make install
[root@spirit native]# ls -l /usr/lib/httpd/modules/mod_jk*
-rwxr-xr-x 1 root root 465073 6月 13 11:14 /usr/lib/httpd/modules/mod_jk.so
- /etc/httpd/conff/httpd.conf に mod_jk を読み込ませる設定を追加
LoadModule jk_module modules/mod_jk.so
( snip )
#----------------------------------------------------------------------------------------------
# Tomcat jk connector の 設定
#----------------------------------------------------------------------------------------------
<IfModule mod_jk.c>
JkWorkersFile "/usr/java/tomcat-5.5.17/conf/workers.properties"
JkLogFile logs/jk.log
JkLogLevel warn
JkMount /*.jsp ajp13
JkMount /servlet/* ajp13
JkMount /examples/* ajp13
</IfModule>
//- /etc/httpd/conf/jk.conf の作成
//
// [root@spirit native]# cat /etc/httpd/conf/jk.conf
// # Tomcat jk connector config
// # Refered from http://www.system-act.com/web/tomcat.html
//
// JkWorkersFile conf/workers.properties
// JkLogFile /var/log/httpd/mod_jk.log
// JkLogLevel info
// JkShmFile logs/jk.shm
//
// JkMount /manager/* ajp13
// JkMount /jobs ajp13
// JkMount /jobs/* ajp13
// JkMount /humans ajp13
// JkMount /humans/* ajp13
- $CATALINA_HOME/conf/workers.propertiesファイルを作成
[root@spirit tomcat-5.5.17]# cat conf/workers.properties
# muna create this from http://tomcat.apache.org/connectors-doc/howto/quick.html
# Define 1 real worker using ajp13
worker.list=worker1
# Set properties for worker1 (ajp13)
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009
worker.worker1.lbfactor=50
worker.worker1.cachesize=10
worker.worker1.cache_timeout=600
worker.worker1.socket_keepalive=1
worker.worker1.recycle_timeout=300
*** Tomcat 実行用ディレクトリー($CATALINA_BASE)の作成 [#lca939a7]
- &color(red){CATALINA_BASE は CATALINA_HOME と同じ場所を指すことにした};
export CATALINA_HOME=/usr/java/tomcat-5.5.17
export CATALINA_BASE=/usr/java/tomcat-5.5.17
*** Tomcat 起動設定ファイル(/home/tomcat/conf/server.xml)の変更 [#g6482546]
<!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
<!-- Apace connector 経由で接続するので 8080 は無視する)
<Connector port="8080" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" />
-->
<!-- Note : To disable connection timeouts, set connectionTimeout value
to 0 -->
<!-- Note : To use gzip compression you could set the following properties :
compression="on"
compressionMinSize="2048"
noCompressionUserAgents="gozilla, traviata"
compressableMimeType="text/html,text/xml"
-->
*** Tomcat デーモン化 [#nb5f1072]
- jsvc のビルド
[root@spirit ~]# cd $CATALINA_HOME/bin
[root@spirit bin]# tar xzvf jsvc.tar.gz
[root@spirit bin]# cd jsvc-src/
[root@spirit jsvc-src]# autoconf
[root@spirit jsvc-src]# chmod 744 configure
[root@spirit jsvc-src]# ./configure
[root@spirit jsvc-src]# make
[root@spirit jsvc-src]# cp jsvc ..
[root@spirit jsvc-src]# cd ..
[root@spirit bin]# ls -l jsvc*
-rwxr-xr-x 1 root root 94108 6月 16 10:26 jsvc
-rw-r--r-- 1 root root 74398 4月 15 03:09 jsvc.tar.gz
- jsvc コマンドを使って tomcat をデーモンとして起動
[root@spirit tomcat-5.5.17]# ./bin/jsvc -Djava.endorsed.dirs=./common/endorsed -cp (↓ 続く)
./bin/bootstrap.jar -outfile ./logs/catalina.out -errfile (↓ 続く)
./logs/catalina.err org.apache.catalina.startup.Bootstrap
[root@spirit tomcat-5.5.17]# ps aux | grep jsvc
root 26944 0.0 0.0 3460 496 ? Ss 02:11 0:00 jsvc.exec -Djava.endorsed.dirs=./common/endorsed -cp ./bin/bootstrap.jar -outfile ./logs/catalina.out -errfile ./logs/catalina.err org.apache.catalina.startup.Bootstrap
root 26945 1.2 2.8 264280 29636 ? Sl 02:11 0:03 jsvc.exec -Djava.endorsed.dirs=./common/endorsed -cp ./bin/bootstrap.jar -outfile ./logs/catalina.out -errfile ./logs/catalina.err org.apache.catalina.startup.Bootstrap
root 27021 0.0 0.0 5380 760 pts/1 R+ 02:15 0:00 grep jsvc
*** jsvc を使った Tomcat の自動起動の設定 [#je223794]
- The file &color(red){$CATALINA_HOME/bin/jsvc/native/tomcat.sh}; can be used as a template for starting Tomcat automatically at boot time from /etc/init.d.
- 実際には tomcat5.x 用のテンプレート(tomcat5.sh)があり、これを元に環境変数などの情報を反映するようにファイルを編集する
[root@spirit native]# cat Tomcat5.sh
#!/bin/sh
##############################################################################
#
# Copyright 2004 The Apache Software Foundation.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
##############################################################################
#
# Small shell script to show how to start/stop Tomcat using jsvc
# If you want to have Tomcat running on port 80 please modify the server.xml
# file:
#
# <!-- Define a non-SSL HTTP/1.1 Connector on port 80 -->
# <Connector className="org.apache.catalina.connector.http.HttpConnector"
# port="80" minProcessors="5" maxProcessors="75"
# enableLookups="true" redirectPort="8443"
# acceptCount="10" debug="0" connectionTimeout="60000"/>
#
# That is for Tomcat-5.0.x (Apache Tomcat/5.0)
#
# Adapt the following lines to your configuration
#JAVA_HOME=/home2/java/j2sdk1.4.2_03 ← コメントアウト( /etc/profile で指定済み )
#CATALINA_HOME=/home/tomcat5/tomcat5/jakarta-tomcat-5/build ← コメントアウト( /etc/profile で指定済み )
#DAEMON_HOME=/home/jfclere/daemon
DAEMON_HOME=/usr/java/tomcat-5.5.17 ← $CATALINA_HOME と同じ場所に変更
#TOMCAT_USER=tomcat5
TOMCAT_USER=tomcat ← $CATALINA_HOME/conf/tomcat-users.xml に定義済みのユーザー名に変更
# for multi instances adapt those lines.
TMP_DIR=/var/tmp
PID_FILE=/var/run/jsvc.pid
#CATALINA_BASE=/home/tomcat5/tomcat5/jakarta-tomcat-5/build
CATALINA_BASE=/usr/java/tomcat-5.5.17 ← $CATALINA_HOME と同じパスを指定
CATALINA_OPTS="-Djava.library.path=/home/jfclere/jakarta-tomcat-connectors/jni/native/.libs"
CLASSPATH=\
$JAVA_HOME/lib/tools.jar:\
$CATALINA_HOME/bin/commons-daemon.jar:\
$CATALINA_HOME/bin/bootstrap.jar
case "$1" in
start)
#
# Start Tomcat
#
$DAEMON_HOME/src/native/unix/jsvc \
-user $TOMCAT_USER \
-home $JAVA_HOME \
-Dcatalina.home=$CATALINA_HOME \
-Dcatalina.base=$CATALINA_BASE \
-Djava.io.tmpdir=$TMP_DIR \
-wait 10 \
-pidfile $PID_FILE \
-outfile $CATALINA_HOME/logs/catalina.out \
-errfile '&1' \
$CATALINA_OPTS \
-cp $CLASSPATH \
org.apache.catalina.startup.Bootstrap
#
# To get a verbose JVM
#-verbose \
# To get a debug of jsvc.
#-debug \
exit $?
;;
stop)
#
# Stop Tomcat
#
$DAEMON_HOME/src/native/unix/jsvc \
-stop \
-pidfile $PID_FILE \
org.apache.catalina.startup.Bootstrap
exit $?
;;
*)
echo "Usage tomcat.sh start/stop"
exit 1;;
esac
- 変更後のスクリプトを /etc/init.d の下に tomcat とリネーム、実行権をつけてコピーする
[root@spirit native]# cp Tomcat5.sh /etc/init.d/tomcat
[root@spirit native]# chmod 755 /etc/init.d/tomcat
[root@spirit native]# ls -l /etc/init.d/tomcat
-rwxr-xr-x 1 root root 2773 6月 17 03:23 /etc/init.d/tomcat
- デフォルトの起動・停止スクリプトを init.d から呼び出せるようにする
[root@spirit init.d]# cat /etc/init.d/tomcat
#!/bin/sh
#
# Startup script for the Tomcat Servlet Engine
#
# chkconfig: - 84 15
# description: Tomcat is a Servlet Engine. It is used to server \
# JSP files and Servlet.
# processname: tomcat
# config: $CATALINA_BASE/conf/server.xml
# Source function library.
. /etc/rc.d/init.d/functions
# Check that networking is up.
if [ -f /etc/sysconfig/network ]; then
. /etc/sysconfig/network
fi
[ ${NETWORKING} = "no" ] && exit 0
if [ -f /etc/sysconfig/tomcat ]; then
. /etc/sysconfig/tomcat
fi
RETVAL=0
# See how we were called.
case "$1" in
start)
echo -n $"Starting tomcat: "
# daemon --user nobody /etc/rc.d/init.d/tomcatStart
daemon --user nobody /usr/java/tomcat-5.5.17/bin/startup.sh
RETVAL=$?
echo
[ $RETVAL = 0 ] && touch /var/lock/subsys/tomcat
;;
stop)
echo -n $"Shutting down tomcat: "
# daemon --user nobody /etc/rc.d/init.d/tomcatStop
daemon --user nobody /usr/java/tomcat-5.5.17/bin/shutdown.sh
RETVAL=$?
echo
[ $RETVAL = 0 ] && rm -f /var/lock/subsys/tomcat
;;
status)
status tomcat
RETVAL=$?
;;
restart)
$0 stop
$0 start
;;
*)
echo $"Usage: $0 {start|stop|restart|status}"
exit 1
esac
exit $RETVAL
- /etc/init.d に起動スクリプトを配置して、自動起動を設定する
[root@spirit init.d]# chmod 755 tomcat
[root@spirit init.d]# chkconfig --add tomcat
[root@spirit init.d]# chkconfig tomcat on
[root@spirit init.d]# chkconfig --list tomcat
tomcat 0:off 1:off 2:on 3:on 4:on 5:on 6:off
*** 起動確認 [#p1e94877]
- Apache より先に Tomcat を起動させる必要がある
[root@spirit tomcat]# service httpd stop
httpd を停止中: [ OK ]
[root@spirit tomcat]# service tomcat restart
Shutting down tomcat: [ OK ]
Starting tomcat: [ OK ]
[root@spirit tomcat]# service httpd start
httpd を起動中: [ OK ]
*** 動作確認 [#zf5c6618]
- http://localhost/examples/servlet/HelloWorldExample
- http://www.hmuna.com/examples/servlet/HelloWorldExample
*** 参照 URL [#pfc6f67d]
- [[Apache Jakarta Project:http://jakarta.apache.org/]]
- [[Tomcat 簡易ユーザーガイド:http://www.ingrid.org/jajakarta/tomcat/tomcat-3.2.1/doc-ja/uguide/tomcat_ug.html#server_xml]]
- [[Jakarta 公式ページの "Apache と Tomcat の連係方法":http://www.ingrid.org/jajakarta/tomcat/tomcat-3.2.1/doc-ja/tomcat-apache-howto.html]]
- [[Tomcat5 サーブレット/JSPコンテナ(公式ページ、日本語訳):http://www.jajakarta.org/tomcat/tomcat5.0/mix/docs/tomcat-docs/index.html]]
----
- [[Apache Tomcat:http://tomcat.apache.org/]]
- [[Tomcat 備忘録:http://hidekazu.dhs1.sst.ne.jp/pukiwiki/pukiwiki.php?Tomcat]]
- [[Tomcat 5.5.7 インストールメモ:http://www.system-act.com/web/tomcat.html]]
- [[オフィシャル Apache - Tomcat 連携モデル:http://www.ingrid.org/jajakarta/tomcat/tomcat-3.2.1/doc-ja/tomcat-apache-howto.html#httpd]]
- [[ApacheとTomcatを連携させる:http://www.alles.or.jp/~torutk/oojava/sabbath/tomcatConnector.html]]
- [[Apache 連係:http://www.bitlink.co.jp/server/lin_tomcat.htm]]
- [[Tomcat 5 インストール備忘録 for Solaris8(Intel):http://happytaro.pekori.jp/Home/Java/MyDoc/Tomcat5Install/report1.0.html]]