WildFlyまたは以前はJBossASとして知られていたものは、JEE(Java Enterprise Edition)コンテナーの軽量実装です。その柔軟なアプリケーションランタイムはJavaで記述されており、素晴らしいアプリケーションの構築に役立ちます。
WildFlyは、Linux、macOS、およびWindowsオペレーティングシステムで実行されるマルチプラットフォームアプリケーションランタイムです。 JBoss Incによって作成され、2006年にRedHatに買収され、WildFlyになりました。
このチュートリアルでは、WildFlyを最新のUbuntu20.04にインストールする方法を紹介します。最新バージョンのWildFly20をインストールし、WildFlyの管理コンソールを有効にし、WildFly管理ユーザーを作成し、NginxをWildFlyのリバースプロキシとしてセットアップします。
前提条件
このガイドでは、WildFlyを最新のUbuntu Server 20.04 FocalFossaにインストールし、2 GBのRAM、50 GBの空きディスク容量、2つのCPUを搭載します。
何をしますか?
- JavaOpenJDK11をインストールします
- 新しいユーザーを追加してWildFlyをダウンロード
- WildFlyの基本構成
- WildFly管理コンソールを有効にする
- WildFlyの管理ユーザーを設定する
- WildFlyのリバースプロキシとしてNginxをセットアップする
- テスト
まず、JavaOpenJDKをUbuntuサーバー20.04にインストールします。また、WildFlyのインストールにはJava OpenJDK 11を使用します。これは、Ubuntu20.04リポジトリのJavaパッケージのデフォルトバージョンです。
以下のaptコマンドを使用して、すべてのパッケージリポジトリを更新し、JavaOpenJDKをインストールします。
sudo apt update
sudo apt install default-jdk
すべてのインストールが完了したら、次のコマンドを使用してJavaのバージョンを確認します。
java -version
以下は、得られる結果です。
openjdk version "11.0.7" 2020-04-14
OpenJDK Runtime Environment (build 11.0.7+10-post-Ubuntu-3ubuntu1)
OpenJDK 64-Bit Server VM (build 11.0.7+10-post-Ubuntu-3ubuntu1, mixed mode, sharing)
その結果、Ubuntu20.04へのJavaOpenJDKのインストールが完了しました。
このステップでは、新しいシステムユーザーとグループ「wildfly」を作成し、wildflyのソースコードを「/ opt/wildfly」ディレクトリにダウンロードします。
次に、以下のコマンドを使用して、「wildfly」という名前の新しいユーザーとグループを作成します。
groupadd -r wildfly
useradd -r -g wildfly -d /opt/wildfly -s /sbin/nologin wildfly
次に、「/ opt」ディレクトリに移動し、以下のようにwgetコマンドを使用してwildflyソースコードをダウンロードします。
cd /opt/
wget -q wget https://download.jboss.org/wildfly/20.0.1.Final/wildfly-20.0.1.Final.tar.gz
Wildflyのソースコードがダウンロードされました。
次に、wildflyのソースコードを抽出し、抽出したディレクトリの名前を「wildfly」に変更します。
tar -xf wildfly-20.0.1.Final.tar.gz
mv wildfly-20.0.1.Final wildfly
その後、「wildfly」ディレクトリの所有権を「wildfly」ユーザーおよびグループに変更します。
chown -RH wildfly:wildfly /opt/wildfly
その結果、wildflyインストールディレクトリは「/ opt/wildfly」ディレクトリに配置されます。 wildflyサービスは、上に作成した「wildfly」という名前の新しいユーザーの下で実行されます。
Wildflyのソースコードをダウンロードしたら、UbuntuシステムにWildflyをセットアップします。
新しい設定ディレクトリ「/etc/ wildfly」を作成し、サンプル設定「wildfly.conf」をそのディレクトリにコピーします。
mkdir -p /etc/wildfly
cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.conf /etc/wildfly/
次に、サービスファイル「wildfly.service」を「/ etc / systemd/system」ディレクトリにコピーします。
cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.service /etc/systemd/system/
その後、wildfly起動スクリプトのサンプルを「/ opt / wildfly/bin」ディレクトリにコピーして実行可能にします。
cp /opt/wildfly/docs/contrib/scripts/systemd/launch.sh /opt/wildfly/bin/
chmod +x /opt/wildfly/bin/*.sh
次に、systemdマネージャーをリロードして、新しい「wildfly.service」ファイルを適用します。
systemctl daemon-reload
Wildflyサービスを開始し、システムブートに追加します。
systemctl start wildfly
systemctl enable wildfly
wildflyサービスは、デフォルト構成のUbuntuシステムで稼働しています。
次のコマンドを使用して、wildflyサービスを確認します。
ss -plnt
systemctl status wildfly
そして、以下のような結果が得られます。
ご覧のとおり、wildflyはUbuntuシステムのデフォルトのTCPポート「8080」でsystemdサービスとして実行されます。
このステップでは、ローカルIPアドレス「127.0.0.1」で実行するようにwildflyを設定し、その管理コンソールを有効にします。 wildfly設定「wildfly.conf」、wildfly開始スクリプト「launch.sh」、およびwildflyサービスファイル「wildfly.service」を編集します。
vimエディターを使用してwildfly設定'/etc/wildfly/wildfly.conf'を編集します。
vim /etc/wildfly/wildfly.conf
ここで、「WILDFLY_BIND」の値をローカルIPアドレス「127.0.0.1」に変更します。
WILDFLY_BIND=127.0.0.1
wildfly管理コンソールを有効にするには、以下に「WILDFLY_CONSOLE_BIND」設定を追加します。
WILDFLY_CONSOLE_BIND=127.0.0.1
保存して閉じます。
次に、vimエディターを使用してwildfly'/opt/wildfly/bin/launch.sh'の起動開始スクリプトを編集します。
vim /opt/wildfly/bin/launch.sh
' domain.sh 'および'Standalone.sh '行に、以下のようにwildfly管理コンソールを有効にするオプションを追加します。
if [[ "$1" == "domain" ]]; then
$WILDFLY_HOME/bin/domain.sh -c $2 -b $3 -bmanagement $4
else
$WILDFLY_HOME/bin/standalone.sh -c $2 -b $3 -bmanagement $4
fi
保存して閉じます。
次に、vimエディターを使用してwildfly'/etc/systemd/system/wildfly.service'のデフォルトのサービスファイルを編集します。
vim /etc/systemd/system/wildfly.service
' ExecStart =/ opt / wildfly / bin / launch.sh ....で '行に、オプション' $ WILDFLY_CONSOLE_BINDを追加します '以下のように。
ExecStart=/opt/wildfly/bin/launch.sh $WILDFLY_MODE $WILDFLY_CONFIG $WILDFLY_BIND $WILDFLY_CONSOLE_BIND
保存して閉じます。
次に、systemdマネージャーをリロードし、wildflyサービスを再起動します。
systemctl daemon-reload
systemctl restart wildfly
Wildflyサービスは管理コンソールを有効にして実行されています。以下のコマンドを使用して確認してください。
ss -plnt
systemctl status wildfly
以下は、得られる結果です。
その結果、wildflyはローカルIPアドレス' 127.0.0.1で実行されます 'デフォルトのTCPポート'8080 '、およびTCPポートで有効になっているwildfly管理コンソール' 9990 '。
このステップでは、wildflyが提供するスクリプト「add-user.sh」を使用してwildflyを管理するための新しいユーザーを作成します。
以下のようにwildflyの「add-user.sh」スクリプトを実行します。
sh /opt/wildfly/bin/add-user.sh
ユーザーのタイプとして、「 a」と入力します '管理ユーザー(wildflyを管理するための管理者)を作成します。
What type of user do you wish to add?
a) Management User (mgmt-users.properties)
b) Application User (application-users.properties)
(a): a
次に、ユーザー名とパスワードを入力し、安全なパスワードを使用してください。
Enter the details of the new user to add.
Using the realm 'ManagementRealm' as discovered from the existing property files.
Username : hakase
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 :
Re-enter Password :
新しいユーザーのグループの場合は、「 Enter」を押すだけです。 '続行します。
What groups do you want this user to belong to? (Please enter a comma separated list, or leave blank for none)[ ]:
次に、「はい」と入力します 'ユーザーを'ManagementRealmに追加します 'ワイルドフライで。
About to add user 'hakase' for realm 'ManagementRealm'
Is this correct yes/no? yes
Added user 'hakase' to file '/opt/wildfly/standalone/configuration/mgmt-users.properties'
Added user 'hakase' to file '/opt/wildfly/domain/configuration/mgmt-users.properties'
Added user 'hakase' with groups to file '/opt/wildfly/standalone/configuration/mgmt-groups.properties'
Added user 'hakase' with groups to file '/opt/wildfly/domain/configuration/mgmt-groups.properties'
「はい」と入力します 'ユーザーをwildflyのマスタースレーブホストコントローラーを管理するためのプロセスとして有効にします。
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 EJB calls.
yes/no? yes
To represent the user add the following to the server-identities definition <secret value="YXNoN2RhNjVzZyMkJQ==" />
その結果、wildflyの管理者および管理ユーザーが作成されました。
このステップでは、UbuntuシステムにWildflyのリバースプロキシとしてNginxをインストールして構成します。
以下のaptコマンドを使用してNginxパッケージをインストールします。
sudo apt install nginx -y
すべてのインストールが完了したら、「/ etc /nginx/」構成ディレクトリに移動します。
cd /etc/nginx/
vimエディターを使用して、「/ etc / nginx/conf.d」ディレクトリの下に新しいファイル「proxy_headers.conf」を作成します。
vim conf.d/proxy_headers.conf
次の構成を貼り付けます。
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
add_header Front-End-Https on;
add_header Cache-Control no-cache;
保存して閉じます。
次に、「/ etc / nginx/sites-available」ディレクトリの下にwildflyの新しい仮想ホスト設定を作成します。
vim sites-available/wildfly
独自のIPアドレスを変更し、構成を貼り付けます。
server {
listen 80;
server_name SERVER-IP;
location / {
include conf.d/proxy_headers.conf;
proxy_pass http://127.0.0.1:8080;
}
location /management {
include conf.d/proxy_headers.conf;
proxy_pass http://127.0.0.1:9990/management;
}
location /console {
include conf.d/proxy_headers.conf;
proxy_pass http://127.0.0.1:9990/console;
}
location /logout {
include conf.d/proxy_headers.conf;
proxy_pass http://127.0.0.1:9990/logout;
}
location /error {
include conf.d/proxy_headers.conf;
proxy_pass http://127.0.0.1:9990;
}
}
保存して閉じます。
次に、wildfly仮想ホストをアクティブ化し、Nginx構成を確認します。
ln -s /etc/nginx/sites-available/wildfly /etc/nginx/sites-enabled/
nginx -t
エラーがないことを確認してから、Nginxサービスを再起動します。
systemctl restart nginx
その結果、Nginxのインストールと設定はwildflyのリバースプロキシとして完了しました。
Webブラウザを開き、アドレスバーにサーバーのIPアドレスを入力します。
http://192.168.1.50/
これで、以下のようなWildflyのデフォルトのインデックスページが表示されます。
次に、以下のようにURLパス「/console」でwildfly管理コンソールにアクセスします。
http://192.168.1.50/console/
wildfly管理者ユーザーとパスワードを使用してログインします。
これで、以下のようなWildfly管理ダッシュボードが表示されます。
その結果、Ubuntu20.04サーバーへのNginxリバースプロキシを使用したwildflyのインストールが正常に完了しました。