Apache + Tomcat + PostgreSQL(Apache + Tomcat 編)

[サーバの実験室 Slackware]

作成 : 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

[サーバの実験室 Slackware]