Linux(REHL8.3)にWildfly18をインストールする手順を説明します。
概要
RHEL8.3環境を使ったWildfly18+JDK11のインストール手順を説明します。
- Red Hat JBoss Enterprise Application Platform(EAP)を使用する機会が多いのですが費用の問題で、無償のWildflyを使用します。
- 2021年5月現在で最新版であるEAP7.3で使用されているWildfly18を使用します。各EAPのバージョンで使用しているWildflyのバージョンは下記をご覧ください。
Which version of JBoss EAP corresponds to which community JBoss AS / Wildlfly - Wildfly18では、サポート期限が比較的長いLTS版JDKを推奨しているので、ここではJDK11を使用します。なお、JDKのライフサイクルは次をご覧ください。
- wildfly/JDK11で使用するフォルダは次の通りです。
パス 説明 /opt/java/ JDKの配置場所として新規作成 /opt/wildfly/ Wildflyの配置場所として新規作成 /etc/wildfly/ サービス用の設定ファイルの配置場所として新規作成 /etc/systemd/system/ systemdユニットファイルの配置場所 - wildflyのサービス化は、”docs/contrib/scripts/systemd/”に含まれるREADMEやスクリプトに基づいて行います。ここで前提とするファイルの関係性は次の通りです。
- systemdにwildflyを登録するためにユニットファイル(wildfly.service)を使用します。
- systemdは、wildfly.serviceに基づいて、wildfly.confを読み込んでlaunch.shを実行します。
- launch.shは、standalone.shを実行します。この際にstandalone.confを読み込みます。
(単体で起動するだけならstandalone.sh/confのみ必要)
JDK11のインストール
- JDK11のダウンロード
OracleのサイトからJDKをダウンロードします。
ここでは、Linux x64 Compressed Archive(jdk-11.0.11_linux-x64_bin.tar.gz)を使用します。
(なお、同意ボタンがある関係で、curl/wget等で直接ダウンロードできません。) - ダウンロードしたファイルの展開
ダウンロードしたファイルを展開します。# mkdir /opt/java# tar xvfz jdk-11.0.11_linux-x64_bin.tar.gz -C /opt/java/# ln -s /opt/java/jdk-11.0.11 /opt/java/jdk
Wildfly18のインストール
- Wildflyのダウンロード
公式サイトからWildfly18を任意の場所にダウンロードします。
ダウンロードリンク先をコピーし、次のように直接ダウンロードすることもできます。wget https://download.jboss.org/wildfly/18.0.1.Final/wildfly-18.0.1.Final.tar.gz
- ダウンロードしたファイルの展開
mkdir /opt/wildflytar xvfz wildfly-18.0.1.Final.tar.gz -C /opt/wildfly/chown -R wildfly:wildfly /opt/wildfly/wildfly-18.0.1.Finalln -s /opt/wildfly/wildfly-18.0.1.Final /opt/wildfly/wildfly
- Wildfly実行ユーザの追加
wildflyが乗っ取られた場合の被害を最小限にするために、root以外の実行ユーザを追加します。groupadd -r wildflyuseradd -r -g wildfly -d /opt/wildfly -s /sbin/nologin wildfly
- 設定の編集
各設定ファイルの内容を要件や環境に合わせて修正します。vi /opt/wildfly/wildfly/bin/standalone.conf ... JAVA_HOME="/opt/java/jdk" JAVA_OPTS=... ...
- 動作確認
実際にwildflyユーザで起動できることを確認します。
(なお、rootで実行するとroot権限のデータやログファイルが作成され、後でwildflyユーザで実行できなくります。)# sudo -u wildfly /opt/wildfly/wildfly/bin/standalone.sh# tail -f /opt/wildfly/wildfly/standalone/log/server.log...... WFLYSRV0060: Http management interface listening on http://127.0.0.1:9990/management... WFLYSRV0051: Admin console listening on http://127.0.0.1:9990... WFLYSRV0025: WildFly Full 18.0.1.Final (WildFly Core 10.0.3.Final) started in ...
Wildfly18のサービス化
- 設定系ファイルの準備
cd /opt/wildfly/wildfly/docs/contrib/scripts/systemd/mkdir /etc/wildflycp wildfly.conf /etc/wildfly/cp wildfly.service /etc/systemd/system/cp launch.sh /opt/wildfly/wildfly/bin/chmod +x /opt/wildfly/wildfly/bin/launch.sh
- 設定の編集
各設定ファイルの内容を要件や環境に合わせて修正します。(なお、ここではリバースプロキシとしてローカルにApacheを配置する想定であるため、ローカルからのみアクセスできるよう、WILDFLY_BINDに”127.0.0.1″を指定しています。外部からアクセスできるようにするためには、”0.0.0.0″等に変更する必要がありますす。)vi /etc/wildfly/wildfly.conf WILDFLY_CONFIG=standalone.xml WILDFLY_MODE=standalone WILDFLY_BIND=127.0.0.1 ★適宜修正vi /etc/systemd/system/wildfly.service ... [Service] Environment=LAUNCH_JBOSS_IN_BACKGROUND=1 EnvironmentFile=-/etc/wildfly/wildfly.conf ★適宜修正 User=wildfly LimitNOFILE=102642 PIDFile=/var/run/wildfly/wildfly.pid ExecStart=/opt/wildfly/wildfly/bin/launch.sh $WILDFLY_MODE ... ★適宜修正 StandardOutput=null ...vi /opt/wildfly/wildfly/bin/launch.sh ... if [ "x$WILDFLY_HOME" = "x" ]; then WILDFLY_HOME="/opt/wildfly/wildfly" ★適宜修正 fi ...
- systemctl経由での起動確認
# systemctl start wildfly.service# systemctl status wildfly.service... ● wildfly.service - The WildFly Application Server Loaded: loaded (/etc/systemd/system/wildfly.service; ... Active: active (running) since Fri 2021-04-30 ......
- サービスの有効化
# systemctl enable wildfly.service Created symlink /etc/systemd/system/...
- OS再起動後のサービス起動確認
# reboot...再起動後...# systemctl status wildfly.service... ● wildfly.service - The WildFly Application Server Loaded: loaded (/etc/systemd/system/wildfly.service; ... Active: active (running) since Fri 2021-04-30 ......