#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]]

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS