Apache Tomcat · 2 min read · Oct 23, 2025

シンプルなApache 2 Tomcat 5 mod_jk統合

シンプルなApache 2 Tomcat 5 mod_jk統合

このチュートリアルは多くのチュートリアルに基づいていますが、私は非常にシンプルなものを作成しました。仮想ホストはありません。これはDEBIAN 3.1でのみテストされています!!!! 他のディストリビューションでは動作しない可能性があります…

主な情報源はここにあります:

https://www.howtoforge.com/apache2_tomcat5_mod_jk

Apache2のインストール

私はこのリンクに従いました: https://www.howtoforge.com/perfect_setup_debian_sarge_p5

実行します

apt-get install apache2 apache2-doc   
apt-get install libapache2-mod-php4 libapache2-mod-perl2 php4 php4-cli php4-common php4-curl php4-dev php4-domxml php4-gd php4-imap php4-ldap php4-mcal php4-mhash php4-mysql php4-odbc php4-pear php4-xslt curl libwww-perl imagemagick

/etc/apache2/apache2.confを編集します。変更します

| DirectoryIndex index.html index.cgi index.pl index.php index.xhtml |

| DirectoryIndex index.html index.htm index.shtml index.cgi index.php index.php3 index.pl index.xhtml |

/etc/mime.typesを編集し、以下の行をコメントアウトします:

| #application/x-httpd-php phtml pht php #application/x-httpd-php-source phps #application/x-httpd-php3 php3 #application/x-httpd-php3-preprocessed php3p #application/x-httpd-php4 php4 |

/etc/apache2/mods-enabled/php4.confを編集し、以下の行をコメントアウトします:

| # AddType application/x-httpd-php .php .phtml .php3 # AddType application/x-httpd-php-source .phps |

/etc/apache2/ports.confを編集し、Listen 443を追加します:

| Listen 80 Listen 443 |

次に、いくつかのApacheモジュール(SSL、rewrite、suexec)を有効にする必要があります:

a2enmod ssl   
a2enmod rewrite   
a2enmod suexec   
a2enmod include

Apacheを再起動します:

/etc/init.d/apache2 restart

新しいユーザーwww-dataがシステムに自動的に作成されます。

JDK(Java Development Kit)のインストール

Tomcatを実行するには、JDKをインストールし、JAVA_HOME環境変数を設定して、システム上のJDK環境の場所を特定する必要があります。私はJDK 5.0を使用することにしました。

  1. JDK 5.0をhttp://java.sun.com/j2se/1.5.0/download.jspからダウンロードできます。
  2. JDK 5.0 Update 6をダウンロードするには、ダウンロードページに移動します。
  3. ライセンス契約に同意するには、Acceptをクリックします。
  4. 次に、Linux自己解凍ファイルを選択します。これはrpmではなく、自己解凍バイナリファイルのダウンロードです。
  5. お好みのダウンロードディレクトリにダウンロードします。そのディレクトリに移動し、次のコマンドを実行して実行可能にします:
chmod +x jdk-1_5_0_06-linux-i586.bin

次に、ファイルを実行します:

./jdk-1_5_0_06-linux-i586.bin

新しいディレクトリjdk1.5.0_06が作成されるはずです。次に、このディレクトリを実行する場所に移動します。私は/usr/lib/を選びました。

mv jdk1.5.0_06 /usr/lib

次に、次のコマンドでJAVA_HOMEにjdkというシンボリックリンクを作成します。これにより、必要に応じて異なるjvm間で簡単に切り替えることができます。

cd /usr/lib   
ln -s jdk1.5.0_06 jdk

次に、JAVA_HOME環境変数を設定する必要があります。/etc/profileの最後に次の内容を追加します。

| JAVA_HOME="/usr/lib/jdk" export JAVA_HOME |

/etc/profileは起動時およびユーザーがシステムにログインしたときに実行されます。環境を更新するには、ログアウトして再度ログインする必要があります。

以下のコマンドを実行して、JAVA_HOMEが正しく定義されていることを確認します。これは、Java SDKの場所を報告するはずで、/usr/lib/jdkである必要があります。

echo $JAVA_HOME

Tomcatのインストール

このセクションでは、Apache Tomcat 5.5.16をダウンロードしてインストールします。この特定のセットアップでは、ソースからパッケージをビルドする必要はなく、バイナリ版をダウンロードします。

  1. ここからお好みのダウンロードディレクトリにバイナリ版をダウンロードします: http://tomcat.apache.org/download-55.cgi。5.5.16のコアセクションからtar.gzを選択します。

  2. 次に、そのディレクトリに移動し、次のコマンドを使用してファイルを抽出します:

cd /mydownloads #(お好みのダウンロードディレクトリに変更してください)   
tar xvzf apache-tomcat-5.5.16.tar.gz

