0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

WildFlyインストール手順

0
Last updated at Posted at 2026-02-01

目次

  1. 概要
  2. 前提条件
  3. Java 17のインストール
  4. WildFlyのダウンロードとインストール
  5. WildFly管理ユーザーの作成
  6. systemdサービスの設定
  7. WildFlyの起動
  8. 動作確認
  9. 管理コンソールのリモートアクセス設定
  10. トラブルシューティング

概要

目的

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のブラウザからの確認

ウェルカムページの確認

  1. MacBookのブラウザを開く

  2. 以下のURLにアクセス:

    http://192.168.1.30:8080
    
  3. **「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

検索と編集

  1. viで検索モードに入る: /interface name="management"と入力してEnter

  2. 以下の行が見つかる(約560行目付近):

    <interface name="management">
        <inet-address value="${jboss.bind.address.management:127.0.0.1}"/>
    </interface>
    
  3. iキーを押して編集モードに入る

  4. 127.0.0.1 を 0.0.0.0 に変更:

    <interface name="management">
        <inet-address value="${jboss.bind.address.management:0.0.0.0}"/>
    </interface>
    
  5. Escキーを押して編集モードを終了

  6. :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のブラウザからアクセス

  1. MacBookのブラウザを開く

  2. 以下のURLにアクセス:

    http://192.168.1.30:9990
    
  3. ログイン画面が表示されればOK

ログイン

  1. ログイン情報を入力:

    • Username: admin
    • Password: WildFly2025! (Step 5で設定したパスワード)
  2. 「Sign in」ボタンをクリック

  3. 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
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?