ApacheがJavaServletを実行できるようにしよう

2000.08.08更新

■Apache JServ

Apache JServはApache上でJavaServletを利用できるようにするための拡張モジュールである。

■Apache拡張モジュールの実装方式

  • ソースコードレベルでのモジュール組み込み
  • Dynamic Shared Objectによる組み込み
    後々の事を考えると、DSOを有効にしておいたほうがいいので、Apache は、DSO有効でコンパイルしておきましょう。

■Java Development Kitのインストール

JDKは1.2.2をインストールします。JDKは、http://java.sun.com/j2seより 入手可能です。展開は非常に簡単で、ルート権限で/usr/localにて解凍する ことですぐに使えるようになります。 必要であれば、各ユーザのPATHに追加しておきましょう。

■Java Servlet Development Kitのインストール

JServモジュールのインストールには、 http://java.sun.com/products/servlet/downloadより入手できるJava Servlet Development Kitが必要になります。 こちらの展開も簡単です。/usr/localにてルート権限で解凍すれば使えます。
このパッケージ内に含まれている、servletrunnerというスタンドアロンの サーブレット実行環境を使うには、/usr/local/JSDK2.0/binにパスを通して おく必要があります。

■JServモジュールのインストール

さて、いよいよ本題です。JServモジュールがJava Servletとして提供され ているため、上記のような手順を踏む必要があります。JServモジュールは コンパイルが必要になりますので、まず、適当なところでアーカイブを展開 してください。
$ tar xvfz ApacheJServ-1.1.2.tar.gz

次に、展開されたディレクトリの下で、configureスクリプトを実行します。
$ ./configure --prefix=/usr/local/jserv \
> --with-apxs=/usr/local/apache/bin/apxs \
> --with-jdk-home=/usr/local/jdk1.2.2 \
> --with-JSDK=/usr/local/JSDK2.0/lib/jsdk.jar \
> --enable-compressed-jar \
> --disable-debugging

コンパイルおよびインストールを行います。上記の作業をrootで行ってない 場合は、permissionで弾かれてしまいますので、インストールのときのみ rootになって作業してください。
$ make; make install

以下、Apacheの設定ファイル群が/usr/local/apache/conf配下に設定されているこ とを想定しています。
これで、インストールまでは終了。また、ここからの設定が必要。(苦労し ました)まず、httpd.confファイルから。Apache Jservモジュールを組み込 むために、jserv.confファイルを取り込みます。ここでの編集は1行だけで す。次の1行を適当なところに記述してください。
Include "/usr/local/apache/conf/jserv/jserv.conf"

次に、jserv.confを編集します。上記の設定通りに行っていれば、 このファイルは、/usr/local/apache/conf/jserv配下にあるはずです。
ApJServMount /jservlet /servlets

この編集で、http://localhost/jservletと指定したときに、自動的に http://localhost:8007/servletsゾーンを参照するようになります。

次に、jserv.propertiesファイルの編集を行います。ここでは、ゾーン名の 設定とそのゾーンの設定ファイルを指定します。
zone=servlets
servlets.properties=/usr/local/apache/conf/jserv/servlets.properties

次に、上記のjserv.propertiesで指定したservlets.propertiesを作ります。 このファイルは、使用するゾーンの数だけ必要になります。起動テストを行 うだけであれば、既存のzone.properties.defaultファイルをコピーするだ けでよいでしょう。
$ cp zone.properties.default servlets.properties

あとは、Apacheを再起動してください。正常に起動されていれば、 http://Apacheサーバのアドレス/jservlet/Helloで動作確認ができるはずで す。

戻る