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