目的
代表的な
Javaアプリケーションコンテナである
Tomcatと、代表的なHTTPサーバ
Apacheを連携させる設定方法について記したメモです。
またTomcatを動作させるために必要なJDKのインストール方法についても記述しています。
前提環境・ソフトウェアバージョン(OS、Kernel、Apache、JDK、Tomcat)
OS |
Redhat Enterprise Linux ES 4 Update6 |
Kernel |
2.6.9-67.EL |
Apache |
2.2.8 |
JDK |
1.5.0_15 |
Tomcat |
6.0.16 |
(1)事前に上記バージョンのApache2.2.8がインストールされている必要があります。
(2)Apacheをビルドする際に次のビルド設定が指定されている必要があります。
--enable-proxy=yes
--enable-proxy-ajp=yes
概要
(1)ダウンロードサイトから各パッケージの入手
(2)JDKのインストールおよびセットアップ
(3)Tomcatのインストール
(4)ApacheとTomcatの設定
ダウンロードサイトから各パッケージの入手
Sun Microsystemsのサイト
http://java.sun.com/ からLinux x86プラットフォーム向けのパッケージをダウンロードします。
RPMパッケージ(*.rpm)形式と、自己解凍(*.bin)形式がありますが、今回は自己解凍(*.bin)形式をダウンロードします。
※注意事項
Sun MicrosystemsのJDKパッケージのダウンロードサイトは、製品のバージョンアップとともに、変更されることが多いので、古いバージョンをダウンロードする場合は以下のArchiveサイトからダウンロードします。
http://java.sun.com/products/archive/
尚この際、製品のサポートポリシー(EOL = End of Life)移行期間などを確認する必要があります。
現時点([2008/06/26]現在)においても、既に5.0(1.5)系はEOL移行期間で6.0系を使うことが推奨されています。
apache-tomcat-6.0.16.tar.gz |
Linuxプラットフォーム向けのGnuZip圧縮形式のパッケージ |
apache-tomcat-6.0.16.exe |
Windowsプラットフォーム向けのインストーラパッケージ |
apache-tomcat-6.0.16-fulldocs.tar.gz |
このバージョンのドキュメントのGnuZip圧縮形式のパッケージ |
apache-tomcat-6.0.16-deployer.tar.gz |
★要調査★(多分、拡張のデプロイツール??) |
*.asc |
各ファイルの署名ファイル |
*.md5 |
各ファイルのMD5チェックサムファイル |
JDKのインストールおよびセットアップ
自己解凍形式のため、以下のコマンドを実行します。
jdk-1_5_0_15-linux-i586.bin <ENTER>
Sun Microsystems, Inc. Binary Code License Agreement
for the JAVA 2 PLATFORM STANDARD EDITION DEVELOPMENT KIT 5.0
:
(省略)
:
Do you agree to the above license terms? [yes or no]
yes <ENTER>
上記操作により、カレントディレクトリにJDK一式が解凍されます。
解凍されたディレクトリを以下のコマンドより、適切な位置に配置します。
mv -p jdk1.5.0_15/ /opt/java/1.5.0 <ENTER>
インストールしたJDKの各プログラムを実行可能にするために、以下の環境変数を設定します。
環境変数名 |
意味 |
設定値 |
JAVA_HOME |
JDKのホームディレクトリ |
/opt/java/1.5.0 |
PATH |
実行プログラムの検索パス |
$JAVA_HOME/bin:$PATH |
今回はtomcatユーザの環境変数に、上記内容を追加するので、.bashrc ファイルに以下の記述を追記します。
export JAVA_HOME=/opt/java/1.5.0
export PATH=${JAVA_HOME}/bin:${PATH};
※事前にtomcatユーザを作成しておく必要があります。
以下のコマンドにより、インストールしたJavaのバージョン、パス設定が正しいかどうか?の確認を行います。
which java <ENTER>
/opt/java/1.5.0/bin/java
java -version <ENTER>
java version "1.5.0_15"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_15-b04)
Java HotSpot(TM) Client VM (build 1.5.0_15-b04, mixed mode, sharing)
最近のLinuxディストリビューションでは、同じアプリケーションで、複数のバージョンを同一システム上にインストールするための仕組みとして、alternativesと呼ばれる仕組みを採用していることがあります。
例えばビルドバージョンのみ異なる(バグフィックスしたバージョン 等)プログラムをインストールする際などに、この仕組みを使うことでパスの最設定などを一元化することが可能になります。
詳細については、別途alternativesについて調査します。
Tomcatのインストール
以下のコマンドより、解凍・展開します。
gunzip apache-tomcat-6.0.16.tar.gz <ENTER>
tar -xvf apache-tomcat-6.0.16.tar <ENTER>
解凍されたディレクトリを適切な位置に配置します。
パーミッションも実行ユーザであるtomcatに設定しておくのが望ましいでしょう。
cp -p apache-tomcat-6.0.16/ /opt/tomcat/6.0 <ENTER>
chown -R tomcat.tomcat /opt/tomcat/6.0 <ENTER>
ApacheとTomcatの設定
- proxy_module および proxy_ajp_module が有効になっていることの確認
以下のファイルを確認します(※LoadModuleディレクティヴが並んでいる箇所を確認)。
/opt/apache/2.2/conf/httpd.conf ファイルの87,91行目(あたり)
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
/opt/apache/2.2/conf/httpd.conf の末尾に以下の記述を追加します。
#Redirect setting for AJP
<Location /manager/>
ProxyPass ajp://localhost:8009/manager/
</Location>
上記で設定した /manager コンテキストは、初期設定ではBASIC認証保護されています。
そのため、以下のファイルを編集し、ユーザ登録をしておく必要があります。
/opt/tomcat/6.0/conf/tomcat-users.xml ファイル
<tomcat-users>~</tomcat-users>のエレメントに <role /> エレメントと <user /> エレメントを追加する必要があります。
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
<role rolename="manager"/>
<user username="tomcat" password="tomcat123" roles="manager"/>
</tomcat-users>
- Tomcatが直接受け付けるHTTPリクエストポートを閉じる設定(オプション)
以下のファイルを編集します。
/opt/tomcat/6.0/conf/server.xml 66~69行目のConnector要素をコメントアウトします。
<!--
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
-->
この設定は、TomcatのHTTPリクストへ直接アクセスされることを回避するための設定です。
... 以上の設定が終了したら、Tomcat→Apacheの順にデーモンを起動します。
su - tomcat <ENTER>
cd /opt/tomcat/6.0/bin <ENTER>
./startup.sh <ENTER>
Using CATALINA_BASE: /opt/tomcat/6.0
Using CATALINA_HOME: /opt/tomcat/6.0
Using CATALINA_TMPDIR: /opt/tomcat/6.0/temp
Using JRE_HOME: /opt/java/1.5.0
exit <ENTER>
cd /opt/apache/2.2/bin <ENTER>
./apachectl start <ETNER>
このようにHTTPリクエストポート経由で、Tomcatコンテンツにアクセスしていることが確認できます。
最終更新:2011年04月15日 16:44