この記事は公開されてから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 インストール時に設定するパスワードを入力すると、下記の管理画面を表示されます。
ここまで、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>
ブラウザでアクセスしてみます。
問題なくアクセスできました。
最後に
以上です。
どなたかの参考になれば幸いです〜。
参考リンク
JBossからAmazon RDS MySQLを接続してみる
https://cloud5.jp/jboss-rds/