Apache+Tomcat+PostgreSQL環境の構築

Apacheインストール確認

通常Linuxディストリビューションをインストールした場合apacheはインストールされている場合が多いと思います。まずインストールされているか確認します。

httpdインストール状況確認

[root@localhost etc]# rpm -qa |grep httpd
httpd-manual-2.0.40-21
httpd-2.0.40-21
redhat-config-httpd-1.0.1-18

上記のように表示されない場合はインストールされていませんのでインストールしてください。

JDKインストール

通常JDKはインストールされていません。ここではダウンロードした 「j2sdk-1_4_X_XX-linux-i586-rpm.bin」をインストールします。下記のように環境設定することで全てのユーザがJDKを使用することができます。

JDKインストール

[root@localhost user]# ./j2sdk-1_4_X_XX-linux-i586-rpm.bin

・・・途中略・・・
ライセンス規約に同意するかを確認するメッセージ表示。[yes]を選択。
・・・途中略・・・

[root@localhost user]# rpm -ihv j2sdk-1_4_X_XX-linux-i586-rpm
Preparing...    ########################################### [100%]
   j2sdk-1_4_X_XX ########################################### [100%]

JDK環境設定

[root@localhost user]# vi /etc/bashrc

・・・途中略・・・
export JAVA_HOME=/usr/java/j2sdk1.4.X_XX
export PATH="$PATH":"$JAVA_HOME"/bin
・・・途中略・・・

Tomcatインストール

ここではダウンロードした「jakarta-tomcat-5.X.XX.tar.gz」をインストールします。インストールは解凍後適当な場所へコピーだけです。

Tomcatインストール・起動・停止

[root@localhost user]# tar zvxf jakarta-tomcat-5.X.XX.tar.gz
[root@localhost user]# mv jakarta-tomcat-5.X.XX /usr/java

<<起動>>
[root@localhost user]# /usr/java/jakarta-tomcat-5.X.XX/bin/startup.sh
<<停止>>
[root@localhost user]# /usr/java/jakarta-tomcat-5.X.XX/bin/shutdown.sh

Tomcat Web Server Connectors JK2インストール

本来はソースからmakeすべきですが、今回はbinaryファイルを使用します。

解凍とコピー

[root@localhost user]# tar zxvf Fedora-Core-1-i386.tar.gz
Fedora-Core-1-i386/
Fedora-Core-1-i386/usr/
Fedora-Core-1-i386/usr/lib/
Fedora-Core-1-i386/usr/lib/httpd/
Fedora-Core-1-i386/usr/lib/httpd/modules/
Fedora-Core-1-i386/usr/lib/httpd/modules/mod_jk2.so
Fedora-Core-1-i386/usr/lib/httpd/modules/libjkjni.so
Fedora-Core-1-i386/usr/share/
Fedora-Core-1-i386/usr/share/doc/
Fedora-Core-1-i386/usr/share/doc/mod_jk2/
Fedora-Core-1-i386/usr/share/doc/mod_jk2/CHANGES.txt
Fedora-Core-1-i386/usr/share/doc/mod_jk2/STATUS.txt
Fedora-Core-1-i386/usr/share/doc/mod_jk2/README.txt
Fedora-Core-1-i386/usr/share/doc/mod_jk2/NOTICE
Fedora-Core-1-i386/usr/share/doc/mod_jk2/LICENSE
Fedora-Core-1-i386/etc/
Fedora-Core-1-i386/etc/httpd/
Fedora-Core-1-i386/etc/httpd/conf/
Fedora-Core-1-i386/etc/httpd/conf/workers2.properties
Fedora-Core-1-i386/etc/httpd/conf.d/
Fedora-Core-1-i386/etc/httpd/conf.d/jk2.conf
Fedora-Core-1-i386/var/
Fedora-Core-1-i386/var/www/
Fedora-Core-1-i386/var/www/manual/
Fedora-Core-1-i386/var/www/manual/mod_jk2/
・・・省略・・・

[root@localhost user]# cd Fedora-Core-1-i386/
[root@localhost user]# cp ./usr/lib/httpd/modules/*.so /usr/lib/httpd/modules/
[root@localhost user]# cp ./etc/httpd/conf/workers2.properties /etc/httpd/conf/
[root@localhost user]# cp ./etc/httpd/conf.d/jk2.conf /etc/httpd/conf.d/
[root@localhost user]# cd ./usr/share/doc/
[root@localhost user]# cp -r mod_jk2 /usr/share/doc/
[root@localhost user]# cd ./var/www/manual/
[root@localhost user]# cp -r mod_jk2 /var/www/manual/

コネクターのモジュールを設定ファイルへ追加する。

/etc/httpd/conf/httpd.confファイルの編集


■/etc/httpd/conf/httpd.confファイルの編集 
[root@localhost user]# vi /etc/httpd/conf/httpd.conf
# Tomcat Connector
LoadModule jk2_module modules/mod_jk2.so

Tomcatの設定の確認

[Tomcatのフォルダ]/conf/server.xmlファイルに以下の行がコメントアウトされていないことと、 ここのポート番号とworkers2.propertiesファイルに記述されているポート番号が一致していることを確認してください。

server.xml

■server.xml 
[root@localhost user]# vi /usr/java/tomcat-5.X.XX/conf/server.xml

--------------------------------------------------------------------
< !-- Define a Coyote/JK2 AJP 1.3 Connector on port 8009 -->
< Connector port="8009" enableLookups="false" redirectPort="8443" debug="0" protocol="AJP/1.3" />
--------------------------------------------------------------------

workers2.properties

[root@localhost user]# vi /etc/httpd/conf/workers2.properties

--------------------------------------------------------------------
# define the worker
[ajp13:localhost:8009]
channel=channel.socket:localhost:8009
group=lb
--------------------------------------------------------------------

ウェブサーバ領域とのマッピング

ApacheとTomcatをConnectorで接続した時、アクセスされるURIにより、Apacheにて処理するか、 Tomcat(Web server)で処理するかを判断する為の設定を行う必要があります。
下記の設定を任意に追加することでTomcatへの転送を制御できます。

workers2.properties内設定

[root@localhost user]# vi /etc/httpd/conf/workers2.properties

--------------------------------------------------------------------
# Map the Tomcat examples webapp to the Web server uri space
[uri:/servlets-examples/*]
[uri:/jsp-examples/*]
group=lb
--------------------------------------------------------------------

[root@localhost user]# /sbin/services httpd restart
httpdを停止中:						[ OK ]
httpdを起動中:						[ OK ]

 

上記の記述によって、「http://サーバURI/servlets-examples/」、 「http://サーバURI/jsp-examples/」以降の領域がコンテナへ引き渡されます。
追記後、httdを再起動することで設定が反映されます。