[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:13810] Apache-JServ and JDK1.2pre1



さくです。

potato上で、Java 2(JDK1.2) for Linux pre-release 1を使い、サーブレットを動
かそうと四苦八苦しています。うまく行っている人がいたら助力がいただけるとあ
りがたいのですが。

以下に、これまでやってみたこと(1.〜8.)を書きます。

1. blackdown(http://www.blackdown.org/)からJDK1.2を入手。
   /usr/local/lib/java/jdk1.2以下にインストール。

2. JavaSoft(http://www.javasoft.com/)からJSDK2.0(Solaris=UNIX版)を入手。
   /usr/local/lib/java/JSDK2.0以下にインストール。

3. この時点でservletが正常に動作することを確認。また、apacheはもともと正常
   に動いている。

4. apacheのservletモジュールのDebianパッケージ
   libapache-mod-jserv_19990112-1.deb
   を入手。これはjdk1.1パッケージに依存しているので、
   # dpkg -i --ignore-depends=jdk1.1 libapache-mod-jserv_19990112-1.deb
   でインストール。

   WARNING: /usr/share/java/jsdk.jar missing; JServ will not start.

   という警告がでたので、jserv.jar(JSDKに同梱)を/usr/share/java/jsdk.jarに
   コピー。念のため今入れたばかりのApache-JServを

   # dpkg --purge libapache-mod-jserv

   し、再度インストール。今度は文句を言われない。

5. この時点では、java関係のファイルのパスがApache-JServの期待するものと違
   うので、動かなくて当然。設定を変更する。

   # vi /etc/apache/jserv.properties

   wrapper.bin=/usr/bin/java を
   wrapper.bin=/usr/local/lib/java/jdk1.2/bin/java に変更。

   wrapper.path=/usr/local/lib/java/jdk1.2/bin を追加。

   wrapper.classpath=/usr/lib/jdk1.1/lib/classes.zip を削除。

   wrapper.classpath=/usr/share/java/jsdk.jar を
   wrapper.classpath=/usr/local/lib/java/JSDK2.0/lib/jsdk.jar に変更。

6. apacheを再起動。別ttyで

   # tail -f /var/log/apache/mod_jserv.log

   した状態で、

   # /etc/init.d/apache restart

   すると、以下のようなログが得られる([]内はタイムスタンプにつき省略)。最
   初のほうのエラーは、動いていないApache-JServを終了しようとしているため
   と思われる。

[] (ERROR) an error returned cleaning-up protocol "wrapper"
[] (ERROR) in init all protocols "wrapper" returned an error
[] (EMERGENCY) Error cleaning-up protocols
[] (INFO) Apache Module was cleaned-up
[] (INFO) Apache Module was cleaned-up
[] (INFO) wrapper: watching processes (PID=5134,PPID=1,VM PID=5142)
[] (INFO) wrapper: Apache exited, cleaning up (my PID=5134)
[] (INFO) Wrapper: Shutting down JServ (PID=5134) (sig 0)
[] (INFO) wrapper: Terminating JServ (PID=5134, VM PID=5142)
[] (INFO) ajp11: sending shutdown signal
[] (EMERGENCY) ajp11: can not connect to host 127.0.0.1:8007
[] (EMERGENCY) ajp11: function connection fail
[] (INFO) wrapper classpath: /usr/share/java/Apache-JServ.jar:/usr/local/lib/java/JSDK2.0/lib/jsdk.jar
[] (INFO) wrapper: Java VM spawned (PID=5142|PPID=5134)
[] (INFO) wrapper: watching processes (PID=5136,PPID=5135,VM PID=5155)
[] (INFO) wrapper classpath: /usr/share/java/Apache-JServ.jar:/usr/local/lib/java/JSDK2.0/lib/jsdk.jar
[] (INFO) wrapper: Java VM spawned (PID=5155|PPID=5136)
[] (INFO) wrapper: JVM Exited, restarting it (my PID=5136)
[] (INFO) wrapper: Java VM spawned (PID=5168|PPID=5136)
[] (INFO) wrapper: JVM Exited, restarting it (my PID=5136)
[] (INFO) wrapper: Java VM spawned (PID=5181|PPID=5136)
[] (INFO) wrapper: JVM Exited, restarting it (my PID=5136)
[] (INFO) wrapper: Java VM spawned (PID=5194|PPID=5136)
[] (INFO) wrapper: JVM Exited, restarting it (my PID=5136)
[] (INFO) wrapper: Java VM spawned (PID=5207|PPID=5136)
[] (INFO) wrapper: JVM Exited, restarting it (my PID=5136)
[] (INFO) wrapper: Java VM spawned (PID=5220|PPID=5136)
[] (INFO) wrapper: JVM Exited, restarting it (my PID=5136)
[] (INFO) wrapper: Java VM spawned (PID=5233|PPID=5136)
[] (INFO) wrapper: VM died too many times w/in 5 second intervals (6); no more tries
[] (INFO) wrapper: printing debugging information (command line, env)
[] (INFO) wrapper: argument[ 1] /usr/local/lib/java/jdk1.2/bin/java
[] (INFO) wrapper: argument[ 2] org.apache.jserv.JServ
[] (INFO) wrapper: argument[ 3] /etc/apache/jserv.properties
[] (INFO) wrapper: environment[ 1] CLASSPATH=/usr/share/java/Apache-JServ.jar:/usr/local/lib/java/JSDK2.0/lib/jsdk.jar
[] (INFO) wrapper: environment[ 2] PATH=/usr/local/lib/java/jdk1.2/bin:/bin:/usr/bin:/usr/local/bin

7. このエラーログの最後のほうにあるコマンドを直接以下のように実行すると、
   エラーにならず、サーブレットエンジンが実行された状態(と思われる)になる。

   # export CLASSPATH=/usr/share/java/Apache-JServ.jar:/usr/local/lib/java/JSDK2.0/lib/jsdk.jar
   # export PATH=/usr/local/lib/java/jdk1.2/bin:$PATH
   # java org.apache.jserrv.JServ /etc/apache/jserv.properties

8. 7.のままNetscapeを起動し、
   http://localhost/servlet/Hello
   (Apache-JServのテスト用サーブレット)にアクセスすると、きちんと結果が返
   る。

   Example JServ Servlet
   Congratulations, JServ is working!
   Click here to go to the manual

-- 
OZAWA -Crouton- Sakuro
<mailto:crouton@xxxxxxxxxxxx>
<http://www.duelists.org/~crouton/>
"World domination. It's just the first step." -Linus Torvalds@LinuxWorld