Apache-Tomcatの連携(RHEL9)【AWS】

EC2アイキャッチ画像

・AWSのEC2上でApache-Tomcatの連携を行いたい

前提条件

・Tomcatインストール済み・疎通確認済み
・Apache(httpd)インストール済み・疎通確認済み

tomcat画面
RHELテストページ

httpd設定ファイルバックアップの設定

まず初めに、下記コマンドより設定ファイルのバックアップを作成します。

sudo cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf_bk
sudo ls /etc/httpd/conf
設定ファイル確認

httpd設定ファイルの編集

#Forward Tomcat Setting
ProxyPass / ajp://127.0.0.1:8009/
ProxyPassReverse / ajp://127.0.0.1:8009/

上記の内容を、/etc/httpd/conf/httpd.confに追記してください。

sudo vi /etc/httpd/conf/httpd.conf
実行コマンド

diffコマンドで該当箇所以外の修正が発生していないのを確認

diff /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf_bk
diffコマンド実行結果

設定の反映

下記コマンドより、修正内容を反映します。

sudo systemctl restart httpd.service

Tomcat設定ファイルのバックアップ作成

server.xmlの設定ファイルのバックアップを作成します。
ディレクトリはTomcatをインストールしたディレクトリ配下になりますので、適宜読み替えてください

sudo cp /usr/local/tomcat9/conf/server.xml /usr/local/tomcat9/conf/server.xml_bk
sudo ls -la /usr/local/tomcat9/conf/
設定ファイルバックアップ作成ファイル

Tomat設定ファイル(server.xml)の編集

8080からのアクセスはApache経由でアクセスしたいため、8080の設定をコメントアウトして無効化します。

コメントアウト無効化

8009ポートでアクセスするので、下記の記載のコメントアウトをとり有効化します。
ついでに、今回はsecretキーも無効化しておきます。※secretの設定はいずれ紹介します。

    <!-- Define an AJP 1.3 Connector on port 8009 -->
    <Connector protocol="AJP/1.3"
               address="127.0.0.1"
               port="8009"
               redirectPort="8443"
               maxParameterCount="1000"
               secretRequired="false"
               />
ポート8009画面

変更点の確認

sudo diff /usr/local/tomcat9/conf/server.xml /usr/local/tomcat9/conf/server.xml_bk
変更点確認コマンド

Tomcat設定ファイルの反映

systemctl restart tomcat.service

selinux設定(必要であれば)

setsebool -P httpd_can_network_connect on

確認

http://<YOUR_IP_ADDRESS>/

Tomcat画面

IPアドレスでTomcatが無事表示されました。

以上です。誰かの参考になれば幸いです。