AWS環境でRHEL8.7にJBoss EAP7.2をインストールしてみる(テキストベース)


この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので十分ご注意ください。

はじめに

JBoss Enterprise Application Platform (JBoss EAP)とは、RedHatの製品でありJava EEアプリケーションサーバです。
今回は、RHEL8.7にJBoss EAP 7.2をインストールして記録します。
最後に、Maven のプロジェクトを作成して、Hello World プログラムを実行できるように紹介します。

環境一覧

  • RHEL 8.7
  • Open JDK 11
  • JBoss EAP 7.2

事前準備

1.資材ダウンロード

JBoss EAP7.2

RHELカスタマーポータルから、JBoss EAP のインストーラ(jboss-eap-7.2.0-installer.jar)をダウンロードする。
https://access.redhat.com/jbossnetwork/restricted/listSoftware.html?downloadType=distributions&product=appplatform&version=7.2

Apache Maven 3.9.3

https://maven.apache.org/docs/3.9.3/release-notes.html

2.ユーザ作成

ec2-user でログインして、jbossユーザとユーザグループを作成する。

sudo groupadd jboss -g 500
sudo useradd -u 900 -g 500 -d /home/jboss -m -s /bin/bash jboss

3.資材転送

ダウンロードした 資材をサーバの「/tmp」に転送する。

  • jboss-eap-7.2.0-installer.jar (JBossインストーラ)
  • apache-maven-3.9.3-bin.zip (Mavenインストール用のZIPファイル)

4.パッケージインストール

OpenJDK11、その他必要なパッケージをインストールする。

$sudo dnf install java-11-openjdk

$java -version
openjdk version "11.0.20" 2023-07-18 LTS
OpenJDK Runtime Environment (Red_Hat-11.0.20.0.8-1) (build 11.0.20+8-LTS)
OpenJDK 64-Bit Server VM (Red_Hat-11.0.20.0.8-1) (build 11.0.20+8-LTS, mixed mode, sharing)

$ sudo dnf install unzip

JBoss EAP インストール

以下のコマンドを実行して、テキストベースのインストーラーを起動する。
起動後、表示された指示に従って JBoss EAP をインストールする。

$sudo java -jar jboss-eap-7.2.0-installer.jar -console

インストール開始後の画面ダンプは以下の通り。

以下で言語を選択してください。 :
0: English
1: 中文
2: Deutsch
3: francais
4: 日本語
5: portugues
6: espanol
Please choose [4] :
4
END USER LICENSE AGREEMENT
~~~ ライセンスアグリーメントの表示(内容省略) ~~~
継続するには 1 を、終了するには 2 を、再表示するには 3 を押してください。
1

インストールパスの選択: [/root/EAP-7.2.0]
/opt/EAP-7.2.0
継続するには 1 を、終了するには 2 を、再表示するには 3 を押してください。
1

インストールしたいパッケージを選択してください:
1    [x] [必須]            [Red Hat JBoss Enterprise Application Platform] (30.73 MB)
2    [x]                 [AppClient] (39.72 KB)
3    [x]                 [Docs] (13.65 MB)
4    [x] [必須]            [モジュール] (183.75 MB)
5    [x] [必須]            [Welcome コンテンツ] (2.16 MB)
Total Size Required: 230.34 MB
0 を押して選択を確認
インストールしたいパックを選択してください
0
パックの選択完了
継続するには 1 を、終了するには 2 を、再表示するには 3 を押してください。
1

管理ユーザーの作成
このユーザーは、管理上の目的でホストコンテナの管理レルムに追加されます。このユーザーを使用して、管理コンソール、
管理 CLI、またはこのレルムでセキュア化された他のアプリケーションにアクセスできます。

最小限のセキュリティーを確保するために、パスワードは 8 文字以上である必要があり 、アルファベット、数字、
および "&" を除く英数字以外の文字がそれぞれ 1 文字以上含まれている必要があります。

管理ユーザー名: [admin]
(変更無しとし Enter キーの押下のみ)

