RHEL10でApache HTTP ServerとTomcat 10.1をAJP連携してManager画面へログインするまで

スポンサーリンク

今回は、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
&lt;Location />
ProxyPass ajp://127.0.0.1:8009/ secret=TomcatAJP_Secret
&lt;/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
&lt;Context antiResourceLocking="false" privileged="true" >
  &lt;CookieProcessor className="org.apache.tomcat.util.http.Rfc6265CookieProcessor"
                   sameSiteCookies="strict" />
  &lt;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`とした。

&lt;role rolename="manager-gui"/>
&lt;role rolename="manager-script"/>
&lt;user username="admin" password="Password" roles="manager-gui"/>
&lt;user username="robot" password="Password" roles="manager-script"/>

Tomcat再起動

# systemctl restart tomcat

ログイン確認

ブラウザから http://サーバIPアドレス/manager/html へアクセスする。

認証画面がでるので、Managerユーザー作成で設定した adminでログインすると画面が表示される。

コメント

タイトルとURLをコピーしました