Java 17 + Tomcat 10 + Apache 2.4を構築

Uncategorized

こんにちは、Workaholicです。

Javaのパッケージの問題でTomcat10には手を出していなかったのですが、構築する機会がありましたので手順をまとめてみました。

・前提

OS:Oracle Linux 8.4

Java:Oracle JDKを使用

Tomcat:Apache Tomcat10

Web Server:Apache Web Server 2.4

・Apache Web Server 2.4 インストール

# yum -y install httpd httpd-devel
# systemctl enable httpd

# httpd -v
Server version: Apache/2.4.37 (Oracle Linux)
Server built:   Apr  8 2021 07:18:41

・Java 17インストール

「Oracle Java Download」

以下より最新のJDKのインストーラがダウンロードできます。
今回はrpmパッケージを利用して行います。「jdk-17_linux-x64_bin.rpm
※ダウンロード先のURLを要確認し、適宜手順を変更してください

Download the Latest Java LTS Free
Subscribe to Java SE and get the most comprehensive Java support available, with 24/7 global access to the experts.
#cd /tmp
#wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.rpm
#rpm -ivh jdk-17_linux-x64_bin.rpm

# java -version
java version "17" 2021-09-14 LTS
Java(TM) SE Runtime Environment (build 17+35-LTS-2724)
Java HotSpot(TM) 64-Bit Server VM (build 17+35-LTS-2724, mixed mode, sharing)

# which java
/usr/bin/java

Javaのバージョンが複数存在する場合には「alternatives」コマンドで変更してください
今回は初の導入だったので1つのみ登録されています。

# alternatives --config java

1 プログラムがあり 'java' を提供します。

  選択       コマンド
-----------------------------------------------
*+ 1           /usr/java/jdk-17/bin/java

Enter を押して現在の選択 [+] を保持するか、選択番号を入力します:

・Apache Tomcat 10 インストール

・インストール

今回は「/usr/tomcat10」にインストールします。
「/usr/tomcat10/bin/version.sh」が下記のように出力されることを確認してください

#cd /tmp
#wget http://ftp.jaist.ac.jp/pub/apache/tomcat/tomcat-10/v10.0.11/bin/apache-tomcat-10.0.11.tar.gz
#tar zxf apache-tomcat-10.0.11.tar.gz
#mv apache-tomcat-10.0.11 /usr/tomcat10
#ls -l /usr/tomcat10

#echo -e "export CATALINA_HOME=/usr/tomcat10\nexport CATALINA_BASE=/usr/tomcat10" > /etc/profile.d/tomcat.sh
#source /etc/profile.d/tomcat.sh

# /usr/tomcat10/bin/version.sh
Using CATALINA_BASE:   /usr/tomcat10
Using CATALINA_HOME:   /usr/tomcat10
Using CATALINA_TMPDIR: /usr/tomcat10/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/tomcat10/bin/bootstrap.jar:/usr/tomcat10/bin/tomcat-juli.jar
Using CATALINA_OPTS:
NOTE: Picked up JDK_JAVA_OPTIONS:  --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED
Server version: Apache Tomcat/10.0.11
Server built:   Sep 6 2021 16:22:12 UTC
Server number:  10.0.11.0
OS Name:        Linux
OS Version:     5.4.17-2102.201.3.el8uek.x86_64
Architecture:   amd64
JVM Version:    17+35-LTS-2724
JVM Vendor:     Oracle Corporation

・Tomcatユーザの追加

useradd -M -d /usr/tomcat10 tomcat
chown -R tomcat:tomcat /usr/tomcat10

・systemctl起動スクリプト作成

「status」「start」「stop」「restart」がエラー無く実行できることを確認してください
登録名は「Tomcat10」とします。

#echo "[Unit]
Description=Apache Tomcat 10
After=network.target

[Service]
Type=oneshot
ExecStart=/usr/tomcat10/bin/startup.sh
ExecStop=/usr/tomcat10/bin/shutdown.sh
RemainAfterExit=yes
User=tomcat
Group=tomcat

[Install]
WantedBy=multi-user.target
"  > /usr/lib/systemd/system/tomcat10.service


#systemctl start tomcat10
#systemctl status tomcat10

#systemctl stop tomcat10
#systemctl status tomcat10

#systemctl start tomcat10
#systemctl restart tomcat10
#systemctl status tomcat10

#systemctl enable tomcat10

・ファイヤーウォール(firewalld)の設定

ファイヤーウォールにポートの8080と80を通す設定を入れます。

# firewall-cmd --add-port=8080/tcp --permanent
# firewall-cmd --add-port=80/tcp --permanent
# firewall-cmd --reload

・Tomcatテストページの表示

Webブラウザから「http://<IPアドレス>:8080」を開きます。
以下テストページが表示されることを確認してください

・Apache Web Serverとの連携

以下コマンドを打ち「/etc/httpd/conf.d/proxy.conf」を作成します。

#echo "ProxyPass / ajp://localhost:8009/" > /etc/httpd/conf.d/proxy.conf

「/usr/tomcat10/conf/server.xml」を開きAJS/1.3の設定に変更を以下のように書き換えます。
デフォルトだとコメントアウトされていますのでそれを取る事を忘れないようにしてください

#vi /usr/tomcat10/conf/server.xml

    <Connector protocol="AJP/1.3"
               address="0.0.0.0"
               port="8009"
               redirectPort="8443"
               secretRequired="false" />

WebサーバとTomcatを再起動します。

#systemctl restart httpd
#systemctl restart tomcat10

Webブラウザから「http://<IPアドレス>/docs」を開きます。
以下ページが表示されることを確認してください

・最後に

以上で問題なく構築は行えると思います。
今後デプロイ方法なども解説が出来ればと思っています。
手順に不備、不明点があれば是非コメントをください

(Visited 6,139 times, 1 visits today)

コメント

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