Jk, Jk2 コネクタのインストール

コネクタにはいくつか種類があります. Apache バージョン 2.0 以前では、Jk, Jk2 コネクタが有名でした。この Web ページでインストール手順を説明する. Apache Tomcat コネクタとしては,Jk コネクタ あるいは Jk2 コネクタの、どちらか片方を選んでインストールしてください

Jk コネクタのインストール (Linux の場合)

Jk コネクタは,Apache HTTP サーバのモジュール (mod_jk) になっています.

インストールの前に,Apache Tomcat がインストール済みであること.

  1. インストール
    cd /tmp
    tar -xvzof tomcat-connectors-1.2.21-src.tar.gz
    cd native
    ./configure
    make
    make install
    
  2. /etc/httpd/conf.d/jk.conf
    LoadModule jk_module modules/mod_jk.so
    JkWorkersFile /etc/httpd/conf.d/workers.properties
    JkLogFile     /var/log/httpd/mod_jk.log
    JkLogLevel    info
    JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
    JkOptions     +ForwardKeySize +ForwardURICompat -ForwardDirectories
    JkRequestLogFormat     "%w %V %T"
    JkMount  /servlets-examples/* ajp13
    JkMount  /jsp-examples/* ajp13
    
  3. /etc/httpd/conf.d/workers.properties
    workers.tomcat_home=/usr/local/apache-tomcat-5.5.23
    workers.java_home=/usr/local/j2sdk1.6.0
    # You should configure your environment slash... ps=\ on NT and / on UNIX
    # and maybe something different elsewhere.
    ps=/
    worker.list=ajp13
    worker.ajp13.port=8009
    worker.ajp13.host=localhost
    worker.ajp13.type=ajp13
    
  4. Apache HTTP サーバの再起動
    /usr/local/apachet2/bin/apachectl -k graceful
    
  5. ポート 8080 は,127.0.0.1 からの接続のみを受け付ける

    Tomcat の conf ディレクトリ (C:\tomcat55\conf) にある server.xml を編集.

    port="8080"についての設定を、次のように書き換える。

    <Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
                   port="8080" minProcessors="5" maxProcessors="75"
                   address="127.0.0.1"
                   enableLookups="true" redirectPort="8443"
                   acceptCount="100" debug="0" connectionTimeout="20000"
                   useURIValidationHack="false" disableUploadTimeout="true" />
    
  6. ポート 8009 は,127.0.0.1 からの接続のみを受け付ける

    port="8009"についての設定を、次のように書き換える。

        <!-- Define an AJP 1.3 Connector on port 8009 -->
        <Connector port="8009"
                   address="127.0.0.1"
                   enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />
    
  7. Apache Tomcat の設定を変えたので,Tomcat を再起動する.

Jk2 コネクタ 2.0.2 のインストール (Windows の場合)

Windows を使用する場合は,次のように操作する.

以下,Windows で Jk2 コネクタをインストールする手順を示している. このコネクタは,Apache HTTP サーバのモジュール (mod_jk2) になっています.

なお,Jk2 コネクタは,実はすでにメンテナンスが終了している. Jk コネクタの使用が推奨されている.

インストールの前に,Apache Tomcat がインストール済みであること.

  1. apache のWeb ページからダウンロード

    https://jakarta.apache.org/site/downloads/index.html

    1. 「archives」をクリック
    2. 「tomcat_connectors」⇒「jk2」⇒ 「binaries」⇒ 「win32」
    3. zip形式のファイル(jakarta-tomcat-connectors-jk2.0.4-win32-apache2.0.49.zip) をダウンロード
  2. 解凍

    conf, doc, modules の3つのフォルダができる. 上記3つのフォルダに対して下記の 3, 4, 5 の手順を行う.

  3. workers2.propetries ファイルのコピー

    conf\workers2.properties.sample を、apache の conf フォルダ (c:\Program Files\Apache Group\Apache2\conf) に workers2.propertiesという名前でコピー(ファイル名の変更)する.その後,workers2.properties の内容を変更する.

    [変更前] [uri:/examples/*]
    [変更後] [uri:/servlets-examples/*]
    
  4. Apache の conf ファイル conf/httpd.conf の修正
    1. apache のhttpd.conf の末尾に「LoadModule jk2_module modules/mod_jk2.so」の行を追加する.
    2. 上記1で追加した行の直後に,「conf\ mod_jk2.conf.sample」の中身をコピー&ペーストする.
    3. 上記2で追加した行のうち JkSet config.file の行は UNIX 用の設定になっているので, パスを変更する.
      [変更前] JkSet config.file /usr/local/etc/apache2/workers2.properties
      [変更後] JkSet config.file conf/workers2.properties
      
    4. 上記、1,2,3の結果は、次のようになる
      LoadModule jk2_module modules/mod_jk2.so
      <IfModule mod_jk2.c>
          #-----------------------------------------------
          # Where to find the workers2.properties file
          #-----------------------------------------------
          #
          JkSet config.file conf/workers2.properties
      </IfModule>
      
    5. (必要なら)apache のhttpd.conf のカスタマイズを行う
  5. modules\mod_jk2.so ファイルのコピー

    付属の modules\mod_jk2.so を、apache の modules ディレクトリ (c:\Program Files\Apache Group\Apache2\modules) にコピー

  6. docs ファイルのコピー

    doc ディレクトリの中身を,C:\tomcat55\docsのディレクトリにコピーする.

  7. ポート番号の設定 Tomcat の conf ディレクトリ (c:\tomcat55\conf) に,ファイルjk2.properties を作成する. このファイルには,ポート番号の設定を行う.そのために,次の行を追加する.
        「channel Socket.port=8009」
    
  8. ポート 8080 は,127.0.0.1 からの接続のみを受け付ける

    Tomcat の conf ディレクトリ (C:\tomcat55\conf) にある server.xml を編集.

    port="8080"についての設定を、次のように書き換える。

    <Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
                   port="8080" minProcessors="5" maxProcessors="75"
                   address="127.0.0.1"
                   enableLookups="true" redirectPort="8443"
                   acceptCount="100" debug="0" connectionTimeout="20000"
                   useURIValidationHack="false" disableUploadTimeout="true" />
    
  9. ポート 8009 は,127.0.0.1 からの接続のみを受け付ける

    port="8009"についての設定を、次のように書き換える。

        <!-- Define an AJP 1.3 Connector on port 8009 -->
        <Connector port="8009"
                   address="127.0.0.1"
                   enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />
    
  10. Apache Tomcat の設定を変えたので,Tomcat を再起動する.

テスト実行

Tomcat に付属のサンプルファイルを使ってテスト

  1. Tomcat の再起動: c:\tomcat55\bin\tomcat5w.exe を使用
  2. apache の再起動:
  3. 下記の URL を使い、servlets-examples のページを開く. 「:8080」を付けない.Web サーバにアクセス.

    http://localhost/servlets-examples

  4. Tomcat に新しくクラス定義を追加したときは, Apache の conf\workers2.properties を編集して,クラス定義のあるディレクトリについての設定を追加する.

メモ

今後、Tomcat の c:\tomcat55\webapps\cgi\WEB-INF\classes\ ディレクトリには、クラス名.java のファイルが多数置かれることになる。 http://localhost/cgi/クラス名という URL を使って、このクラスの doGet メソッドが起動されるという仕組みになっている。