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

Linuxのサーブレット環境構築(JServ)

 Linuxにおける、Java環境の構築、および、Javaサーブレット環境の構築方法です。

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

概要

 JDKは、Java Development Kitの略で、Javaのコンパイラなどの開発キットです。 javac java appletviewerなどのプログラムがあります。

入手元

 Turbo Linux 4.2には、標準で入っています。
 2000年3月現在、JDK 1.2 が最新版です。 最新版は、SUN Microsystems社から、無料でダウンロードできます。

URL http://java.sun.com/products/jdk/1.2/ja/
ファイル名 jdk1.2.2-linux-i386.sun.tar.gz(約22MB)
インストール先 /usr/lib/jdk1.2(/usr/local/jdk1.2)

JDKのインストール

 Turbo Linux 4.2の場合は、標準のJDK 1.2をインストールします。
 root ユーザでログインし、インストーラを実行します。

unix# turbopkg
JDK を選択
X Windows System を選択
インストール開始

 SlackWare系のディストリビューションや、最新版をインストールする場合は、以下の手順で行います。
 基本的に展開するだけです。

unix# cd /usr/lib
unix# gzip -cd /usr/local/pub/jdk1_2_2-linux-i386.tar.gz | tar -xvf -
unix# ln -s jdk1.2.2 jdk1.2

個人環境の設定方法

 各個人の.cshrcや.loginなどで、JDKのパスを追加します。

unix# vi .login
set path=(. /usr/local/bin /usr/lib/jdk1.2/bin /bin /usr/bin)

JDKのインストール情報の確認

unix# which java
/usr/lib/jdk1.2/bin/java

unix# java -version
java version "1.2"

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

概要

 JSDKは、Java Servlet Development Kitの略で、サーブレットを開発するためのServlet APIを提供します。 ApacheなどのWebサーバでサーブレットを動作させるために必要です。
 Servlet APIには、Sun Microsystemsの提供する、JSDK、JSWDKがあります。 この他にも、ApacheのJakartaプロジェクトに、ソースライセンス提供された、Tomcatなどがあります。

入手元

 2000年3月現在、JSDK 2.1 が最新版ですが、JServは、JSDK 2.0 でしか動作しません。

URL http://java.sun.com/products/servlet/download.html
ファイル名 jsdk20-solaris2-sparc.tar.Z(約320KB)
インストール先 /usr/lib/JSDK2.0(/usr/local/JSDK2.0)

インストール方法

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

unix# cd /usr/lib
unix# zcat jsdk20-solaris2-sparc.tar.Z | tar -xvf -

環境設定方法

 インストールが完了したら、各個人環境の設定を行います。

unix# setenv classpath ".:/usr/lib/JSDK2.0/lib/jsdk.jar"

動作確認方法

 JSDK2.0には、servletrunnerという、サーブレットの動作確認をするための簡易Webサーバが付属しています。 そこで、このservletrunnerを使って、サンプルのサーブレットを実行してみます。
 起動ログからもわかりますが、servletrunnerでは、8080ポートを使って、./examples配下のサーブレットを実行します。 デフォルト値は、-pオプションや、-dオプションで変更できます。

unix# cd /usr/lib/JSDK2.0/bin
unix# servletrunner
servletrunner starting with settings:
  port = 8080
  backlog = 50
  max handlers = 100
  timeout = 5000
  servlet dir = ./examples
  document dir = ./examples
  servlet propfile = ./examples/servlet.properties

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

unix# lynx http://localhost:8080/servlet/SimpleServlet
unix# lynx http://localhost:8080/servlet/SnoopServlet
unix# lynx http://localhost:8080/servlet/SessionServlet

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

概要

 JServは、ApacheなどのWebサーバを、Servlet APIに対応するためのモジュールです。

入手元

 2000年3月現在、JServ 1.1 が最新版です。 JServをインストールするためには、JDKとJSDK(JSWDK/J2EE/Tomcat)が必要です。 makeには、GNUのmakeが必要です。 また、JServを動作させるためには、ApacheのDSO機能を有効にしておく必要があります。

URL http://java.apache.org/
ファイル名 ApacheJServ-1.1.tar.gz(約740KB)

Apacheのインストールモジュール情報の確認

 mod_soが組み込まれていない場合は、Apacheをメイクする必要があります。

unix# /usr/local/sbin/httpd -l
  mod_so.c

インストール方法

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

unix# gzip -cd ../pub/ApacheJServ-1.1.tar.gz | tar -xvf -
unix# cd ApacheJServ-1.1
unix# ./configure --prefix=/usr/local/jserv --with-apxs=/usr/sbin/apxs
  --with-jdk-home=/usr/lib/jdk1.2 --with-JSDK=/usr/lib/JSDK2.0/lib/jsdk.jar
unix# make
unix# make install

JServの環境設定

 Apacheの定義ファイルから、JServの定義ファイルを呼び出し、以下の設定をします。 設定が終わったら、Apacheを再起動します。

unix# vi /etc/httpd/conf/httpd.conf
Include /etc/httpd/conf/jserv/jserv.conf

unix# vi /etc/httpd/conf/jserv/jserv.conf
LoadModule jserv_module /usr/libexec/mod_jserv.so
ApJServProperties /etc/httpd/conf/jserv/jserv.properties
ApJServLogFile /var/log/httpd/mod_jserv.log
ApJServMount /servlet /root

unix# vi /etc/httpd/conf/jserv/jserv.properties
zones=root
root.properties=/etc/httpd/conf/jserv/zone.properties

unix# vi /etc/httpd/conf/jserv/zone.properties
repositories=/usr/servlets

サーブレットの動作確認

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

unix# lynx http://localhost/servlet/Hello
unix# lynx http://localhost/servlet/IsItWorking

ユーザ用サーブレット環境(ZONE)の設定

 JServでは、ユーザ毎にサーブレットを作成することができるように、ZONEという概念があります。 ZONEを利用すると、デフォルトのサーブレットとは別の個人用ディレクトリでサーブレットを作成できます。
 以下にjoeというユーザのZONEを作成する例について説明します。

unix# cd /usr/local/conf/jserv
unix# vi jserv.conf
ApJServMount /serv/joe /zone_joe

unix# vi jserv.properties
zones=root, zone_joe
zone_joe.properties=/usr/local/conf/jserv/zone_joe.properties

unix# cp zone.properties zone_joe.properties
unix# vi zone_joe.properties
repositories=/home/joe/serv, /usr/local/classes

unix# apachectl restart

 それでは、サーブレットを作成し、実行してみます。
 サーブレットプログラムの作成方法は、
Javaプログラミングのページを参考にしてください。

unix# lynx http://localhost/serv/joe/hello

JServの設定ファイル

 JServに関連する設定ファイルの一覧です。

JServの状態の確認方法

 JServには、設定状態を表示する機能が付いています。 Lynxや、InternetExplorerや、NetscapeNavigatorなどのブラウザを使って、設定状態を確認できます。

unix# lynx http://localhost/jserv/

 以下のような情報を参照することができます。

 デフォルトでは、localhostでのみ参照できるのですが、JDBCのパスワードなどのパラメータ情報も参照できてしまうので、設定を確認したらアクセスできないように設定しておくのがいいでしょう。

unix# vi jserv.conf

#<Location /jserv/>
#  SetHandler jserv-status
#  order deny,allow
#  deny from all
#  allow from localhost
#</Location>

unix# apachectl restart


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