
今回は、RHEL 10.2環境で Apache HTTP Server 2.4 と Tomcat 10.1 をAJP連携し、Tomcat Manager画面へログインできるようになるまでの手順をまとめます。
環境
OS
RedHat 10.2
Apache
httpd-2.4.63
Tomcat
tomcat-10.1.49
構成イメージ
Apache HTTP Serverをフロントエンドサーバとして配置し、AJP(ポート8009)を利用してTomcatへリクエストを中継する構成です。利用者はApacheへアクセスするだけで、バックエンドのTomcat上で動作するWebアプリケーションを利用できます。

パッケージインストール
必要なパッケージをまとめてインストールします。
# dnf install -y httpd tomcat tomcat-webapps tomcat-admin-webapps
Apacheモジュール確認
AJP連携に必要なモジュールを確認します。
# httpd -M | grep proxy
proxy_module
proxy_ajp_module
がロードされていればOK。
TomcatのAJP設定
TomcatでAJP通信を受け付けるため、server.xml にAJP Connectorを設定します。
# vi /etc/tomcat/server.xml
AJP Connectorを有効化します。
<Connector protocol="AJP/1.3"
address="127.0.0.1"
port="8009"
redirectPort="8443"
maxParameterCount="1000"
secret="TomcatAJP_Secret"/>
- address は localhost限定
- AJPポートは 8009
- Apache側と同じ secret を設定
Tomcat起動
tomcat の自動起動設定およびサービス起動
# systemctl enable --now tomcat
AJP待ち受け確認
# ss -lntp | grep 8009
LISTEN 0 100 [::ffff:127.0.0.1]:8009
Apache設定
ApacheからTomcatへAJPプロトコルでリクエストを転送する設定を作成します。今回は /etc/httpd/conf.d/ 配下に設定ファイルを追加し、Apacheが受信したリクエストをTomcatのAJPコネクタ(ポート8009)へ中継します。
# vi /etc/httpd/conf.d/tomcat-ajp.conf
ProxyRequests Off
<Location />
ProxyPass ajp://127.0.0.1:8009/ secret=TomcatAJP_Secret
</Location>
構文確認
# httpd -t
Syntax OK
Apache再起動
# systemctl restart httpd
AJP連携確認
ブラウザで http://サーバのIPアドレス へアクセス。

この時点でApache → AJP → Tomcat の連携成功です。404でも問題ありません。重要なのは画面下部にApache Tomcat/10.1.49 と表示されることです。
Managerアプリ導入確認
Tomcat ManagerおよびHost Managerアプリが配置されていることを確認します。
# ls /var/lib/tomcat/webapps
ROOT host-manager manager
Managerへアクセス制限解除
そのままだと、IP制限がかかっていて、403 Access Denied になるので、ManagerへアクセスするIPアドレスを定義しておく。ここでは192.168.10.0/24 としている。
# vi /var/lib/tomcat/webapps/manager/META-INF/context.xml
<Context antiResourceLocking="false" privileged="true" >
<CookieProcessor className="org.apache.tomcat.util.http.Rfc6265CookieProcessor"
sameSiteCookies="strict" />
<Valve className="org.apache.catalina.valves.RemoteCIDRValve"
allow="192.168.10.0/24,::1/128" />
Tomcat再起動
# systemctl restart tomcat
Managerユーザー作成
以下のファイルを編集します。
# vi /etc/tomcat/tomcat-users.xml
以下を追加。Managerへアクセスするためのユーザ、パスワード、ロールを定義する。ここでは Admin で パスワードは `Password`とした。
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<user username="admin" password="Password" roles="manager-gui"/>
<user username="robot" password="Password" roles="manager-script"/>
Tomcat再起動
# systemctl restart tomcat
ログイン確認
ブラウザから http://サーバIPアドレス/manager/html へアクセスする。
認証画面がでるので、Managerユーザー作成で設定した adminでログインすると画面が表示される。

コメント