管理パスワード: []
********
管理パスワードを再入力:  [********]
********
継続するには 1 を、終了するには 2 を、再表示するには 3 を押してください。
1
[ アンパックを開始中 ]
[ パッケージの処理中: Red Hat JBoss Enterprise Application Platform (1/5) ]
[ パッケージの処理中: AppClient (2/5) ]
[ パッケージの処理中: Docs (3/5) ]
[ パッケージの処理中: モジュール (4/5) ]
[ パッケージの処理中: Welcome コンテンツ (5/5) ]
[ アンパックが終了しました。 ]

ランタイム環境の設定
サーバーがインストールされたため、Red Hat JBoss Enterprise Application Platform に複数の設定オプションが追加されました。
オプションは個別に選択でき、「次へ」を押すと表示順に設定されます。ここで設定を行いますか?

0  [x] デフォルト設定の実行
1  [ ] 詳細設定の実行
入力事項の選択:
0

継続するには 1 を、終了するには 2 を、再表示するには 3 を押してください。
1

[ 処理開始 ]
プロセス開始 インストール情報をログに記録中 (1/3)
IzPack 変数の状態が次に書き込まれました: /opt/EAP-7.2.0/installation/InstallationLog.txt
プロセス開始 管理ユーザーの追加中 (2/3)
プロセス開始 無関係なフォルダーおよび一時ファイルのクリーンアップ (3/3)
インストールが正常に完了しました。
アプリケーションがインストールされました。 /opt/EAP-7.2.0

自動インストールスクリプトとプロパティーファイルを生成しますか? (y/n) [n]:
y
自動インストールスクリプトのパスを選択します。 [/opt/EAP-7.2.0/auto.xml]
(変更無しとし Enter キーの押下のみ)
XML が正常に書き込まれました。
[ Console installation done ]

JBoss ディレクトリ パミッション変更

以下のコマンドを実行して Jboss ホームディレクトリ配下のオーナおよびグループを変更する。

$cd /opt
$sudo chown -R jboss:jboss EAP-7.2.0/

サービス登録

1.サービス設定ファイル修正

(/opt/EAP-7.2.0/bin/init.d/jboss-eap.conf)を下記の様に修正する

JBOSS_HOME="/opt/EAP-7.2.0"
JBOSS_USER=jboss
JBOSS_OPTS="-b 0.0.0.0"

2.設定ファイルコピー

以下のコマンドを実行して、変更したサービス設定ファイルを /etc/default ディレクトリにコピーする。

$ sudo cp -p /opt/EAP-7.2.0/bin/init.d/jboss-eap.conf /etc/default

3.パーミッション付与

以下のコマンドを実行して、サービス起動スクリプトを /etc/init.d ディレクトリにコピーし、実行パーミッションを付与する。

$ sudo cp -p /opt/EAP-7.2.0/bin/init.d/jboss-eap-rhel.sh /etc/init.d
$ sudo chmod +x /etc/init.d/jboss-eap-rhel.sh

4.自動起動追加

以下のコマンドを実行して、自動起動サービスに jboss-eap-rhel.sh サービス追加する。

$ sudo chkconfig --add jboss-eap-rhel.sh

5.自動起動設定

以下のコマンドを実行して、サーバー起動時に自動的にサービスが起動するよう設定する。

$ sudo chkconfig jboss-eap-rhel.sh on

JBoss起動

1.スタンドアロー修正

スタンドアローンサーバ設定ファイル(/opt/EAP-7.2.0/standalone/configuration/standalone.xml)を修正する。

下記行の「127.0.0.1」を「0.0.0.0」に変更する

<wsdl-host>${jboss.bind.address:127.0.0.1}</wsdl-host>
<inet-address value="${jboss.bind.address.management:127.0.0.1}"/>
<inet-address value="${jboss.bind.address:127.0.0.1}"/>

2. サービス起動

以下のコマンドを実行して、サービスを起動する。

$ sudo systemctl start jboss-eap-rhel.service

