Apache+JSev+GNUJSPのインストール
バージョン | Apache 1.3.11 JServ 1.1 GNUJSP 1.0.0 JDK 1.2.2 RC4 JSDK 2.0 |
|
OS | RedHat 6.1J (Linux 2.2.12) | |
ホームページ | http://java.apache.org/jserv/ (JServ) http://www.klomp.org/gnujsp/ (GNUJSP) http://www.blackdown.org/ (Linux JDK) http://java.sun.com/products/servlet/ (JSDK) |
|
ダウンロード | http://java.apache.org/jserv/dist/
(JServ) http://www.klomp.org/gnujsp/ (GNUJSP) ftp://ftp.lab.kdd.co.jp/Linux/java-linux/ (Linux JDK) http://java.sun.com/products/servlet/download.html (JSDK) |
2000/2/6
Java Servletは、CGIの代用になるテクノロジーで、サーバに常駐するためプロセス起動のオーバーヘッドがなく高速で、セッション管理など高度な機能が使用できる、Webアプリケーションプラットフォームです。
JSP (JavaServer Pages)は、Microsoft ASP (Active Server Pages)のJava版とも言えるものです。Javaコードが埋め込まれたHTMLファイルを、Servletプログラムに変換、コンパイルして実行するものです。Java Beansとの組み合わせで、ビジネスロジックとプレゼンテーションを切り分けた、カスタマイズ性の高いWebアプリケーションが開発できます。
Servlet APIの実装は元々JSDKと呼ばれ、その後継がJSWDKで、さらにそれがApacheプロジェクトに引き継がれ、現在はTomcatと呼ばれています。
現在のTomcat 3.0は、最新のAPIを搭載しているものの、Webサーバとしてまだ実用的に不十分な部分があります。そこで現時点で実用的なApache+JServ+GNUJSPをインストールします。
JServはServlet API 2.0のみに対応しているようなので、Tomcatではなく、古いJSDK 2.0を使用する必要があります。
JDKのインストール
現在JDKはglibc2版のみが配布されています。Slackware 3.6では結局うまく動きませんでした。ここではRedHat 6.1Jを使用しています。
$ su # bzip2 -cd jdk-1.2.2-RC4-linux-i386-glibc-2.1.2.tar.bz2 | tar xvf - # mv jdk1.2.2 /usr/local/jdk # exit
~/.bash_profileなどを編集します。
export PATH=$PATH:/usr/local/jdk/bin export JAVA_HOME=/usr/local/jdk
Apacheのインストール
今回はJServをDSO(Dynamic Shared Object) でインストールします。これはApacheの再コンパイルなしでモジュールの追加を可能にするものです。
まずはApacheをDSOサポート付きでインストールします。
$ tar xvfz apache_1.3.11.tar.gz $ cd apache_1.3.11 $ ./configure --enable-rule=SHARED_CORE --enable-module=so $ make $ su # make install # exit
JSDK 2.0のインストール
JSDKをインストールします。展開するだけです。
$ su # tar xvfz jsdk20-solaris2-sparc.tar.Z # mv JSDK2.0 /usr/local/JSDK # exit
JServのインストール
$ tar xvfz ApacheJServ-1.1.tar.gz $ cd ApacheJServ-1.1 $ ./configure --with-apxs=/usr/local/apache/bin/apxs --with-jdk-home=/usr/local/jdk --with-JSDK=/usr/local/JSDK/lib/jsdk.jar $ make $ su # make install
/usr/local/apache/conf/httpd.confに以下の行を追加する。
Include /usr/local/apache/conf/jserv/jserv.conf
起動してテスト
# /usr/local/apache/bin/apachectl start # exit
以下のURLを開いてみます。
http://HOSTNAME:PORT/servlets/Hello
GNUJSPのインストール
$ su # tar gnujsp-1.0.0.tar.gz # mv gnujsp-1.0.0 /usr/local/gnujsp
apacheのインストールパスに、beans(Bean格納用)とjsp(JSPテンポラリ出力用)の2つのフォルダを作ります。jspのほうは所有者をWebゲストに設定します。
# mkdir /usr/local/apache/beans # mkdir /usr/local/apache/jsp # chown nobody:nobody /usr/local/apache/jsp
zone.propertiesをコピーしGNUJSP動作の専用ZONE(alph.properties)を用意します。
# cd /usr/local/apache/conf/jserv # cp zone.properties alph.properties
jserv.propertiesを設定します。
zones=root,alph alph.properties=/usr/local/apache/conf/jserv/alph.properties wrapper.classpath=/usr/local/apache/beans wrapper.classpath=/usr/local/jdk/lib/tools.jar
alph.propertiesを設定します。
repositories=/usr/local/gnujsp/lib/gnujsp10.jar repositories=/usr/local/gnujsp/lib/servlet-2.0-plus.jar servlet.gnujsp.code=org.gjt.jsp.JspServlet servlet.gnujsp.initArgs=checkclass=true,pagebase=/usr/local/apache/htdocs,scratchdir=/usr/local/apache/jsp,debug=true,compiler=builtin-javac -classpath %classpath%:%scratchdir%:/usr/local/gnujsp/lib/servlet-2.0-plus.jar:/usr/local/gnujsp/lib/gnujsp10.jar -d %scratchdir% -deprecation -encoding %encoding% %source%
jserv.confを設定します。
ApJServMount /alph /alph ApJServAction .jsp /alph/gnujsp
Apacheを再起動してテスト
# /usr/local/apache/bin/apachectl restart
hellp.jspなどをドキュメントルート以下へコピーして、以下のURLを開いてみます。
http://HOSTNAME:PORT/hello.jsp
自動起動の設定
/etc/rc.d/rc.localに以下を追加します。
# Start Apache /usr/local/apache/sbin/apachectl start