Apache + Tomacat 4.01 に関するインストールメモ(2002/04/22)
まだ消化不足なんですが、どうやら cgi から Java が使える(jsp Servlet)らしいのです。なにできるんだろぉ
1.どうでもいい事ですが、Tomcatをインストールしたディレクトリを(ここでは /opt/local/src/jakarta-tomcat-4.0.3 )そのままにしておくと、展開したディレクトリそのももなんで、格好悪いかもしれません。せめて /usr/local/tomcat にでもしておきましょ。環境変数 CATALINA_HOME も変更・・・
# ln -s /opt/local/src/jakarta-tomcat-4.0.3 /usr/local/tomcat
% setenv CATALINA_HOME /opt/local/tomcat2.環境変数の最終案
setenv JAVA_HOME /usr/j2sdk1.4.0
setenv CATALINA_HOME /usr/local/tomcat
setenv CATALINA_BASE /usr/local/tomcat
setenv CLASSPATH $CATALINA_HOME/common/lib/servlet.jar:.
Apache と Tomcat を連携させるには、mod_webapp.so の DSO モジュールが必要となります。ちなみに、mod_webapp.so を作成するためには、libtool と ARP が必要となります。Tomcat 4.x 以前は、mod_jserv.so を使うらしいです。
1.libtool を入れる。
% cd /opt/local/src
% wget ftp://ftp.gnu.org/gnu/libtool/libtool-1.4.2.tar.gz
% gzip -cd libtool-1.4.2.tar.gz | tar xf -
% cd libtool-1.4.2
% env CFLAGS=-O3 ./configure
% make
% su
# make install2.connectors ソースを展開し、そのディレクトリ以下にAPR(常に更新されています) を入れる。
% cd /opt/local/src
% wget http://jakarta.apache.org/builds/jakarta-tomcat-4.0/release/v4.0.3/src/jakarta-tomcat-connectors-4.0.2-01-src.tar.gz
% gzip -cd jakarta-tomcat-connectors-4.0.2-01-src.tar.gz | tar xf -
% cd jakarta-tomcat-connectors-4.0.2-01-src
% cd webapp
% wget http://cvs.apache.org/snapshots/apr/apr_20020418222533.tar.gz
% gzip -cd apr_20020418222533.tar.gz | tar xf -3.mod_webapp.so をコンパイルします。
% cd /opt/local/src/jakarta-tomcat-connectors-4.0.2-01-src/webapp
% chmod 755 ./support/buildconf.sh ./support/install.sh
% ./support/buildconf.sh
--- Running the "buildconf" script for APR
buildconf: checking installation...
buildconf: autoconf version 2.13 (ok)
buildconf: libtool version 1.4.2 (ok)
Copying libtool helper files ...
Creating include/arch/unix/apr_private.h.in ...
Creating configure ...
--- Creating WebApp "configure" script
Creating configure ... ← この表示が重要です
--- All done
% env CFLAGS=-O3 ./configure --with-apxs=/opt/local/apache/bin/apxs
% make
※ makeが成功すると
/opt/local/src/jakarta-tomcat-connectors-4.0.2-01-src/webapp/apache-1.3 に
mod_webapp.so ができます4.作成された mod_webapp.so を Apache のインストールしたディレクトリ配下の libexec にコピーします。
% cd /opt/local/src/jakarta-tomcat-connectors-4.0.2-01-src/webapp/apache-1.3
% su
# cp mod_webapp.so /opt/local/apache/libexec5.Apache の httpd.con を編集します。
# vi /opt/local/apache/conf/httpd.conf
LoadModule webapp_module libexec/mod_webapp.so
AddModule mod_webapp.c
<IfModule mod_webapp.c>
WebAppConnection warpConnection warp localhost:8008
WebAppDeploy examples warpConnection /examples/
WebAppInfo info
</IfModule>6.Apache の再起動を行うと、下記のメッセージが表示されてしまいます。これは、Intel-Solaris8 特有の問題で、どうやら ld(リンク)の再配置で問題が起こっているようなんですぅー
symbol __divdi3: referenced symbol not found
★.解決方法
% cd /opt/local/src/jakarta-tomcat-connectors-4.0.2-01-src/webapp/apache-1.3
% ld -G -lm -lsocket -lnsl -ldl -lrt -lsendfile -o mod_webapp.so mod_webapp.o \
../lib/libwebapp.a ../lib/libapr.a \
/opt/sfw/lib/gcc-lib/i386-pc-solaris2.8/2.95.3/libgcc.a7.Tomcat を Apache 化するためにいくつか、編集するファイルがあるませう。8080をコメントにする理由は、Tomcatによるサーバ公開を止めるために設定します。問題がない様でしたらコメントは、必要ありません。
% cd $CATALINA_BASE
% vi ./bin/catalina.sh
JAVA_HOME=/usr/j2sdk1.4.0; export JAVA_HOME ← 追加する
% vi ./conf/server.xml
<Service name="Tomcat-Standalone">
<!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
<!--
<Connector className="org.apache.catalina.connector.http.HttpConnector"
port="8080" minProcessors="5" maxProcessors="75"
enableLookups="true" redirectPort="8443"
acceptCount="10" debug="0" connectionTimeout="60000"/>
-->
<Service name="Tomcat-Apache">
<Connector className="org.apache.catalina.connector.warp.WarpConnector"
port="8008" minProcessors="5" maxProcessors="75"
enableLookups="true"
acceptCount="10" debug="0"/>
<Engine className="org.apache.catalina.connector.warp.WarpEngine"
name="Apache" debug="0" appBase="webapps">8.nobody で実行できるように、権限を変更します。
# chown -R nobody $CATALINA_HOME/logs
# chown -R nobody $CATALINA_HOME/webapps
# chown -R nobody $CATALINA_HOME/work9.実行テストをしてみましょう。起動順序は、Apache → Tomcat で実行してみます。
10.アクセスのテストをしてみましょ。
http://サーバのIPアドレス/examples/
http://サーバのIPアドレス/examples/servlets/index.html
http://サーバのIPアドレス/examples/jsp/index.html
http://サーバのIPアドレス/info/
毎度のことですね (^o^)丿
# vi /etc/init.d/tomcat
# chmod +x /etc/init.d/tomcat
# ln -s /etc/init.d/tomcat /etc/rc3.d/S50tomcat
# ln -s /etc/init.d/tomcat /etc/rc3.d/K99tomcat