新しいディレクトリapache-tomcat-5.5.16が作成されるはずです。次に、このディレクトリをインストールする場所に移動します。再び、私は/usr/lib/を選びました。この場所はTomcatのドキュメントでCATALINA_HOMEと呼ばれます。

mv apache-tomcat-5.5.16 /usr/lib
  1. 次に、/usr/lib/ディレクトリに移動します。
cd /usr/lib
  1. 次に、次のコマンドでCATALINA_HOMEにapache-tomcatというシンボリックリンクを作成します。
ln -s apache-tomcat-5.5.16 apache-tomcat

これにより、Tomcatをアップグレードするたびにスタートアップおよびシャットダウンスクリプトを変更する必要がなくなり、必要に応じてシステム上に複数のTomcatのバージョンを保持し、それらの間で簡単に切り替えることができます。

これで、CATALINA_HOME/binディレクトリからTomcatを起動および停止できるようになります。bashシェル以外のシェルを使用している場合は、コマンドの先頭にshを追加する必要があります。Tomcatがインストールされていることを確認するために、Tomcatを起動し、ブラウザを開いてhttp://localhost:8080を入力してください。ポート8080はTomcatのデフォルトポートであり、/usr/lib/apache-tomcat/conf/server.xmlファイルで簡単に変更できます。(このファイルについては後で作業します。)このページにリモートでアクセスする予定がある場合は、ルーター内でサーバーのIPアドレスにそれぞれのポートを転送してください。これで、Tomcatのウェルカムページが表示され、TomcatのドキュメントやサンプルJSP/Servletスクリプトへのリンクが含まれています。ウェルカムページにあるいくつかの例を実行して、Tomcatが実行されていることを確認してください。

cd /usr/lib/apache-tomcat/bin   
./startup.sh

サーバーをシャットダウンするには、次のコマンドを実行する必要があります。気軽に試してみてくださいが、今のところTomcatは実行したままにしておきます。

./shutdown.sh

mod_jkのインストールと設定

TomcatとApacheの接続を確立するために、mod_jkコネクタをダウンロードしてインストールする必要があります。Apacheのドキュメントでは、特定のLinuxディストリビューションに利用可能な場合は、mod_jkのパッケージ版をインストールすることを推奨しています。多くの古いリソースではmod_jk2コネクタのインストールを推奨していますが、私はそれが非推奨であることを発見しました。mod_jkはmod_jk2よりも前に開発されましたが、今でも完全にサポートされており、非常に安定しています。

Mike Millsonは、Red HatでTomcatをApacheに接続するためにmod_jkを使用する理由をここで説明しています: Red Hat LinuxでのTomcatとApacheの統合。

  1. 私はApacheアーカイブから現在のソースをダウンロードすることにしました: http://archive.apache.org/dist/jakarta/tomcat-connectors/jk/source/jk-1.2.15/. jakarta-tomcat-connectors-1.2.15-src.tar.gzファイルを/usr/src/ディレクトリにダウンロードします。

  2. /usr/srcディレクトリに移動します。

cd /usr/src
  1. 次に、内容を抽出して/usr/src/jakarta-tomcat-connectors-1.2.15-srcディレクトリを作成します。
tar xvzf jakarta-tomcat-connectors-1.2.15-src.tar.gz
  1. /usr/src/jakarta-tomcat-connectors-1.2.15-src/jk/nativeディレクトリに移動します。
cd jakarta-tomcat-connectors-1.2.15-src/jk/native
  1. これで、システム用のカスタム設定ファイルを作成する準備が整いました。次のコマンドを実行します:
./buildconf.sh

これにより、/usr/src/jakarta-tomcat-connectors-1.2.15-src/jk/nativeディレクトリに設定ファイルが作成されます。

  1. 次のコマンドを実行して、システム用にmod_jkを設定します。
    重要な注意: apxs2(APache eXtensionツール)がApacheと共にインストールされ、設定されている必要があります。もしそれがない場合、私の場合のように、www.debian.orgからapache2-threaded-devパッケージ(以前のapache-devパッケージに置き換わったもの)をダウンロードしてインストールできます。この執筆時点では、www.debian.orgのDebianパッケージアーカイブがダウンしており、彼らは問題が解決されるまで一時的なサイトpdo.debian.netを参照するように私に言いました。私はapache2-threaded-devパッケージを見つけ、成功裏にインストールすることができました。
    コマンドのパスにシステム上のapxs2の正しい場所を含めることを忘れないでください。
./configure --with-apxs=/usr/bin/apxs2
  1. 次に、次のコマンドでmod_jkをビルドします:
make
  1. 最後に、前のコマンドが成功した場合、新しく作成されたmod_jk.soをApache2モジュールディレクトリにコピーします。私のモジュールは/usr/lib/apache2/modulesにありました。
cd apache-2.0   
cp /usr/src/jakarta-tomcat-connectors-1.2.15-src/jk/native/apache-2.0/mod_jk.so /usr/lib/apache2/modules

