woody3.0でtomcat4+Apache+PostgreSQLの連携

Debian GNU/Linux (woody 3.0)でServletプログラムを動かしてみました。
他のWEBサイトでは説明が少なかったので簡単に手順を説明します。
まずjava-packageをインストールします。
/etc/apt/sources.list に deb http://book.gihyo.co.jp/debian/ ./ を追加します。
それから # apt-get update;apt-get install java-package でインストールされます。
次にJava TechnologyからLinux用のJDKをダウンロードします。
面倒ならwget http://192.18.97.251/ECom/EComTicketServlet/BEGIN4DEBB86E02D0B5852767A1EA49768901/-2147483648/870026007/1/606770/606650/870026007/2ts+/westCoastFSEND/j2sdk-1.4.2_08-oth-JPR/j2sdk-1.4.2_08-oth-JPR:5/j2sdk-1_4_2_08-linux-i586.bin で可能です[クール/]
ダウンロードが完了したら、
# make-jpkg j2sdk-1_4_2_08-linux-i586.bin
で、debパッケージが出来るので、#dpkg -i sun-j2sdk1.4_1.4.2+08_i386.deb でインストールします。
次にapache tomcat4 tomcat4-webapps libapache-mod-jk postgresql libpgjavaをaptでインストールします。
依存関係を調べて必要なものも追加してくれるので心配ありません。
ここからが少しやっかいです。
まず /etc/tomcat/jk/workers.properties を修正します。


workers.tomcat_home=/usr/share/tomcat4
workers.java_home=/usr/lib/j2sdk1.4-sun
以上だけで大丈夫です。
次に/var/lib/tomcat/conf/mod_jk.confを作成します。

1 JkLogFile /var/log/tomcat4/mod_jk.log
2 JkLogLevel error
3
4 Alias /examples "/var/lib/tomcat4/webapps/examples"
6
7 JkMount /examples/servlet/* ajp13
8 JkMount /examples/*.jsp ajp13
tomcat4-webappsに含まれるサンプルを動かすだけならこれでいいと思います。
次に /usr/share/tomcat4/conf/server.xml を修正します。
ajp13によるapacheとの通信を許すだけです。
具体的には55行目〜57行のコメントをはずすだけです。
修正後は以下のようになっているはずです。

54
55
58
これだけでexamplesは動きますが、JDBCも設定しておきましょう。
/usr/share/java/postgresql.jar を /usr/lib/j2sdk1.4-sun/jre/lib/ext に放り込みます。
コピーでもシンボリックリンクでもいいと思います。
次にアプリケーションがJDBCを使えるようにセキュリティポリシーを変更します。
/usr/share/tomcat4/conf/policy.d/04webapps.policy の最後に以下を追加します。
#これ、ちょっとセキュリティ的に不安なので他の解決方ご存じの方お教えください。

grant {
permission java.net.SocketPermission "localhost:5432", "connect";
};
最後に /etc/postgres/pg_hba.conf を修正します。
デフォルトではidentを使うので、とりあえず動作をみるために自ホストからはtrustしちゃいましょう[アハハ/]

234 local all trust
235 host all 127.0.0.1 255.0.0.0 trust
これで、postgresql, tomcat4, apacheの順に起動してみてください。
http://自分のホスト/examples/index.htmlでサーブレットが動けば成功です。
JDBCは。。。
何かプログラム書いてテストしてみてください[いやー/]
この事に関してはでびあんじゃばさんにも説明がありますのでご覧ください。

Tomcatハンドブック