トップ 差分 一覧 ソース 検索 ヘルプ RSS ログイン

TOMCAT4

TOMCAT をインストールしないといけなくなったので
その為の備忘録でメモしたものを友人の依頼で掲載
なので間違いや表記ミスがあるかもしれませんので
ご了承下さい。。
( 一部インストールのメモが正しいか確認した時に一部訂正した 2004/4/5)
( JAVA のダウンロード頁の変更を行なった。2005/5/3)

ホームページ http://jakarta.apache.org/tomcat/

ダウンロード http://jakarta.apache.org/site/binindex.html (Tomcat)

JAVA のダウンロード http://java.sun.com/

                   http://www.java.com/

(本当は直接リンクを貼りたくないのですが。徐々にわかりにくくなっているので。。http://java.sun.com/j2se/1.3/ja/download-linux.html (J2SE SDK 1.3.1)出来る限り上のリンクからたどって下さい。

まずはApacheをDSOサポート付きでインストールします。

 tar xvfz apache_1.3.20.tar.gz
 cd apache_1.3.20
 ./configure --enable-rule=SHARED_CORE --enable-module=so
 make
 make install
# ./configure \
# "--with-layout=Apache" \
# "--enable-module=so" \
# "--enable-rule=SHARED_CORE" \
# "--enable-module=all" \
# "--enable-shared=max" \

J2SE SDKのインストール

 sh j2sdk-1_4_2-linux-i386.bin

~/.bash_profileなどで環境変数を設定しておきます。

 export JAVA_HOME=/usr/local/java/
 export PATH=$PATH:$JAVA_HOME/bin

とりあえずスタンドアロンでTomcatをインストール

/usr/local/tomcatにインストールするには以下のようにします。

tar xvfz jakarta-tomcat-4.x.x.tar.gz
mv jakarta-tomcat-4.x.x /usr/local/tomcat

bin/ディレクトリ内の実行ファイルに実行属性が付いていないので、実行属性を設定します。

chmod +x /usr/local/tomcat/bin/*

起動します。

/usr/local/tomcat/bin/startup.sh

http://ホスト名:8080/ にアクセスできれば、okです。

停止するには以下のようにします。

# /usr/local/tomcat/bin/shutdown.sh

Apacheに組み込む

Apacheのconf/httpd.confに以下を追加します。

Include /usr/local/tomcat/conf/mod_jk.conf-auto

TomcatとApacheを起動します。

/usr/local/tomcat/bin/startup.sh
/usr/local/apache/bin/apachectl start

http://localhost/ 」で普通にApacheのコンテンツにアクセスできつつ、「 http://localhost/examples/jsp/」でJSPのサンプルにアクセスできれば、okです。

この設定では、Tomcatを起動するタイミングで、conf/server.xmlの設定内容に合わせて、conf/mod_jk.conf-autoが自動的に書き換わります。これにより、Apache側の設定を意識しないで済みます。

  java のパス設定のシェル
##################################################################
       [root@test1 src]# more java_setup.sh 
       #!/bin/sh
       #
       # Source function library.
       # . /etc/rc.d/init.d/functions
       #
       JAVA_HOME=/usr/local/java
       TOMCAT_HOME=/usr/local/tomcat323
       PATH=$JAVA_HOME/bin:$PATH
       #
         CLASSPATH=$JAVA_HOME/jaf-1.0.1/activation.jar:$JAVA_HOME/javamail-1.2/mail.jar
       #
       export JAVA_HOME PATH CLASSPATH TOMCAT_HOME
       #
       #  DONOT USE ( DEBUG )
       export WORK_LIB_DIR=/usr/local/MOD/tomcat/lib
       export CLASSPATH=$WORK_LIB_DIR/jaxp-1.1/jaxp.jar
       export CLASSPATH=$WORK_LIB_DIR/jaxp-1.1/crimson.jar:$CLASSPATH
       export CLASSPATH=$WORK_LIB_DIR/jaxp-1.1/xalan.jar:$CLASSPATH
       export CLASSPATH=$WORK_LIB_DIR/jsse1.0.2/lib/jcert.jar:$CLASSPATH
       export CLASSPATH=$WORK_LIB_DIR/jsse1.0.2/lib/jnet.jar:$CLASSPATH
       export CLASSPATH=$WORK_LIB_DIR/jsse1.0.2/lib/jsse.jar:$CLASSPATH
       export CLASSPATH=/usr/local/MOD/tomcat/src/jakarta-ant/build/lib/optional.jar:$CLASSPATH
       export CLASSPATH=/usr/local/MOD/tomcat/src/jakarta-ant/build/lib/ant.jar:$CLASSPATH
       #
       # exit 0

####################################################################

TOMCAT のコンパイル

       コンパイルに必要なファイル
       apache
            apache_1.3.12.tar.gz
       java-sdk
            j2sdk-1_3_0-linux.bin
       java-conport( j2sdk_1_4_1 の場合には入らない?? )
               jaxp-1_0_1.zip
               sse-1_0_2-gl.zip
       tomcat
            jakarta-ant-src.tar.gz
            jakarta-tomcat-3.2.1-src.tar.hz
            jakarta-servletapi-3.2-src.tar.gz

始めに ワークディレクトリを /usr/local/src とする。

 次の2つのファイルを展開する。  
  jakarta-tomcat-3.2.1-src.tar.hz
  jakarta-servletapi-3.2-src.tar.gz
 それぞれ
       jakarta-tomcat-3.2.3-src
       jakarta-servletapi-3.2.3-src
  と言う名前のディレクトリになるので
       jakarta-tomcat
       jakarta-servletapi
  と言う名前に変更する。
       jakarta-servletapi  jakarta-tomcat

ANT の作成

  ワークディレクトリに
       jakarta-ant 
  と言う名のディレクトリを作成する。
       cd jakarta-ant
       tar xvfz /root/tomcat3/jakarta-ant-src.tar.gz
  として ant のソースを展開する。 ( ant のディレクトリを作らないので注意 )
       ./bootstrap.sh
  とすると
       /usr/local/src に build/ant と言うディレクトリが出来る。

ServletAPI の作成

       jakarta-servletapi に移動して
       sh ./build.sh dist
       を実行すると [ BUILD SUCCESSFUL] と表示して
       /usr/local/src 以下に dist/servletapi と言うディレクトリを作成する。
       ** dist と言うオプションを忘れると  dist/servletapi 以下に jar ファイルを
       作成しないのでご注意!!

tomcat のコンパイル

       最期に
       jakarta-tomcat に移動して。
       sh ./build.sh
       これもまた /usr/local/src/build/tomcat と言うディレクトリが作成される。。
       これを tar でまとめておく この作成した ( build/tomcat )のがインストール
       パッケージとなる。
       cd /usr/local/src/build
       tar tar cvfz tomcat3.tar.gz tomcat
       cd /usr/local/
       tar xvfz tomcat3.tar.gz
       mv tomcat tomcat323
       として 環境変数に登録する。
       TOMCAT_HOME=/usr/local/tomcat323

APACHE のロードモジュールを作成する。

       cd /usr/local/src/jakarta-tomcat/src/native/apache1.3/
       /usr/local/apache/bin/apxs -c -o mod_jk.so -I../jk \
               -I$JAVA_HOME/include -I$JAVA_HOME/include/linux *.c ../jk/*.c
      cp -p mod_jk.so /usr/local/apache/libexec/

# いくつかのワーニングがでるを確認

       その場合には
        . ./java_setup.sh
#    いくつかのワーニングがでるが無視!!!
#         mod_jk.so 
#    と言うファイルが出来るのでこれを /usr/local/apache/libexec にコピー
#       cp -p mod_jk.so /usr/local/apache/libexec/
#    と物の本には書かれているが *.so のファイルはは出来ない
#       ../jk/jk_jni_worker.c:67: jni.h: No such file or directory
#       ../jk/jk_jni_worker.c:770: warning:   #warning-------------------------------
#       ../jk/jk_jni_worker.c:771: warning: #warning NO JAVA 2 HEADERS! SUPPORT  FOR JAVA 2 FEATURES DISABLED
#       ../jk/jk_jni_worker.c:772: warning:  #warning----------------------------
#
#     とエラーがでて出来ないので
#       Makefile.linux と言うふぁいるを Makefile にコピーして
#       cp  cp Makefile.linux Makefile
#       make
#     でとりあえずでき上がったのでコピーする。
#       cp -p mod_jk.so /usr/local/apache/libexec/
#
Apache のコンフィグを修正する。
#############################################################
       TOMCAT 4 のインストール
* Download a binary distribution of Ant 1.5 from:
   http://jakarta.apache.org/builds/jakarta-ant/release/v1.5/bin/
* Modify the PATH environment variable to include directory
 "${ant.home}/bin" in its list.  This makes the "ant" command line script
 available, which will be used to actually perform the build.
* Download a binary distribution from:
 http://xml.apache.org/dist/xerces-j/
 (Tomcat was tested with "Xerces-J-bin.1.4.3.zip")
#############################################################
        TOMCAT4 のインストール(その2) バイナリー版
jakarta-tomcat-4.1.30-LE-jdk14.tar.gz
ダウンロードする。
#############################################################
        TOMCAT4 のインストール(その2-1) mod_jk の作成
  # gzip -cd autoconf-2.53.tar.gz | tar xvf -
  # cd autoconf-2.53
  # ./configure --prefix=/$home/sfw/
  # make
  # make check
  #  || いっぱい
  # make install
  # gzip -cd automake-1.8.3.tar.gz | tar xvf -
  # cd automake-1.8.3/
  # ./configure --prefix=/$home/sfw/
  # make
  # make check 
  # || いっぱい
  # make install
  #
  # gzip -cd libtool-1.4.3.tar.gz | tar xvf -
  # cd libtool-1.4.3/
  # ./configure --prefix=/$home/sfw/
  # make
  # make check
  #   || いっぱい
  # make install
  #
  # # LIBRARY_PATH の変更
  # # If you ever happen to want to link against installed libraries
  # # in a given directory, LIBDIR, you must either use libtool, and
  # # specify the full pathname of the library, or use the `-LLIBDIR'
  # # flag during linking and do at least one of the following:
  # # - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
  # #  during execution
  # # - add LIBDIR to the `LD_RUN_PATH' environment variable
  # #  during linking
  # # - use the `-Wl,--rpath -Wl,LIBDIR' linker flag
  # # - have your system administrator add LIBDIR to `/etc/ld.so.conf'
  #
  # 
  # gzip -c jakarta-tomcat-connectors-4.1.30.tar.gz | tar xvf -
  # cd jakarta-tomcat-connectors-4.1.30-src/jk/native
  # ./configure --with-apache=/usr/local/apache --with-java-home=$JAVA_HOME
  #
  # 次のエラーが出る場合には
  # jk_connect.c: In function `jk_resolve':
  # jk_connect.c:97: `in_addr_t' undeclared (first use in this function)
  # jk_connect.c:97: (Each undeclared identifier is reported only once
  # jk_connect.c:97: for each function it appears in.)
  # jk_connect.c:97: parse error before `laddr'
  # jk_connect.c:153: `laddr' undeclared (first use in this function)
  #
  # vi common/jk_connect.c で次の2行を変更する。(97行目)
  # #if defined(NETWARE)
  #   u_long laddr;
  # else
  # //      in_addr_t laddr;     /* << 削除 */
  # unsigned long laddr;         /* 追加 */
  # #endif
  # 
  # もしくは ( 動作確認 )
  #  cd /jakarta-tomcat-connectors-4.1.30-src/jk/native/apache-1.3/
  #   /usr/local/apache/bin/apxs -c -o mod_jk.so -I../jk -I../common \
  #    -I$JAVA_HOME/include -I$JAVA_HOME/include/linux *.c  ../common/*.c
  # cp mod_jk.so /usr/local/apache/libexec/
  #
  #  vi httpd.conf
  #  // 追加
  #  include /usr/local/tomcat/conf/jk/mod_jk.conf
#############################################################
        TOMCAT4 のインストール(その3) コンフィグの変更
  $TOMCAT/conf/jk を作る。
 mod_jk.conf のサンプル
# LoadModule jk_module modules/mod_jk.dll
# 
# <IfModule mod_jk.c>
# 
# JkWorkersFile <fill-path-to>/workers.properties
# JkLogFile  logs/jk.log
# JkLogLevel warn
# JkMount /*.jsp ajp13
# JkMount /servlet/* ajp13
# JkMount /examples/* ajp13
# 
# </IfModule>
#
# Load mod_jk
#
LoadModule jk_module libexec/mod_jk.so
#AddModule mod_jk.c
#
# Configure mod_jk
#
JkWorkersFile "/usr/local/tomcat/conf/jk/workers.properties"
JkLogFile  "/usr/local/tomcat/logs/mod_jk.log"
JkLogLevel error
#
# First Virtual Host.
#
#<VirtualHost AAA.BBB.CCC.DDD:80>
JkMount /examples ajp13
JkMount /examples/* ajp13
JkMount /servlet/* ajp13
#
#Alias /ABCD "/usr/local/tomcat/webapps/abcd"
#JkMount /abcd/* ajp13
#
<Location /abcd/jsp/automail.jsp>
Order deny,allow
Deny from all
Allow from 127.0.0.1
Allow from ABC.EFG.HIJ.KLM
</Location>
#
#</VirtualHost>
workers.properties の編集
# workers.properties -
workers.tomcat_home=/usr/local/tomcat
workers.java_home=/usr/local/java
ps=/
#------ DEFAULT worket list -----------------
worker.list=ajp13
#------ DEFAULT ajp13 WORKER DEFINITION -----
# worker.ajp13.port=8009
worker.ajp13.port=8209
worker.ajp13.host=localhost
worker.ajp13.type=ajp13