目次
- 概要
- 前提条件
- Java 17のインストール
- WildFlyのダウンロードとインストール
- WildFly管理ユーザーの作成
- systemdサービスの設定
- WildFlyの起動
- 動作確認
- 管理コンソールのリモートアクセス設定
- トラブルシューティング
概要
目的
WildFly 31.0.1をスタンドアローンモードでインストールし、Javaアプリケーション実行環境を構築する。
WildFlyを選択した理由は、JBoss関連の知識を増やしたくて選択。
JBoss EAPが商業用なのに対し、WildFlyは個人利用可能なOSS。
インストール内容
- OpenJDK 17
- WildFly 31.0.1 Final
- 管理コンソール
- systemdサービス統合
システム構成
[APサーバ: 192.168.1.30]
├─ OS: Rocky Linux 9
├─ Java: OpenJDK 17
└─ WildFly 31.0.1
├─ HTTP: 8080
└─ 管理コンソール: 9990
スタンドアローンモードとは
スタンドアローンモード: 1台のサーバで独立して動作するモード
- 設定ファイル:
standalone.xml - デプロイ先:
/opt/wildfly/standalone/deployments/ - 用途: 開発環境、検証環境、小規模システム
※ 対比として「ドメインモード」があり、複数サーバを一元管理できるが、大規模システム向け
前提条件
完了している必要がある作業
- APサーバ基礎環境構築完了
- Rocky Linux 9インストール完了
- 固定IP設定完了(今回は192.168.1.30に設定)
- SSH接続可能
作業用アカウント
- rootユーザー または sudo権限のあるユーザー(admin)
必要なディスク容量
- 約3GB以上の空き容量
ネットワーク要件
- インターネット接続(パッケージダウンロード用)
- ポート8080, 9990へのアクセス許可
Java 17のインストール
1. サーバへのログイン
# MacBookのターミナルから
ssh admin@192.168.1.30
# rootユーザーに切り替え
su -
# Password: (rootパスワードを入力)
2. Java 17のインストール
# OpenJDK 17 開発環境をインストール
dnf install -y java-17-openjdk-devel
# インストール完了までしばらく待機(1-2分)
3. Javaバージョンの確認
# Javaのバージョン確認
java -version
# 期待される出力例:
# openjdk version "17.0.9" 2023-10-17 LTS
# OpenJDK Runtime Environment (Red_Hat-17.0.9.0.9-2.el9) (build 17.0.9+9-LTS)
# OpenJDK 64-Bit Server VM (Red_Hat-17.0.9.0.9-2.el9) (build 17.0.9+9-LTS, mixed mode, sharing)
# Javaコンパイラの確認
javac -version
# 期待される出力:
# javac 17.0.9
4. 必要なツールのインストール
# wget, tar, vim等をインストール
dnf install -y wget tar vim unzip
# インストール確認
wget --version
tar --version
WildFlyのダウンロードとインストール
1. WildFlyのダウンロード
# /optディレクトリに移動
cd /opt
# WildFly 31.0.1 Finalをダウンロード
wget https://github.com/wildfly/wildfly/releases/download/31.0.1.Final/wildfly-31.0.1.Final.tar.gz
# ダウンロード確認
ls -lh wildfly-31.0.1.Final.tar.gz
# 期待される出力:
# -rw-r--r--. 1 root root 約200M Jan 14 XX:XX wildfly-31.0.1.Final.tar.gz
注意: ダウンロードには数分かかる場合があります(回線速度による)
2. WildFlyの展開
# tarファイルを展開
tar xzf wildfly-31.0.1.Final.tar.gz
# 展開確認
ls -l /opt/
# シンボリックリンクを作成(バージョン管理を容易にするため)
ln -s wildfly-31.0.1.Final wildfly
# リンク確認
ls -l /opt/ | grep wildfly
# 期待される出力:
# lrwxrwxrwx. 1 root root 21 Jan 14 XX:XX wildfly -> wildfly-31.0.1.Final
# drwxr-xr-x. 10 root root 149 Nov 8 XX:XX wildfly-31.0.1.Final
# -rw-r--r--. 1 root root 約200M Jan 14 XX:XX wildfly-31.0.1.Final.tar.gz
3. ディレクトリ構造の確認
# WildFlyディレクトリの内容を確認
ls -l /opt/wildfly/
# 主要なディレクトリ:
# bin/ 実行ファイル、起動スクリプト
# docs/ ドキュメント
# standalone/ スタンドアローンモード用ディレクトリ
# ├─ configuration/ 設定ファイル
# ├─ deployments/ アプリケーションデプロイ先
# └─ log/ ログファイル
# domain/ ドメインモード用ディレクトリ
# welcome-content/ ウェルカムページ
4. WildFly専用ユーザーの作成
# WildFly実行用のシステムユーザーを作成
useradd -r -s /bin/false wildfly
# ユーザー作成確認
id wildfly
# 期待される出力:
# uid=XXX(wildfly) gid=XXX(wildfly) groups=XXX(wildfly)
# WildFlyディレクトリの所有者を変更
chown -R wildfly:wildfly /opt/wildfly
chown -R wildfly:wildfly /opt/wildfly-31.0.1.Final
# 所有者変更確認
ls -l /opt/ | grep wildfly
# 期待される出力(所有者がwildfly:wildfly):
# lrwxrwxrwx. 1 wildfly wildfly 21 Jan 14 XX:XX wildfly -> wildfly-31.0.1.Final
# drwxr-xr-x. 10 wildfly wildfly 149 Nov 8 XX:XX wildfly-31.0.1.Final
WildFly管理ユーザーの作成
1. 管理ユーザー追加スクリプトの実行
# 管理ユーザー追加スクリプトを実行
/opt/wildfly/bin/add-user.sh
2. 対話形式での入力
ユーザータイプの選択
What type of user do you wish to add?
a) Management User (mgmt-users.properties)
b) Application User (application-users.properties)
(a): a ← 「a」を入力してEnter
ユーザー名の入力
Enter the details of the new user to add.
Using realm 'ManagementRealm' as discovered from the existing property files.
Username : admin ← 「admin」を入力してEnter
既存ユーザーの処理(表示された場合)
既にadminユーザーが存在する場合、以下が表示される:
User 'admin' already exists and is disabled, would you like to...
a) Update the existing user password and roles
b) Enable the existing user
c) Type a new username
(a): a ← 「a」を入力してパスワードを更新
パスワードの設定
Password recommendations are listed below. To modify these restrictions edit the add-user.properties configuration file.
- The password should be different from the username
- The password should not be one of the following restricted values {root, admin, administrator}
- The password should contain at least 8 characters, 1 alphabetic character(s), 1 digit(s), 1 non-alphanumeric symbol(s)
Password : WildFly2025! ← パスワードを入力(画面には表示されない)
Re-enter Password : WildFly2025! ← 同じパスワードを再入力
推奨パスワード例: WildFly2025!
グループの設定
What groups do you want this user to belong to? (Please enter a comma separated list, or leave blank for none)[ ]:
← そのままEnterを押す(グループなし)
確認
About to add user 'admin' for realm 'ManagementRealm'
Is this correct yes/no? yes ← 「yes」を入力してEnter
プロセス間接続の設定
Added user 'admin' to file '/opt/wildfly/standalone/configuration/mgmt-users.properties'
Added user 'admin' to file '/opt/wildfly/domain/configuration/mgmt-users.properties'
Is this new user going to be used for one AS process to connect to another AS process?
e.g. for a slave host controller connecting to the master or for a Remoting connection for server to server Jakarta Enterprise Beans calls.
yes/no? no ← 「no」を入力してEnter
完了
Press any key to continue ... ← Enterを押す
3. 管理ユーザー設定の確認
# 管理ユーザーファイルを確認
cat /opt/wildfly/standalone/configuration/mgmt-users.properties
# 以下のような行が表示されればOK(パスワードはハッシュ化されている)
# admin=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
systemdサービスの設定
1. systemdユニットファイルのコピー
# WildFly付属のsystemdサンプルファイルをコピー
cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.service /etc/systemd/system/
# コピー確認
ls -l /etc/systemd/system/wildfly.service
2. WildFly設定ディレクトリの作成
# 設定ディレクトリを作成
mkdir -p /etc/wildfly
# WildFly設定ファイルをコピー
cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.conf /etc/wildfly/
# 設定ファイルの確認
cat /etc/wildfly/wildfly.conf
期待される内容(デフォルトのまま):
# The configuration you want to run
WILDFLY_CONFIG=standalone.xml
# The mode you want to run
WILDFLY_MODE=standalone
# The address to bind to
WILDFLY_BIND=0.0.0.0
3. 起動スクリプトのコピー
# 起動スクリプトをコピー
cp /opt/wildfly/docs/contrib/scripts/systemd/launch.sh /opt/wildfly/bin/
# 実行権限を付与
chmod +x /opt/wildfly/bin/launch.sh
# 所有者を変更
chown wildfly:wildfly /opt/wildfly/bin/launch.sh
# 確認
ls -l /opt/wildfly/bin/launch.sh
# 期待される出力:
# -rwxr-xr-x. 1 wildfly wildfly XXX Jan 14 XX:XX /opt/wildfly/bin/launch.sh
WildFlyの起動
1. systemdサービスの登録と起動
# systemdの設定をリロード
systemctl daemon-reload
# WildFlyサービスを有効化(自動起動設定)
systemctl enable wildfly
# 期待される出力:
# Created symlink /etc/systemd/system/multi-user.target.wants/wildfly.service → /etc/systemd/system/wildfly.service.
# WildFlyを起動
systemctl start wildfly
# 起動完了まで少し待機(10-15秒程度)
sleep 15
2. 起動状態の確認
# WildFlyサービスの状態確認
systemctl status wildfly
# 期待される出力:
# ● wildfly.service - The WildFly Application Server
# Loaded: loaded (/etc/systemd/system/wildfly.service; enabled; preset: disabled)
# Active: active (running) since Fri 2025-01-14 XX:XX:XX JST; XXs ago
# Main PID: XXXX (launch.sh)
# Tasks: XX (limit: XXXXX)
# Memory: XXX.XM
# CPU: X.XXXs
# CGroup: /system.slice/wildfly.service
# ├─XXXX /bin/bash /opt/wildfly/bin/launch.sh standalone standalone.xml 0.0.0.0
# └─XXXX /usr/lib/jvm/java-17-openjdk-17.0.x...
#
# Jan 14 XX:XX:XX systemd[1]: Started The WildFly Application Server.
「Active: active (running)」と表示されればOK!
3. 起動ログの確認
# systemdログでWildFlyの起動を確認
journalctl -u wildfly -n 50
# 以下のようなログが表示されれば起動成功:
# ... INFO [org.jboss.as] (Controller Boot Thread) WFLYSRV0025: WildFly Full 31.0.1.Final (WildFly Core 23.0.3.Final) started in XXXXms
# ... INFO [org.jboss.as] (Controller Boot Thread) WFLYSRV0060: Http management interface listening on http://127.0.0.1:9990/management
4. プロセスの確認
# WildFlyプロセスの確認
ps aux | grep wildfly
# 期待される出力(複数行):
# wildfly XXXX ... /usr/lib/jvm/java-17-openjdk-.../bin/java ...
5. ポートの確認
# リスニングポートの確認
ss -tlnp | grep -E '(8080|9990)'
# 期待される出力:
# LISTEN 0 128 *:8080 *:* users:(("java",pid=XXXX,...))
# LISTEN 0 128 *:9990 *:* users:(("java",pid=XXXX,...))
動作確認
1. ローカルからの確認
# ウェルカムページへのアクセス
curl -I http://localhost:8080
# 期待される出力:
# HTTP/1.1 200 OK
# ...
# 管理コンソールへのアクセス
curl -I http://localhost:9990/console/index.html
# 期待される出力:
# HTTP/1.1 200 OK
# ...
2. MacBookのブラウザからの確認
ウェルカムページの確認
-
MacBookのブラウザを開く
-
以下のURLにアクセス:
http://192.168.1.30:8080 -
**「Welcome to WildFly」**と表示されればOK
表示内容:
- 大きなタイトル「Welcome to WildFly」
- バージョン情報「31.0.1.Final」
- 「Administration Console」へのリンク
- ドキュメントへのリンク
管理コンソールのリモートアクセス設定
概要
デフォルトでは、管理コンソールは127.0.0.1(ローカルホスト)からのみアクセス可能。
外部(MacBook)からアクセスできるように設定を変更する。
1. 設定ファイルのバックアップ
# standalone.xmlをバックアップ
cp /opt/wildfly/standalone/configuration/standalone.xml \
/opt/wildfly/standalone/configuration/standalone.xml.backup
# バックアップ確認
ls -l /opt/wildfly/standalone/configuration/standalone.xml*
# 期待される出力:
# -rw-r--r--. 1 wildfly wildfly XXXXX Jan 14 XX:XX standalone.xml
# -rw-r--r--. 1 root root XXXXX Jan 14 XX:XX standalone.xml.backup
2. standalone.xmlの編集
# 設定ファイルを編集
vi /opt/wildfly/standalone/configuration/standalone.xml
検索と編集
-
viで検索モードに入る:
/interface name="management"と入力してEnter -
以下の行が見つかる(約560行目付近):
<interface name="management"> <inet-address value="${jboss.bind.address.management:127.0.0.1}"/> </interface> -
iキーを押して編集モードに入る -
127.0.0.1を0.0.0.0に変更:<interface name="management"> <inet-address value="${jboss.bind.address.management:0.0.0.0}"/> </interface> -
Escキーを押して編集モードを終了 -
:wqと入力してEnterで保存して終了
変更内容の確認
# 変更箇所の確認
grep -A 2 'interface name="management"' /opt/wildfly/standalone/configuration/standalone.xml
# 期待される出力:
# <interface name="management">
# <inet-address value="${jboss.bind.address.management:0.0.0.0}"/>
# </interface>
3. WildFlyの再起動
# WildFlyを再起動
systemctl restart wildfly
# 起動確認(10秒待機)
sleep 10
systemctl status wildfly
# 期待される出力:
# Active: active (running) ...
# 起動ログの確認
journalctl -u wildfly -n 30
# 以下のログが表示されればOK:
# ... INFO [org.jboss.as] (Controller Boot Thread) WFLYSRV0025: WildFly Full 31.0.1.Final (WildFly Core 23.0.3.Final) started in XXXXms
# ... INFO [org.jboss.as] (Controller Boot Thread) WFLYSRV0060: Http management interface listening on http://0.0.0.0:9990/management
注意: http://0.0.0.0:9990/management となっていることを確認
4. リモートアクセスの確認
MacBookのブラウザからアクセス
-
MacBookのブラウザを開く
-
以下のURLにアクセス:
http://192.168.1.30:9990 -
ログイン画面が表示されればOK
ログイン
-
ログイン情報を入力:
-
Username:
admin -
Password:
WildFly2025!(Step 5で設定したパスワード)
-
Username:
-
「Sign in」ボタンをクリック
-
WildFly管理コンソールのダッシュボードが表示されれば成功!
ダッシュボード表示内容:
- サーバの状態: Running
- デプロイ済みアプリケーション一覧
- サーバ統計情報
- 設定メニュー
完了チェックリスト
□ Java 17インストール完了
□ WildFly 31.0.1ダウンロード完了
□ WildFly展開完了
□ wildfly専用ユーザー作成完了
□ 管理ユーザー(admin)作成完了
□ systemdサービス登録完了
□ Firewall設定完了(8080, 9990)
□ WildFly起動成功(systemctl status wildflyで確認)
□ ローカルからウェルカムページ表示確認
□ MacBookからウェルカムページ表示確認(http://192.168.1.30:8080)
□ standalone.xml編集完了(0.0.0.0に変更)
□ 管理コンソールにログイン成功(http://192.168.1.30:9990)
すべてチェックできたら、WildFlyインストール完了です!
トラブルシューティング
WildFlyが起動しない
症状
systemctl status wildfly
# Active: failed (Result: exit-code)
原因と対処
1. Javaがインストールされていない
# Javaの確認
java -version
# エラーが出る場合はJavaをインストール
dnf install -y java-17-openjdk-devel
2. ポートが既に使用されている
# ポート使用状況を確認
ss -tlnp | grep -E '(8080|9990)'
# 他のプロセスが使用している場合は停止するか、WildFlyのポートを変更
3. 権限の問題
# WildFlyディレクトリの所有者を確認
ls -l /opt/ | grep wildfly
# wildfly:wildflyでない場合は変更
chown -R wildfly:wildfly /opt/wildfly
chown -R wildfly:wildfly /opt/wildfly-31.0.1.Final
4. ログで詳細確認
# 詳細ログの確認
journalctl -u wildfly -n 100 --no-pager
# サーバログの確認
tail -100 /opt/wildfly/standalone/log/server.log
管理コンソールにアクセスできない
症状
MacBookのブラウザでhttp://192.168.1.30:9990にアクセスできない
原因と対処
1. Firewallで9990ポートが開放されていない
# Firewallの確認
firewall-cmd --list-ports
# 9990が表示されない場合は追加
firewall-cmd --permanent --add-port=9990/tcp
firewall-cmd --reload
2. standalone.xmlの設定が127.0.0.1のまま
# 設定確認
grep -A 2 'interface name="management"' /opt/wildfly/standalone/configuration/standalone.xml
# 127.0.0.1と表示される場合は0.0.0.0に変更
vi /opt/wildfly/standalone/configuration/standalone.xml
# 変更後、WildFly再起動
systemctl restart wildfly
3. WildFlyが起動していない
# WildFlyの状態確認
systemctl status wildfly
# 停止している場合は起動
systemctl start wildfly
ログインできない
症状
管理コンソールでユーザー名・パスワードを入力してもログインできない
原因と対処
1. パスワードが間違っている
# 管理ユーザーを再作成
/opt/wildfly/bin/add-user.sh
# 既存のadminユーザーのパスワードを更新
# "a) Update the existing user password and roles" を選択
2. ユーザーが無効化されている
# 管理ユーザーファイルを確認
cat /opt/wildfly/standalone/configuration/mgmt-users.properties
# adminユーザーがコメントアウト(#)されている場合は再作成
/opt/wildfly/bin/add-user.sh
WildFlyが遅い・応答しない
症状
起動に時間がかかる、管理コンソールの反応が遅い
原因と対処
1. メモリ不足
# メモリ使用状況を確認
free -h
# WildFlyのメモリ設定を調整(必要に応じて)
vi /opt/wildfly/bin/standalone.conf
# JAVA_OPTS の -Xms, -Xmx を調整
2. CPU不足
# CPU使用率を確認
top
# VMの設定でCPUコア数を増やす(VirtualBox設定)
参考情報
関連ドキュメント
- APサーバ基礎環境構築手順書
- IPアドレス管理表(Google Spreadsheet)
- サーバ一覧表(Google Spreadsheet)
WildFly関連パス
| パス | 用途 |
|---|---|
/opt/wildfly/ |
WildFlyインストールディレクトリ |
/opt/wildfly/bin/ |
実行ファイル、スクリプト |
/opt/wildfly/standalone/configuration/standalone.xml |
メイン設定ファイル |
/opt/wildfly/standalone/deployments/ |
アプリケーションデプロイ先 |
/opt/wildfly/standalone/log/server.log |
サーバログ |
/etc/systemd/system/wildfly.service |
systemdサービスファイル |
/etc/wildfly/wildfly.conf |
WildFly起動設定 |
重要なコマンド
# WildFlyサービス管理
systemctl start wildfly # 起動
systemctl stop wildfly # 停止
systemctl restart wildfly # 再起動
systemctl status wildfly # 状態確認
systemctl enable wildfly # 自動起動有効
systemctl disable wildfly # 自動起動無効
# ログ確認
journalctl -u wildfly -f # リアルタイムログ
journalctl -u wildfly -n 100 # 最新100行
tail -f /opt/wildfly/standalone/log/server.log # サーバログ
# ポート確認
ss -tlnp | grep -E '(8080|9990)'
# プロセス確認
ps aux | grep wildfly