Oracle Linux 8にApache HTTP ServerとWildflyを構築
!!NOTICE!!
この記事の内容は、ほかの手順とまとめて以下の記事に転記しました。
今後は転記先をメンテするためそちらを見てください。
【証明書自動更新対応版】Oracle CloudとCloudflareとLet's Encryptでつくる!HSTSプリロード対応APサーバクラスタ
この記事の概要
OCIインスタンス上Oracle Linux 8にApache HTTP ServerとWildfly(JBossAS)をインストールする。
前提
- OS: Red Hat Enterprise Linux release 8.2 (Ootpa)
- Java: openjdk version "1.8.0_265"
- Apache HTTP Server: Apache/2.4.37 (Oracle Linux)
- Wildfly: Release: 12.0.3.Final
- 断りがない場合コマンドは
root
ユーザで実行しています
Wildflyの構築
1. JDKのインストール
yum install -y java-1.8.0-openjdk.x86_64
2. wildflyユーザの作成
groupadd -r wildfly
useradd -r -g wildfly -d /opt/wildfly -s /sbin/nologin wildfly
3. WildflyのDL&展開
root
ユーザで実行しています1. JDKのインストール
yum install -y java-1.8.0-openjdk.x86_64
2. wildflyユーザの作成
groupadd -r wildfly
useradd -r -g wildfly -d /opt/wildfly -s /sbin/nologin wildfly
3. WildflyのDL&展開
wgetするURLは適宜お好みで。
cd /opt
wget https://download.jboss.org/wildfly/20.0.1.Final/wildfly-20.0.1.Final.zip
unzip -q wildfly-20.0.1.Final.zip
ln -s wildfly-20.0.1.Final wildfly
4. Wildfly起動確認
sh /opt/wildfly/bin/standalone.sh
2020-09-15 09:47:48,958 INFO [org.jboss.as] (Controller Boot Thread) WFLYSRV0025: WildFly Full 20.0.1.Final (WildFly Core 12.0.3.Final) started in 13956ms - Started 314 of 580 services (370 services are lazy, passive or on-demand)
無事起動したようです。Ctrl+Cで停止します。
5. systemdデーモン起動させる
デーモン起動用のスクリプトはすでに用意されているので配置するだけですぐにデーモン起動できるようになります。
mkdir -p /etc/wildfly
cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.conf /etc/wildfly/
vi /etc/wildfly/wildfly.conf
定義内容は必要に応じて編集してください。私はバインドアドレスを0.0.0.0 -> 127.0.0.1
に変えました。
cp /opt/wildfly/docs/contrib/scripts/systemd/launch.sh /opt/wildfly/bin/
chmod 744 /opt/wildfly/bin/launch.sh
cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.service /etc/systemd/system/
chown -R wildfly /opt/wildfly*
systemctl daemon-reload
systemctl start wildfly
systemctl enable wildfly
6. Wildfly管理ユーザの作成
管理コンソールからWildflyの設定をいじれるように管理ユーザを設定しておく必要があります。
cd /opt/wildfly/bin
./add-user.sh
細かくは割愛しますがプロンプトに従ってManagement Userを追加してください。
詳しくは公式のドキュメントへ。
Apache HTTP Serverの構築
1. Apache HTTP Serverのインストール
yum install -y httpd
2. セキュリティ対策
yum install -y httpd
デフォルト設定のままだとセキュリティ上リスクがあるため是正しておきます。
デフォルトコンテンツの削除
通常公開しないウェルカムページなどの不要コンテンツは極力排除します。
cd /etc/httpd/conf.d
mv welcome.conf welcome.conf.org
mv autoindex.conf autoindex.conf.org
ディレクトリ内容一覧表示機能の無効化
vi /etc/httpd/conf/httpd.conf
#Options Indexes FollowSymLinks
Options FollowSymLinks
TRACEメソッドの無効化
XST対策としてTRACEメソッドを無効化します。
vi /etc/httpd/conf/httpd.conf
# ファイル末尾に追記
TraceEnable off
バージョン情報表示機能の無効化
HTTPレスポンスヘッダにWebサーバのバージョンを含まないようにします。
vi /etc/httpd/conf/httpd.conf
# ファイル末尾に追記
ServerTokens ProductOnly
ServerSignature off
フレーム内ページ表示を同一ドメイン内のみに許可する
クリックジャッキング対策として、HTTPレスポンスヘッダにX-Frame-Optionsヘッダを追加します。
# 新規にファイル作成
vi /etc/httpd/conf.modules.d/headers.conf
# ファイル末尾に追記
Header append X-FRAME-OPTIONS SAMEORIGIN
Apache HTTP ServerとWildflyの連携
Apache HTTP ServerへのリクエストをWildflyへ引き込みます。
1. リバースプロキシの設定
80番ポートへのアクセスを8080番ポート(WildflyのHTTPリスナ)へ向けます。
# 新規にファイル追加
vi /etc/httpd/conf.modules.d/wildfly.conf
<VirtualHost *:80>
ProxyPass / http://127.0.0.1:8080/
ProxyPassReverse / http://example.net/
</VirtualHost>
2. 定義チェック&再起動
ここまで設定できたら定義ファイルをテストしてApache HTTP Serverを再起動します。
httpd -t
systemctl restart httpd
動作確認
http://example.com のように、シンプルに80番ポートにアクセスしてみて、Wildflyのウェルカムページが見えれば成功です。
まとめ
OCIのLBでSSLに対応しており、バックエンド側通信はHTTPで構築してみました。Web/APサーバでSSL化しようとすると複雑になるのでLBで終端できるのはいいかんじです。
Author And Source
この問題について(Oracle Linux 8にApache HTTP ServerとWildflyを構築), 我々は、より多くの情報をここで見つけました https://qiita.com/syakesalmon/items/7992bfdaf3c87b87e741著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .