ASH | サーバ | セキュリティ | Linux | FreeBSD | DB | Web | CGI | Perl | Java | XML | プログラム | ネットワーク | 標準 | Tips集

サーブレット環境構築(Tomcat)について

 FreeBSD上に、Javaのサーブレット環境の構築方法について説明します。

JDKのインストール、環境設定

概要

 FreeBSDに、JDK1.1をインストールします。 JDKは、Java Development Kitの略で、Javaのコンパイラなどの開発キットです。 javac java appletviewerなどのプログラムがあります。
 FreeBSDでは、JDK1.2やJDK1.3などは、サポートされていません。 ただ、面倒ですが、Linux版を動かす方法はあります。

入手元

 JDKの入手は、http://www.freebsd.org/のサイトからダウンロードできます。 JDKのサイズは、約12MBです。

URL http://www.freebsd.org/java/dists/
ファイル名 jdk1.1.8_ELF.V1999-11-9.tar.gz

インストール方法

 インストールは、展開するだけです。

unix# cd /usr/local
unix# gzip -cd pub/jdk1.1.8_ELF.V1999-11-9.tar.gz | tar -xvf -
unix# ln -s jdk1.1.8 jdk1.1

個人環境の設定方法

 各個人の.cshrcや.loginなどで、JDKのパスを追加します。 また、JAVA_HOMEとCLASSPATHを設定します。

setenv PATH "${PATH}:/usr/local/jdk1.1/bin"
setenv JAVA_HOME "/usr/local/jdk1.1"
setenv CLASSPATH "${JAVA_HOME}/lib/classes.zip"

 CLASSPATHの設定は、JDK1.2以降は不要になりましたが、JDK1.1では必要です。

XML環境(JAXP)のインストール、環境設定

 TomcatやAntなどの設定ファイルはXMLで記述されています。 そのため、JavaのXML環境が必要です。
 JavaのXML環境は、Sun MicrosystemsのJAXPを使います。

入手元

Java API for XML Processing 1.1 (JAXP)
  http://java.sun.com/xml/
    jaxp-1_1.zip  1.6MB

インストール方法

 インストールは、展開するだけです。

unix# cd /usr/local
unix# jar -xvf pub/jaxp-1_1.zip

個人環境の設定方法

 各個人環境に、CLASSPATHを設定します。

setenv XML "/usr/local/jaxp-1.1"
setenv CLASSPATH "${CLASSPATH}:${XML}/jaxp.jar"
setenv CLASSPATH "${CLASSPATH}:${XML}/crimson.jar"
setenv CLASSPATH "${CLASSPATH}:${XML}/xalan.jar"

 crimsonは、xercesよりもコンパクトな、XMLパーサです。 将来的には、xercesに統合されるという話があります。
 また、xalanは、XSLTプロセッサです。

Javaメイクツール(Ant)のインストール、環境設定

概要

 Javaベースのメイクツールとして、Antをインストールします。 Antは、Apacheプロジェクトによって提供されています。 Antでは、Makefileの変わりに、build.xmlというXMLファイルによって設定します。

入手元

 Antは、Apacheプロジェクトのホームページから、ダウンロードできます。

Java based build tool (Ant)
  http://jakarta.apache.org/builds/jakarta-ant/release/
    jakarta-ant-1.3-bin.tar.gz  2001/03/02  998KB

インストール方法

 インストールは、展開するだけです。

unix# cd /usr/local
unix# gzip -cd pub/jakarta-ant-1.3-bin.tar.gz | tar -xvf -

サーブレット環境(Tomcat)のインストール、環境設定

概要

 Tomcatは、サーブレットを開発するためのServlet APIなどを提供します。 ApacheなどのWebサーバでサーブレットを動作させるために必要です。

入手元

 Tomcatをインストールするためには、以下のモジュールが必要です。
 また、JDK、JAXP、Antなどをインストールしておく必要があります。

Tomcat 3.2.1
  http://jakarta.apache.org/builds/jakarta-tomcat/release/
    jakarta-servletapi-3.2-src.tar.gz  2000/12/12   99KB
    jakarta-tomcat-3.2.1-src.tar.gz    2000/12/12  899KB

インストール方法

 以下の手順でインストールします。
 まず、ServletAPIをメイクします。
 設定ファイルでは、Antが、../jakarta-antというディレクトリに格納されていることを前提になっていますので、jakarta-antのシンボリックリンクを作成します。
 BUILD SUCCESSFULと表示されれば、../dist/lib/servlet.jarなどができています。

unix# cd /usr/local/src
unix# ln -s /usr/local/jakarta-ant-1.3 jakarta-ant