次のステージに進む準備が整いました。ApacheとTomcatの設定を開始します。mod_jkコネクタに関する詳細情報はhttp://tomcat.apache.org/connectors-doc/howto/apache.htmlで見つけることができます。

TomcatとApacheの設定

workers.propertiesファイルを作成します。
重要な注意: 修正する前に設定ファイルのバックアップを作成してください。
workers.propertiesファイルには、ajpv13プロトコルを介して通信するワーカーを定義することによって、各プロセスがTomcatにどのようにリンクされているかの詳細が含まれています。詳細については、Workers HowToを参照してください。

  1. まず、Apache2ルートディレクトリにworkers.propertiesファイルを作成します。
touch /etc/apache2/workers.properties
  1. 次に、workers.propertiesファイルを開き、以下を追加します。インターネット上にはworkers.propertiesファイルの他の多くの例がありますが、これは私が作成したもので、すでにこのチュートリアルで設定された他の部分ともうまく機能するようです。

| workers.tomcat_home=/usr/lib/apache-tomcat workers.java_home=/usr/lib/jdk ps=/ worker.list=worker1 worker.default.port=8009 worker.default.host=localhost worker.default.type=ajp13 worker.default.lbfactor=1 |

  1. ファイルを保存して閉じます。

  2. 次に、/etc/apache2/apache2.confファイルを開き、以下の行を下部に追加します。(httpd.confは後方互換性のためだけです):

| LoadModule jk_module /usr/lib/apache2/modules/mod_jk.so # workers.propertiesの場所 JkWorkersFile /etc/apache2/workers.properties # jkログの保存場所 JkLogFile /var/log/apache2/mod_jk.log # jkログレベルを設定 [debug/error/info] JkLogLevel info # ログフォーマットを選択 JkLogStampFormat "[%a %b %d %H:%M:%S %Y] " # JkOptionsはSSL KEY SIZEを送信することを示します、 JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories # JkRequestLogFormatはリクエストフォーマットを設定します JkRequestLogFormat "%w %V %T" # /jsp-examplesのコンテキストに対してworker1というワーカーにサーブレットを送信 JkMount /jsp-examples worker1 # /jsp-examples/*のコンテキストに対してworker1というワーカーにJSPを送信 JkMount /jsp-examples/* worker1 |

ファイルを保存して閉じます。

次に、最終的なセキュリティポイント。

tomcatというグループとユーザーを次のように作成します:

groupadd tomcat   
useradd -g tomcat tomcat

次に、Tomcatパスのユーザーとグループを変更します:

chown -R tomcat:tomcat /usr/lib/apache-tomcat-5.5.16

tomcatユーザーのパスワードを変更するには、rootで次のように入力します:

passwd tomcat

指示に従ってください。

次に、Tomcatサーバーを起動および停止するには、tomcatユーザーを使用する必要があります。

su - tomcat

次に、Tomcatを停止および起動します:

cd /usr/lib/apache-tomcat/bin  
./shutdown.sh  
./startup.sh

そしてApacheを再起動します:

/etc/init.d/apache2 restart

完了です。

テスト:

このテストでは、”/jsp-examples”で始まるすべてのURLをTomcatに向けています。
実際の状況では、JSPまたはサーブレットのみをJKワーカーに向けるかもしれません。

デフォルトのTomcatポート8005、8009、8080で他のサーバーが実行されていないことを確認してください。
Apacheポート(通常は8080または80)で他のサーバーが実行されていないことを確認してください。

まずTomcatを起動します: まずTomcatを起動し、その後Apacheを起動します。
Tomcatを再起動する必要がある場合は、最初にApacheを停止し、Tomcatが再起動した後に再起動してください。
Apacheを起動します: ブラウザをhttp://localhostに向け、デフォルトのApacheページが表示されることを確認します。必要に応じて”localhost”を実際のマシン名/IPに置き換えます。

ブラウザをhttp://localhost:8080に向け、デフォルトのTomcatページが表示されることを確認します。

ブラウザをhttp://localhost/jsp-examples/に向け、Tomcatの例のインデックスページが表示されることを確認します。

これはApacheによって提供され、ApacheとTomcatの統合が成功したことを示します。

参考文献とパス:

Tomcat conf:

/usr/lib/apache-tomcat/conf/server.xml

Tomcatの停止と起動:

cd /usr/lib/apache-tomcat/bin  
./shutdown.sh  
./startup.sh

Apacheモジュール:

/usr/lib/apache2/modules

Apache conf:

/etc/apache2/workers.properties   
/etc/apache2/apache2.conf   
/etc/apache2/httpd.conf

Apache2:

/etc/init.d/apache2 restart   
/etc/init.d/apache2 stop   
/etc/init.d/apache2 start

このチュートリアルに関して助けが必要な方は、こちらに質問を投稿してください:

https://www.howtoforge.com/forums/showthread.php?t=3595

また、チュートリアルにエラーがある場合は、フォーラムでお知らせください。

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。