CentOSへTomcat9をインストール

サーバ関連
スポンサーリンク

前提

Java,Apacheがインストールされていること

JavaOpenJDK 16.0.1
ApacheApache/2.4.6

それぞれのインストール手順はこちら

Tomcat用ユーザを作成

以下のコマンドにてユーザを追加する
なお、ホームディレクトリは必要ないので、作成しないでおく

useradd -M tomcat

バイナリファイルを取得

以下のTomcat公式ページより、バイナリファイルを取得する

Apache Tomcat® - Apache Tomcat 9 Software Downloads

バイナリファイルの配置

取得したファイルを、FTPなどを利用しサーバへアップロードする

バイナリを展開

以下コマンドにて、配置したバイナリファイルを展開する

tar zxvf apache-tomcat-9.0.52.tar.gz

移動

展開したディレクトリを、任意の場所へ移動する

権限変更

以下コマンドにて、Tomcatの所有者を変更する

chown -R tomcat:tomcat tomcat9/

systemdユニットファイルの作成

OS上のサービスとして起動させるための設定を行う

環境変数ファイルを作成

以下のコマンドにて、環境変数を設定する。

vim /etc/sysconfig/tomcat

記述内容

JAVA_HOME="/opt/jdk-16.0.1/"
CATALINA_HOME="/opt/tomcat9"
CATALINA_BASE="/opt/tomcat9"
CATALINA_OPTS="-server -Xmx128m -Xms128m -XX:MaxMetaspaceSize=128m"

systemdユニットファイルを作成

以下のコマンドにて、ユニットファイルを作成する。

vim /usr/lib/systemd/system/tomcat.service

記述内容

[Unit]
Description=Apache Tomcat application server.
[Unit]
Description=Apache Tomcat application server.
After=network.target

[Service]
User=tomcat
Group=tomcat
Type=oneshot
PIDFile=/opt/tomcat9/tomcat.pid
RemainAfterExit=yes

ExecStart=/opt/tomcat9/bin/startup.sh
ExecStop=/opt/tomcat9/bin/shutdown.sh
ExecReStart=/opt/tomcat9/bin/shutdown.sh;/opt/tomcat9/bin/shutdown.sh

[Install]
WantedBy=multi-user.target

ユニットファイルのリロード

以下コマンドにて、ユニットファイルをリロードする

systemctl daemon-reload

FireWallの設定

以下コマンドにて、8080ポート、8009ポートを開放する

firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --zone=public --add-port=8009/tcp --permanent
firewall-cmd --reload

サービスの設定

以下のコマンドにて、自動起動,サービスの起動を行う。

systemctl enable tomcat.service
systemctl start tomcat.service

Tomcatの設定

Tomcatの管理用画面へアクセスできるようにする

{CATALINA_HOME}/conf/tomcat-users.xmlを編集し、以下の設定を行う。

username, password は希望の値を登録してください。

<role rolename="manager"/>
<user username="*****" password="*****" roles="manager"/>

{CATALINA_HOME}/webapps/manager/META-INF/context.xmlを編集し、以下をコメントアウトする。

上記設定が完了したら、Tomcatを再起動する

systemctl restart tomcat.service

管理画面へアクセス

以下URLにて、管理画面へアクセスする

http://ホスト名:8080/manager/html/

ログイン認証のダイアログが表示されるため、tomcat-users.xmlに指定したユーザ,パスワードを入力し、ログインする。

以下のページが表示されれば完了

ApacheとTocmatを連携

通常Webページは、80番ポートを使用してアクセスされるが、
TocmatでJavaの動的処理を行う場合は、8080ポートが使用される。

ApacheとTocmatを連携させ、80番ポートでのアクセスを8080番へ流してやることで、
8080ポートの指定をせずにアクセスが可能になる。

これを行うのに、AJPというプロトコルを使用する

conf.modules.d/00-proxy.confの編集

{apacheインストールディレクトリ}/conf.modules.d/00-proxy.confを編集し、以下を末尾に追記する

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

※確認したが、本サーバでインストールしたApacheには、標準で登録されていた。
すでに記載されている場合は、設定不要です。

連携するパスを定義

{apacheインストールディレクトリ}/conf.d/にxxx.confファイルを作成し、以下の内容を記述する。
※今回は、Tomcat管理画面を連携してみる
※xxx.confのxxxは任意の名前を指定

ProxyPass /tomcat ajp://localhost:8009/manager/html

すべてのリクエストをTomcatへ連携させる場合は、以下の設定を行う。

ProxyPass / ajp://localhost:8009/

conf.d/ディレクトリ配下の*.confファイルは、すべて読み込むよう別の設定ファイルに記述されている。

Tomcatのserver.xmlを変更

{CATALINA_HOME}/conf/server.xmlを編集し、以下の設定を行う。

①8080ポートのアクセスを禁止(コメントアウト)
②8009での連携を定義

コメント

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