[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