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
#
#
#
# JkWorkersFile /workers.properties
# JkLogFile logs/jk.log
# JkLogLevel warn
# JkMount /*.jsp ajp13
# JkMount /servlet/* ajp13
# JkMount /examples/* ajp13
#
#
#
# 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.
#
#
JkMount /examples ajp13
JkMount /examples/* ajp13
JkMount /servlet/* ajp13
#
#Alias /ABCD "/usr/local/tomcat/webapps/abcd"
#JkMount /abcd/* ajp13
#
Order deny,allow
Deny from all
Allow from 127.0.0.1
Allow from ABC.EFG.HIJ.KLM
#
#
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