Linuxにおける、Java環境の構築、および、Javaサーブレット環境の構築方法です。
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) |
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) |
unix# which java /usr/lib/jdk1.2/bin/java unix# java -version java version "1.2" |
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は、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) |
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 |
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 |
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には、設定状態を表示する機能が付いています。 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 |