Apache + Tomcat + PostgreSQL(Apache + Tomcat 編)
作成 : 2004/01/02
Apache + Tomcat + PostgreSQL
Apache(WEB サーバ)と Tomcat(JSP・サーブレットコンテナ)と PostgreSQL(データベースサーバ)を使用して、所有している本のデータベースから題名や著者で検索ができるようにしてみる。 完成したときのイメージは、http://www.nina.jp/collection/ をみてね。
Apache の入手とインストール
Apache の入手とインストールについては、httpd-2.0.44 を参照。 2004/01/02 現在の最新版は 2.0.48 だが、やりかたは 2.0.44 と同じで大丈夫。
Tomcat の入手とインストール
Tomcat の入手とインストール、環境変数の設定については、tomcat-4.1.29 を参照。 2004/01/02 現在の最新版は 5.0.16 だが、やりかたは 4.1.29 と同じで大丈夫なようだ。
JK2 の入手とインストール
JK2 の入手とインストールについては、jk2 を参照。
ファイルの配置
HTML や JSP のファイルは、次の場所に置くこととする。 dbaccess.html は検索フォームの HTML ファイル、dbaccess.jsp はインターフェースを受け持つ JSP ファイル、dbaccess.java と dbaccess.class はデータベース操作を受け持つ Class ファイル。 http://hostname/collection/dbaccess.html のような URL でアクセスできるよう、設定をしていく。
/var/webapps/
|
+-- collection/ dbaccess.html
| dbaccess.jsp
|
+-- WEB-INF/
|
+-- classes/
|
+-- myclass/ dbaccess.java
dbaccess.class
Tomcat の設定(server.xml)
$CATALINA_HOME/conf/server.xml で、ホスト名と appBase、 docBase を設定する。
<Server port="8005" shutdown="SHUTDOWN" debug="0">
<Service name="Catalina">
<Connector port="8009"
enableLookups="false" redirectPort="8443" debug="0"
protocol="AJP/1.3" />
<Engine name="Catalina" defaultHost="localhost" debug="0">
<Logger className="org.apache.catalina.logger.FileLogger"
prefix="catalina_log." suffix=".txt"
timestamp="true"/>
<Host name="hostname" debug="0" appBase="/var/webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Logger className="org.apache.catalina.logger.FileLogger"
directory="logs" prefix="hostname." suffix=".txt"
timestamp="true"/>
<Context path="/collection" docbase="collection"
debug="0" reloadable="true"/>
</Host>
</Engine>
</Service>
</Server>
JK2 の設定(httpd.conf と workers2.properties)
httpd.conf ファイルの LoadModule ディレクティブで、mod_jk2.so をロードするように設定する。
LoadModule jk2_module modules/mod_jk2.so
http://hostname/collection/* のリクエストを Tomcat に渡すよう、workers2.properties ファイルに設定する。 workers2.properties ファイルは、httpd.conf と同じディレクトリに置いておく。
[channel.socket:localhost:8009] tomcatId=localhost:8009 [uri:hostname/collection/*] [shm:] disabled=1