Java 21のインストール
sudo dnf install java-21-openjdk-devel wget
[sooni@vm105 ~]$ sudo dnf install java-21-openjdk-devel wget
[sudo] sooni のパスワード:
メタデータの期限切れの最終確認: 3:59:50 前の 2025年04月26日 11時09分16秒 に実施しました。
パッケージ wget-1.21.1-8.el9_4.x86_64 は既にインストールされています。
依存関係が解決しました。
========================================================================================================================================
パッケージ アーキテクチャー バージョン リポジトリー サイズ
========================================================================================================================================
インストール:
java-21-openjdk-devel x86_64 1:21.0.7.0.6-1.el9 appstream 5.0 M
依存関係のインストール:
copy-jdk-configs noarch 4.0-3.el9 appstream 27 k
java-21-openjdk x86_64 1:21.0.7.0.6-1.el9 appstream 429 k
java-21-openjdk-headless x86_64 1:21.0.7.0.6-1.el9 appstream 47 M
javapackages-filesystem noarch 6.0.0-7.el9_5 appstream 9.9 k
lksctp-tools x86_64 1.0.19-3.el9_4 baseos 96 k
lua x86_64 5.4.4-4.el9 appstream 187 k
lua-posix x86_64 35.0-8.el9 appstream 131 k
mkfontscale x86_64 1.2.1-3.el9 appstream 31 k
ttmkfdir x86_64 3.0.9-65.el9 appstream 52 k
tzdata-java noarch 2025b-1.el9 appstream 145 k
xorg-x11-fonts-Type1 noarch 7.5-33.el9 appstream 499 k
トランザクションの概要
========================================================================================================================================
インストール 12 パッケージ
ダウンロードサイズの合計: 54 M
インストール後のサイズ: 219 M
これでよろしいですか? [y/N]: y
パッケージのダウンロード:
(1/12): javapackages-filesystem-6.0.0-7.el9_5.noarch.rpm 1.9 kB/s | 9.9 kB 00:05
(2/12): xorg-x11-fonts-Type1-7.5-33.el9.noarch.rpm 98 kB/s | 499 kB 00:05
(3/12): lksctp-tools-1.0.19-3.el9_4.x86_64.rpm 14 kB/s | 96 kB 00:06
(4/12): copy-jdk-configs-4.0-3.el9.noarch.rpm 11 kB/s | 27 kB 00:02
(5/12): lua-5.4.4-4.el9.x86_64.rpm 20 kB/s | 187 kB 00:09
(6/12): lua-posix-35.0-8.el9.x86_64.rpm 11 kB/s | 131 kB 00:12
(7/12): tzdata-java-2025b-1.el9.noarch.rpm 10 kB/s | 145 kB 00:14
(8/12): mkfontscale-1.2.1-3.el9.x86_64.rpm 8.6 kB/s | 31 kB 00:03
(9/12): ttmkfdir-3.0.9-65.el9.x86_64.rpm 6.3 kB/s | 52 kB 00:08
[MIRROR] java-21-openjdk-devel-21.0.7.0.6-1.el9.x86_64.rpm: Curl error (28): Timeout was reached for https://mirror.plusline.net/rockylinux/9.5/AppStream/x86_64/os/Packages/j/java-21-openjdk-devel-21.0.7.0.6-1.el9.x86_64.rpm [Operation too slow. Less than 1000 bytes/sec transferred the last 30 seconds]
[MIRROR] java-21-openjdk-21.0.7.0.6-1.el9.x86_64.rpm: Curl error (28): Timeout was reached for https://mirror.plusline.net/rockylinux/9.5/AppStream/x86_64/os/Packages/j/java-21-openjdk-21.0.7.0.6-1.el9.x86_64.rpm [Operation too slow. Less than 1000 bytes/sec transferred the last 30 seconds]
(10/12): java-21-openjdk-21.0.7.0.6-1.el9.x86_64.rpm 11 kB/s | 429 kB 00:40
(11/12): java-21-openjdk-devel-21.0.7.0.6-1.el9.x86_64.rpm 71 kB/s | 5.0 MB 01:11
(12/12): java-21-openjdk-headless-21.0.7.0.6-1.el9.x86_64.rpm 390 kB/s | 47 MB 02:03
----------------------------------------------------------------------------------------------------------------------------------------
合計 374 kB/s | 54 MB 02:27
Rocky Linux 9 - BaseOS 883 kB/s | 1.7 kB 00:00
GPG 鍵 0x350D275D をインポート中:
Userid : "Rocky Enterprise Software Foundation - Release key 2022 <releng@rockylinux.org>"
Fingerprint: 21CB 256A E16F C54C 6E65 2949 702D 426D 350D 275D
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9
これでよろしいですか? [y/N]: y
鍵のインポートに成功しました
トランザクションを確認しています
トランザクションの確認に成功しました。
トランザクションをテストしています
トランザクションのテストに成功しました。
トランザクションを実行しています
scriptletの実行中: copy-jdk-configs-4.0-3.el9.noarch 1/1
scriptletの実行中: java-21-openjdk-headless-1:21.0.7.0.6-1.el9.x86_64 1/1
準備中 : 1/1
インストール中 : mkfontscale-1.2.1-3.el9.x86_64 1/12
インストール中 : ttmkfdir-3.0.9-65.el9.x86_64 2/12
インストール中 : xorg-x11-fonts-Type1-7.5-33.el9.noarch 3/12
scriptletの実行中: xorg-x11-fonts-Type1-7.5-33.el9.noarch 3/12
インストール中 : tzdata-java-2025b-1.el9.noarch 4/12
インストール中 : lua-posix-35.0-8.el9.x86_64 5/12
インストール中 : lua-5.4.4-4.el9.x86_64 6/12
インストール中 : copy-jdk-configs-4.0-3.el9.noarch 7/12
インストール中 : javapackages-filesystem-6.0.0-7.el9_5.noarch 8/12
インストール中 : lksctp-tools-1.0.19-3.el9_4.x86_64 9/12
インストール中 : java-21-openjdk-headless-1:21.0.7.0.6-1.el9.x86_64 10/12
scriptletの実行中: java-21-openjdk-headless-1:21.0.7.0.6-1.el9.x86_64 10/12
インストール中 : java-21-openjdk-1:21.0.7.0.6-1.el9.x86_64 11/12
scriptletの実行中: java-21-openjdk-1:21.0.7.0.6-1.el9.x86_64 11/12
インストール中 : java-21-openjdk-devel-1:21.0.7.0.6-1.el9.x86_64 12/12
scriptletの実行中: java-21-openjdk-devel-1:21.0.7.0.6-1.el9.x86_64 12/12
scriptletの実行中: copy-jdk-configs-4.0-3.el9.noarch 12/12
scriptletの実行中: java-21-openjdk-headless-1:21.0.7.0.6-1.el9.x86_64 12/12
scriptletの実行中: java-21-openjdk-1:21.0.7.0.6-1.el9.x86_64 12/12
scriptletの実行中: java-21-openjdk-devel-1:21.0.7.0.6-1.el9.x86_64 12/12
検証中 : lksctp-tools-1.0.19-3.el9_4.x86_64 1/12
検証中 : javapackages-filesystem-6.0.0-7.el9_5.noarch 2/12
検証中 : xorg-x11-fonts-Type1-7.5-33.el9.noarch 3/12
検証中 : copy-jdk-configs-4.0-3.el9.noarch 4/12
検証中 : lua-5.4.4-4.el9.x86_64 5/12
検証中 : lua-posix-35.0-8.el9.x86_64 6/12
検証中 : tzdata-java-2025b-1.el9.noarch 7/12
検証中 : ttmkfdir-3.0.9-65.el9.x86_64 8/12
検証中 : mkfontscale-1.2.1-3.el9.x86_64 9/12
検証中 : java-21-openjdk-headless-1:21.0.7.0.6-1.el9.x86_64 10/12
検証中 : java-21-openjdk-devel-1:21.0.7.0.6-1.el9.x86_64 11/12
検証中 : java-21-openjdk-1:21.0.7.0.6-1.el9.x86_64 12/12
インストール済み:
copy-jdk-configs-4.0-3.el9.noarch java-21-openjdk-1:21.0.7.0.6-1.el9.x86_64
java-21-openjdk-devel-1:21.0.7.0.6-1.el9.x86_64 java-21-openjdk-headless-1:21.0.7.0.6-1.el9.x86_64
javapackages-filesystem-6.0.0-7.el9_5.noarch lksctp-tools-1.0.19-3.el9_4.x86_64
lua-5.4.4-4.el9.x86_64 lua-posix-35.0-8.el9.x86_64
mkfontscale-1.2.1-3.el9.x86_64 ttmkfdir-3.0.9-65.el9.x86_64
tzdata-java-2025b-1.el9.noarch xorg-x11-fonts-Type1-7.5-33.el9.noarch
完了しました!
[sooni@vm105 ~]$
Tomcatのインストール
tomcatのダウンロード
wget https://downloads.apache.org/tomcat/tomcat-10/v10.1.40/bin/apache-tomcat-10.1.40.tar.gz
[sooni@vm105 ~]$ wget https://downloads.apache.org/tomcat/tomcat-10/v10.1.40/bin/apache-tomcat-10.1.40.tar.gz
--2025-04-26 15:17:58-- https://downloads.apache.org/tomcat/tomcat-10/v10.1.40/bin/apache-tomcat-10.1.40.tar.gz
downloads.apache.org (downloads.apache.org) をDNSに問いあわせています... 88.99.208.237, 135.181.214.104, 2a01:4f8:10a:39da::2, ...
downloads.apache.org (downloads.apache.org)|88.99.208.237|:443 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 13867286 (13M) [application/x-gzip]
`apache-tomcat-10.1.40.tar.gz' に保存中
apache-tomcat-10.1.40.tar.gz 100%[=============================================================>] 13.22M 301KB/s 時間 42s
2025-04-26 15:18:42 (325 KB/s) - `apache-tomcat-10.1.40.tar.gz' へ保存完了 [13867286/13867286]
[sooni@vm105 ~]$
/optの下にtomcatを解凍
-- /optの下にtomcatを解凍
sudo tar -xvf apache-tomcat-10.1.40.tar.gz -C /opt/
--
sudo mv /opt/apache-tomcat-10.1.40 /opt/tomcat
-- tomcatのグループ作成
sudo groupadd tomcat
-- tomcatユーザ作成
sudo useradd -M -s /sbin/nologin -g tomcat -d /opt/tomcat tomcat
--
sudo chown -R tomcat:tomcat /opt/tomcat
サービスファイルの作成
TomcatをLinux配下(systemd)でサービス管理するための設定ファイルです。
sudo vi /etc/systemd/system/tomcat.service
以下内容を記載する。解説はこちら
[Unit]
Description=Apache Tomcat Web Application Container
After=network.target
[Service]
Type=forking
Environment=JAVA_HOME=/usr/lib/jvm/java-21-openjdk
Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat
Environment=CATALINA_BASE=/opt/tomcat
Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'
Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
User=tomcat
Group=tomcat
UMask=0007
RestartSec=10
Restart=always
[Install]
WantedBy=multi-user.target
立ち上げ
systemdにサービスファイルの変更を認識させる
sudo systemctl daemon-reload
Tomcatサービスを起動
先ほどサービス定義ファイルを「tomcat.service」という名前で作成したので tomcat となります
sudo systemctl start tomcat
システム起動時に自動的にTomcatサービスが起動するように設定
sudo systemctl enable tomcat
[sooni@vm105 opt]$ sudo systemctl enable tomcat
Created symlink /etc/systemd/system/multi-user.target.wants/tomcat.service → /etc/systemd/system/tomcat.service.
[sooni@vm105 opt]$
firewallの開放
-- 8080ポートを開放
sudo firewall-cmd --permanent --add-port=8080/tcp
-- リロードして直ぐに反映
sudo firewall-cmd --reload
管理コンソールを外からも利用できるように
sudo vi /opt/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.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
<Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/>
</Context>
以下のように書き換え
<Context antiResourceLocking="false" privileged="true" >
<CookieProcessor className="org.apache.tomcat.util.http.Rfc6265CookieProcessor"
sameSiteCookies="strict" />
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="192\.168\.56\.\d+" />
<Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/>
</Context>
ブラウザから操作できるユーザを定義
sudo vi /opt/tomcat/conf/tomcat-users.xml
<role rolename="manager-gui"/>
<user username="admin" password="admin-password" roles="manager-gui"/>
デフォルトで取得できるアクセスログパターンを変更する
Elasticsearch+kibanaまで連携したいのでデフォルトの設定を少し変更ます。
一通り設定完了したのでサーバ再起動
-- サーバ再起動
sudo systemctl restart tomcat