LinuxにWildfly18のインストール

Linux(REHL8.3)にWildfly18をインストールする手順を説明します。

概要

RHEL8.3環境を使ったWildfly18+JDK11のインストール手順を説明します。

JDK11のインストール

  1. JDK11のダウンロード
    OracleのサイトからJDKをダウンロードします。
    ここでは、Linux x64 Compressed Archive(jdk-11.0.11_linux-x64_bin.tar.gz)を使用します。
    (なお、同意ボタンがある関係で、curl/wget等で直接ダウンロードできません。)

  2. ダウンロードしたファイルの展開
    ダウンロードしたファイルを展開します。

    # 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のインストール

  1. Wildflyのダウンロード
    公式サイトからWildfly18を任意の場所にダウンロードします。
    ダウンロードリンク先をコピーし、次のように直接ダウンロードすることもできます。

    wget https://download.jboss.org/wildfly/18.0.1.Final/wildfly-18.0.1.Final.tar.gz 
    
  2. ダウンロードしたファイルの展開
    mkdir /opt/wildfly
    tar xvfz wildfly-18.0.1.Final.tar.gz -C /opt/wildfly/
    chown -R wildfly:wildfly /opt/wildfly/wildfly-18.0.1.Final
    ln -s /opt/wildfly/wildfly-18.0.1.Final /opt/wildfly/wildfly
    
  3. Wildfly実行ユーザの追加
    wildflyが乗っ取られた場合の被害を最小限にするために、root以外の実行ユーザを追加します。

    groupadd -r wildfly
    useradd -r -g wildfly -d /opt/wildfly -s /sbin/nologin wildfly
    
  4. 設定の編集
    各設定ファイルの内容を要件や環境に合わせて修正します。

    vi /opt/wildfly/wildfly/bin/standalone.conf
        ...
        JAVA_HOME="/opt/java/jdk"
        JAVA_OPTS=...
        ...
    
  5. 動作確認
    実際に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のサービス化

  1. 設定系ファイルの準備
    cd /opt/wildfly/wildfly/docs/contrib/scripts/systemd/
    mkdir /etc/wildfly
    cp 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
    
  2. 設定の編集
    各設定ファイルの内容を要件や環境に合わせて修正します。

    (なお、ここではリバースプロキシとしてローカルに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
        ...
    
  3. 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 ...
       ...
    
  4. サービスの有効化
    # systemctl enable wildfly.service
        Created symlink /etc/systemd/system/...
    
  5. 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 ...
       ...