3. サービス確認

以下のコマンドを実行して、JBossサービス ステータスを確認する
「active (running)」を表示する場合、正常できました。

$ systemctl status jboss-eap-rhel.service
● jboss-eap-rhel.service - SYSV: JBoss EAP startup script
   Loaded: loaded (/etc/rc.d/init.d/jboss-eap-rhel.sh; generated)
   Active: active (running) since Sun 2023-10-01 08:36:54 UTC; 24s ago
   .....

管理コンソールログイン確認

URL:
http://xx.xx.xx.xx:9990/console/index.html

JBoss EAP インストール時に設定するパスワードを入力すると、下記の管理画面を表示されます。
file

ここまで、JBossのインストールはできました。

疎通確認環境作成

1.Maven展開

Maven をインストールするディレクトリに ZIP ファイル(apache-maven-3.9.3-bin.zip)を展開する。

cd /tmp
sudo unzip apache-maven-3.9.3-bin.zip

2.Mavenセットアップ

Mavenインストールおよびセットアップ
EC2 ユーザの.bash_profile を編集して、

$ sudo vi ~/.bash_profile

以下の環境変数を設定し、M2 および JAVA_HOME が PATH 環境変数に含まれるように export する。

export M2_HOME=/tmp/apache-maven-3.9.3
export M2=${M2_HOME}/bin
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.20.0.8-3.el8.x86_64
export EAP_HOME=/opt/EAP-7.2.0
export PATH=$JAVA_HOME:$M2:$PATH

3.環境変数確認

以下のコマンドを実行して、Maven のインストールおよび環境変数が正しく実施されたことを確認する。

$ source ~/.bash_profile
$ mvn --version
Apache Maven 3.9.3 (21122926829f1ead511c958d89bd2f672198ae9f)
Maven home: /tmp/apache-maven-3.9.3
Java version: 11.0.20, vendor: Red Hat, Inc., runtime: /usr/lib/jvm/java-11-openjdk-11.0.20.0.8-3.el8.x86_64
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "4.18.0-425.13.1.el8_7.x86_64", arch: "amd64", family: "unix"

Mavenプロジェクト作成

1.Maven プロジェクト作成

以下のコマンドを実行して、Maven プロジェクトを作成する。

$ cd /tmp
$ mvn archetype:generate -DgroupId=com.example -DartifactId=web-app -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false

2.ディレクトリ確認

以下のディレクトリ構成が作成されていることを確認する。

/tmp
└─ web-app
    ├─ pom.xml
    └─ src
        └─ main
            ├─ resources
            └─ webapp
                ├─ WEB-INF
                │   └─ web.xml
                └─ index.jsp

3.WARファイル作成

以下のコマンドを実行して、WARファイルを作成する。

$ cd /tmp/web-app/
$ mvn clean install

下記のフォルダにWARファイルを作成することを確認する。
/tmp/web-app/target/web-app.war

WARファイルデプロイ

1.WARファイルデプロイ

管理CLIから以下のコマンドを実行して、上記作成したWARファイルのデプロイを行う。

$ sudo /opt/EAP-7.2.0/bin/jboss-cli.sh --connect
[standalone@localhost:9990 /] deploy /tmp/web-app/target/web-app.war

※WARファイルをstandalone/deployments にコピーすることでも可能

cp -p /tmp/web-app/target/web-app.war /opt/EAP-7.2.0/standalone/deployments/

2.JSP動作確認

以下のコマンドを実行して、テスト用テーブルからデータを取得するJSPの動作確認を行う。

$ curl http://localhost:8080/web-app/index.jsp
<html>
<body>
<h2>Hello World!</h2>
</body>
</html>

ブラウザでアクセスしてみます。
問題なくアクセスできました。
file

最後に

以上です。
どなたかの参考になれば幸いです〜。

参考リンク

JBossからAmazon RDS MySQLを接続してみる
https://cloud5.jp/jboss-rds/

Last modified: 2023-10-03

Author