FreeBSD上に、Javaのサーブレット環境の構築方法について説明します。
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では必要です。
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をインストールします。 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は、サーブレットを開発するための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には、サーブレットの動作確認をするための簡易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/ |
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 |
TomcatのサーブレットのサンプルをApache+mod_jkで実行してみます。 Lynxや、InternetExplorerや、NetscapeNavigatorなどのブラウザを使って、動作確認します。
unix# lynx http://localhost/examples/servlets/ |