unix# gzip -cd ../pub/jakarta-servletapi-3.2-src.tar.gz | tar -xvf -
unix# cd jakarta-servletapi-3.2-src
unix# sh ./build.sh dist
unix# ls -l ../dist/lib/servlet.jar

 次に、Tomcatをメイクします。
 配布先(tomcat.dist)は、build.xmlファイルで、/usr/local/jakarta-tomcatに設定します。
 Tomcat3.2.1では、JAXP-1.0.1使うことが前提となっていますので、build.xmlを修正する必要があります。 JAXP-1.0.1と、JAXP-1.1では、XMLパーサなどのファイル名も変更になっていますので、その修正も必要です。 これは、次期リリースには対応されることでしょう。
 Tomcat3.2.1では、ServletAPIが../jakarta-servletapiというディレクトリに格納されていることを前提になっていますので、jakarta-servletapiのシンボリックリンクを作成します。
 BUILD SUCCESSFULと表示されれば、/usr/local/jakarta-tomcatに、tomcatの環境ができています。

unix# cd /usr/local/src
unix# ln -s dist/servletapi jakarta-servletapi

unix# gzip -cd ../pub/jakarta-tomcat-3.2.1-src.tar.gz | tar -xvf -
unix# cd jakarta-tomcat-3.2.1-src

unix# vi build.xml
<property name="tomcat.dist" value="/usr/local/jakarta-tomcat"/>

<property name="jaxp" value="/usr/local/jaxp-1.1"/>

<copy tofile="${tomcat.build}/lib/crimson.jar"
    file="${jaxp}/crimson.jar"/>
<copy tofile="${tomcat.build}/lib/xalan.jar"
    file="${jaxp}/xalan.jar"/>

unix# sh ./build.sh dist
unix# ls -l /usr/local/jakarta-tomcat

Tomcatの動作確認方法

 Tomcatには、サーブレットの動作確認をするための簡易Webサーバが付いていて、デフォルトでは、8080ポートで自動起動されます。 8080ポートは、プロキシサーバで使うことが多いため、トム(16)ということで、8016ポートに変更ておきます。
 この、簡易Webサーバを使って、サンプルのサーブレットを動かすことができます。

unix# cd /usr/local/jakarta-tomcat/conf
unix# vi server.xml
  <Parameter name="port"
    value="8016"/>

unix# cd ../bin
unix# ./startup.sh

 Lynxや、InternetExplorerや、NetscapeNavigatorなどのブラウザを使って、動作確認します。 ここでは、Unix上で動作するテキストブラウザであるLynxを使います。

unix# lynx http://localhost:8016/

Webサーバとサーブレットの連動(Apache+mod_jk)

概要

 mod_jkは、ApacheなどのWebサーバを、Java Server APIに対応するためのモジュールです。
 mod_dkは、Tomcatのソースパッケージに含まれています。

インストール方法

 以下の手順でインストールします。

unix# cd /usr/local/src
unix# cd jakarta-tomcat-3.2.1-src
unix# cd src/native/apache1.3
unix# cp Makefile.linux Makefile

unix# vi Makefile
OS=freebsd
APXS=/usr/local/apache/bin/apxs
	$(APXS) -DFREEBSD -I ../jk ${JAVA_INCL} -c -o $@ mod_jk.c $(SRCS)

unix# diff Makefile Makefile.linux
5c5
< OS=freebsd
---
> OS=linux
10c10
< APXS=/usr/local/apache/bin/apxs
---
> APXS=/usr/sbin/apxs
22c22
<       $(APXS) -DFREEBSD -I ../jk ${JAVA_INCL} -c -o $@ mod_jk.c $(SRCS)
---
>       $(APXS) -I ../jk ${JAVA_INCL} -c -o $@ mod_jk.c $(SRCS)

unix# make
unix# cp mod_jk.so /usr/local/apache/libexec/.

 Apacheの設定ファイルから、mod_jkの設定ファイルを呼び出し、以下の設定をします。 mod_jkの設定ファイルは、/usr/local/jakarta-tomcat/conf/mod_jk.conf-autoに作成されていますので、それを利用します。 設定が終わったら、Apacheを再起動します。

unix# vi /usr/local/apache/conf/httpd.conf
Include /usr/local/jakarta-tomcat/conf/mod_jk.conf-auto

mod_jkの動作確認方法

 TomcatのサーブレットのサンプルをApache+mod_jkで実行してみます。 Lynxや、InternetExplorerや、NetscapeNavigatorなどのブラウザを使って、動作確認します。

unix# lynx http://localhost/examples/servlets/


Copyright (C)1995-2002 ASH multimedia lab.
mail : info@ash.jp