Apache HTTP Server インストールガイド
Red Hat JBoss ミドルウェア製品との使用
概要
Red Hat ドキュメントへのフィードバック (英語のみ)
弊社の技術的な内容についてのフィードバックに感謝します。ご意見をお聞かせください。コメントの追加、Insights の提供、誤字の修正、および質問を行う必要がある場合は、ドキュメントで直接行うこともできます。
Red Hat アカウントがあり、カスタマーポータルにログインしている必要があります。
カスタマーポータルからドキュメントのフィードバックを送信するには、以下の手順を実施します。
- Multi-page HTML 形式を選択します。
- ドキュメントの右上にある Feedback ボタンをクリックします。
- フィードバックを提供するテキストのセクションを強調表示します。
- ハイライトされたテキストの横にある Add Feedback ダイアログをクリックします。
- ページの右側のテキストボックスにフィードバックを入力し、送信 をクリックします。
フィードバックを送信すると、自動的に問題の追跡が作成されます。Submit をクリックすると表示されるリンクを開き、問題の監視を開始するか、さらにコメントを追加します。
貴重なフィードバックにご協力いただきありがとうございます。
第1章 JBoss Core Services Apache HTTP Server のインストールの概要
Red Hat JBoss Core Services は、Red Hat JBoss ミドルウェア製品向けの補助ソフトウェアのセットです。Red Hat JBoss Core Services は、複数の JBoss ミドルウェア製品に共通する補足的なソフトウェア (Apache HTTP Server など) を提供します。この補足的なソフトウェアは、Red Hat JBoss Core Services でパッケージ化され、更新をより迅速に配布し、より一貫性のある更新提供を実現します。
Red Hat JBoss Core Services でサポートされるコンポーネントの完全リストについては、Core Services Apache HTTP Server Component Details ページを参照してください。
Core Services Apache HTTP Server Component Details の Web ページへのアクセスを試みる前に、有効な Red Hat サブスクリプションがあり、Red Hat カスタマーポータルにログインしていることを確認する必要があります。
1.1. JBoss Core Services Apache HTTP Server
Red Hat JBoss Core Services Apache HTTP Server は、複数の Red Hat JBoss ミドルウェア製品で使用されます。Apache HTTP Server は、Web クライアントが Hypertext Transfer Protocol (HTTP) 経由で送信するリクエストを処理します。
JBoss 製品の旧リリースでは、Apache HTTP Server は各 JBoss 製品に個別に配布されていました。以下の製品バージョン以降、各 JBoss ミドルウェア製品は Apache HTTP Server の JBoss Core Services ディストリビューションを使用します。
- Red Hat JBoss Enterprise Application Platform (JBoss EAP) 7.0 移行のバージョン
- Red Hat JBoss Web Server 3.1 以降のバージョン
JBoss Core Services と Red Hat Enterprise Linux の両方が、Apache HTTP Server の個別のディストリビューションを提供します。
JBoss Core Services (JBCS)と Red Hat Enterprise Linux (RHEL)で利用可能な Apache HTTP Server ディストリビューションの以下の違いを考慮してください。
- アーカイブファイルまたは RPM パッケージから JBCS Apache HTTP Server をインストールできます。RHEL Apache HTTP Server は、RPM パッケージからのみインストールできます。
-
JBCS Apache HTTP Server は、
mod_security
モジュール、mod_proxy_uwsgi
モジュール、ロードバランシングモジュールmod_jk
とmod_cluster
を提供します。 -
JBCS Apache HTTP Server は、
mod_php
モジュールを提供またはサポートしていません。RHEL Apache HTTP Server は、mod_php
モジュールをサポートしています。
1.2. JBoss Core Services Apache HTTP Server でサポートされるオペレーティングシステム
JBoss Core Services Apache HTTP Server は、さまざまなバージョンの Red Hat Enterprise Linux および Microsoft Windows オペレーティングシステムをサポートします。
関連情報
- Core Services HTTP Server でサポートされる設定 の Web ページ
1.3. JBoss Core Services Apache HTTP Server のインストール方法
各プラットフォームで利用可能なアーカイブインストールファイルを使用して、サポートされる Red Hat Enterprise Linux および Microsoft Windows システムに JBoss Core Services Apache HTTP Server をインストールできます。RPM パッケージを使用して、サポートされている Red Hat Enterprise Linux システムに JBoss Core Services Apache HTTP Server をインストールすることもできます。
1.4. JBoss Core Services Apache HTTP Server 2.4.37 へのアップグレード
以前にアーカイブファイルから以前のバージョンの JBoss Core Services Apache HTTP Server をインストールした場合は、JBoss Core Services Apache HTTP Server 2.4.37 リリースにアップグレードできます。
アップグレードプロセスには、以下の手順が含まれます。
- Apache HTTP Server 2.4.37 のインストール
- Apache HTTP Server 2.4.37 の設定
- 以前のバージョンの Apache HTTP Server の削除
前提条件
- Windows Server で管理者アクセス権を持っている。
- .zip アーカイブから JBoss Core Services Apache HTTP Server 2.4.29 以前がインストールされているシステムを使用している。
手順
- Apache HTTP Server 2.4.29 の実行中のインスタンスをすべてシャットダウンします。
- Apache HTTP Server 2.4.29 のインストールファイルと設定ファイルをバックアップします。
- 現在のシステムの .zip インストール方法を使用して、Apache HTTP Server 2.4.37 をインストールします。詳細は、このセクションの最後にある 関連情報 を参照してください。
設定を Apache HTTP Server バージョン 2.4.29 からバージョン 2.4.37 に移行します。
注記JBoss Core Services 設定ファイルは、Apache HTTP Server 2.4.29 リリース以降に変更されている可能性があります。2.4.37 バージョン設定ファイルは、別のバージョン (Apache HTTP Server 2.4.29 など) の設定ファイルで上書きするのではなく、更新してください。
- Apache HTTP Server 2.4.29 ルートディレクトリーを削除します。
1.5. Red Hat Enterprise Linux 7 と Red Hat Enterprise Linux 8 における主な相違点
このセクションでは、Red Hat Enterprise Linux 8 で導入された主な変更点の概要を説明します。
- 削除されたセキュリティー機能
- Red Hat Enterprise Linux 7 では数字だけのユーザー名およびグループ名がすべて非推奨となり、Red Hat Enterprise Linux 8 ではサポートは完全に削除されました。
- メモリー管理
- Red Hat Enterprise Linux 7 での既存のメモリーバスには、48/46 ビットの仮想または物理のメモリーアドレス容量があり、Linux カーネルが、4 つのレベルのページテーブルを実装して、物理アドレスへの仮想アドレスを管理します。アドレス範囲の拡張に伴い、Red Hat Enterprise Linux 8 のメモリー管理は 5 レベルのページテーブルの実装をサポートし、拡張されたアドレス範囲に対応できるようにしました。Red Hat Enterprise Linux 8 では、5 レベルページテーブルのサポートは、システムがこの機能をサポートしている場合でも、デフォルトで無効になっています。
- XFS に対応
- Red Hat Enterprise Linux 7 は、読み取り専用モードでのみ、共有コピーオンライトのデータエクステントを使用する XFS ファイルシステムをマウントできます。Red Hat Enterprise Linux 8 では、XFS ファイルシステムが、共有コピーオンライトのデータエクステント機能に対応します。この機能により、2 つ以上のファイルが共通のデータブロックセットを共有できます。
- NFS の設定
-
Red Hat Enterprise Linux 7 では、NFS 設定は
/etc/sysconfig/nfs
ファイルにあります。Red Hat Enterprise Linux 8 では、NFS 設定は/etc/nfs.conf
ファイルにあります。
Red Hat Enterprise Linux 7 と Red Hat Enterprise Linux 8 の相違点の詳細については、Considerations in adopting RHEL 8 を参照してください。
1.6. 関連情報 (または次の手順)
第2章 アーカイブファイルからの RHEL への JBoss Core Services Apache HTTP Server のインストール
JBoss Core Services Apache HTTP Server は、アーカイブファイルまたは RPM パッケージから Red Hat Enterprise Linux にインストールできます。アーカイブファイルから Apache HTTP Server をインストールする場合は、Red Hat カスタマーポータルの Software Downloads ページから Apache HTTP Server をダウンロードして展開できます。元の 2.4.37 リリースのベースアーカイブファイルをインストールする必要があります。最新のサービスパックリリースがある場合は、それをインストールすることもできます。
アーカイブファイルから Apache HTTP Server をインストールすると、さまざまな方法で製品を管理できます。たとえば、システム起動時にシステムデーモンを使用したり、コマンドラインから Apache HTTP Server を管理したりすることができます。
Red Hat Enterprise Linux 7 と Red Hat Enterprise Linux 8 では、Apache HTTP Server アーカイブファイルをダウンロードする手順が異なります。
2.1. RHEL での Apache HTTP Server アーカイブファイルのダウンロードと展開
Red Hat カスタマーポータルの Software Downloads ページから、Apache HTTP Server アーカイブファイルをダウンロードすることができます。使用している Red Hat Enterprise Linux (RHEL) のバージョンによって、アーカイブファイルをダウンロードする手順が若干異なります。
次のガイドラインを考慮してください。
- RHEL 7 を使用している場合は、元の JBoss Core Services Apache HTTP Server 2.4.37 リリースのアーカイブファイルを Software Downloads ページの Releases タブからダウンロードする必要があります。最新のサービスパックリリースがある場合は、Software Downloads ページの Security Advisories タブからダウンロードすることもできます。
- RHEL 8 を使用している場合は、元の JBoss Core Services Apache HTTP Server 2.4.37 リリースのアーカイブファイルを Software Downloads ページの Security Advisories タブからダウンロードする必要があります。最新のサービスパックリリースがある場合は、Security Advisories タブからダウンロードすることもできます。
目的のインストールディレクトリーへの書き込みアクセス権があれば、root 以外の権限でアーカイブファイルをインストールできます。
前提条件
elinks
、krb5-workstation
、およびmailcap
パッケージがインストールされている。これらのパッケージをインストールする場合は、root ユーザーとして次のコマンドを入力します。
# yum install elinks krb5-workstation mailcap
手順
- ブラウザーを開き、Red Hat カスタマーポータルの Software Downloads ページにログインします。
- Product ドロップダウンメニューから、Apache HTTP Server を選択します。
- Version ドロップダウンメニューで、正しいバージョンの JBoss Core Services を選択します。
使用している RHEL バージョンに応じて、以下のいずれかの手順を実行します。
- RHEL 7 を使用している場合は、Releases タブで、お使いのシステムのプラットフォームおよびアーキテクチャーに一致する Red Hat JBoss Core Services Apache HTTP Server アーカイブファイルの横にある Download をクリックします。
RHEL 8 を使用している場合は、Security Advisories タブをクリックします。続いて、Red Hat JBoss Core Services Apache HTTP Server 2.4.37 Patch 06 for RHEL 8 x86_64 ファイルの横にある Download をクリックします。
注記Red Hat JBoss Core Services Apache HTTP Server 2.4.37 Patch 06 for RHEL 8 x86_64 ファイルは、RHEL 8 に Apache HTTP Server をインストールするためのベースアーカイブファイルです。
ダウンロードしたアーカイブファイルをインストールディレクトリーに展開します。
注記Red Hat Enterprise Linux システムでは、Apache HTTP Server を
/opt/
ディレクトリーにインストールします。アーカイブを展開すると、
jbcs-httpd24-2.4/httpd
ディレクトリーが作成されます。このディレクトリーは、Apache HTTP Server の最上位ディレクトリーです。本書では、jbcs-httpd24-2.4/httpd
ディレクトリーをHTTPD_HOME
と呼びます。最新のサービスパックリリースがある場合は、次の手順を実行してインストールします。
- Software Downloads ページで、Security Advisories タブをクリックします。
Security Advisories タブで、お使いのシステムのプラットフォームとアーキテクチャーに一致する最新の Red Hat JBoss Core Services Apache HTTP Server Patch アーカイブファイルの横にある Download をクリックします。
たとえば、Red Hat Enterprise Linux 7 に Apache HTTP Server 2.4.37 の Service Pack 10 リリースをインストールする場合は、Red Hat JBoss Core Services Apache HTTP Server 2.4.37 Patch 10 for RHEL 7 x86_64 ファイルの横にある Download をクリックしてください。
注記サービスパックのリリースは累積的です。最新のサービスパックリリースをダウンロードすると、以前のサービスパックリリースも自動的にインストールされます。
2.2. コマンドラインからアーカイブのインストールを管理するための Apache HTTP Server 設定
Red Hat Enterprise Linux でアーカイブファイルから JBoss Core Services Apache HTTP Server をインストールすると、コマンドラインから直接 Apache HTTP Server を起動および停止することができるようになります。コマンドラインから Apache HTTP Server を実行する前に、以下の一連の設定作業を行う必要があります。
2.2.1. Apache ユーザーの作成
コマンドラインから Apache HTTP Server を初めて実行する前に、apache
ユーザーとその親グループを作成する必要があります。また、ユーザーが Apache HTTP Server を実行できるように、Apache ディレクトリーの所有権を apache
ユーザーに割り当てる必要があります。
この手順のすべてのステップを root ユーザーとして実行する必要があります。
前提条件
手順
-
コマンドラインで、
HTTPD_HOME
ディレクトリーに移動します。 以下のコマンドを実行して
apache
ユーザーグループを作成します。# groupadd -g 48 -r apache
以下のコマンドを実行して、
apache
ユーザーグループにapache
ユーザーを作成します。# /usr/sbin/useradd -c "Apache" -u 48 -g apache -s /sbin/nologin -r apache
以下のコマンドを実行して、Apache ディレクトリーの所有権を
apache
ユーザーに割り当てます。# chown -R apache:apache *
検証
以下のコマンドを実行して、
apache
ユーザーがディレクトリーの所有者であることを確認します。# ls -l
2.2.2. SSL サポートの無効化または有効化
Apache HTTP Server を実行する前に、SSL 設定ファイルの名前を変更して、SSL サポートを無効または有効にすることを選択できます。Apache HTTP Server は、デフォルトで SSL をサポートします。
手順
-
HTTPD_HOME/conf.d/
ディレクトリーに移動します。 SSL を有効または無効にするには、次のいずれかの手順を実行します。
-
SSL を無効にするには、
ssl.conf
の名前をssl.conf.disabled
に変更します。 -
SSL を再度有効にするには、
ssl.conf.disabled
の名前をssl.conf
に変更します。
-
SSL を無効にするには、
2.2.3. Apache HTTP Server のインストール後のスクリプトを実行する
コマンドラインから Apache HTTP Server を初めて実行する前に、Apache HTTP Server のインストール後のスクリプトを実行する必要があります。
手順
-
コマンドラインで、
HTTPD_HOME
ディレクトリーに移動します。 以下のコマンドを入力します。
./.postinstall
2.3. アーカイブファイルからインストールした場合のコマンドラインからの Apache HTTP Server の起動
Red Hat Enterprise Linux でアーカイブファイルから JBoss Core Services Apache HTTP Server をインストールすると、コマンドラインから直接 Apache HTTP Server を起動できるようになります。
前提条件
-
Apache
ユーザーを作成 している。 - SSL サポートを無効化または再度有効化 している。
- Apache HTTP Server のインストール後のスクリプトを実行 している。
手順
-
コマンドラインで、
HTTPD_HOME/sbin/
ディレクトリーに移動します。 root ユーザーとして以下のコマンドを実行します。
./apachectl start
2.4. アーカイブファイルからインストールした場合のコマンドラインからの Apache HTTP Server の停止
Red Hat Enterprise Linux でアーカイブファイルから JBoss Core Services Apache HTTP Server をインストールすると、Apache HTTP Server の実行中のインスタンスをコマンドラインから直接停止することができます。
前提条件
- Apache HTTP Server を開始 している。
手順
-
コマンドラインで、
HTTPD_HOME/sbin/
ディレクトリーに移動します。 root ユーザーとして以下のコマンドを実行します。
./apachectl stop
2.5. root アクセスなしでコマンドラインから Apache HTTP Server を実行する
Red Hat Enterprise Linux でアーカイブファイルから JBoss Core Services Apache HTTP Server をインストールすると、apache
ユーザーなどの root アクセスを持たないユーザーとしてコマンドラインから直接 Apache HTTP Server を起動できるようになります。
手順
- Apache HTTP Server のすべてのインスタンスを停止します。
http
リッスンポートを 1024 より大きい値に設定します。Listen 2080 ServerName <hostname>:2080
https
リッスンポートを 1024 より大きい値に設定します。Listen 2443
- 所有権を変更します。
-
実行
の所有権を変更します。 httpd
が、root
ユーザーとapache
ユーザーではなく、apache
ユーザーでのみ実行されていることを確認します。$ ps -eo euser,egroup,comm | grep httpd
このコマンドは、次のタイプの出力を生成します。
apache apache httpd apache apache httpd apache apache httpd ...
重要apache
ユーザー のファイル権限を制限します。これにより、以下のようなシナリオを防ぐことができます。
- Web サイト利用者によるファイルやディレクトリーへの不正アクセスや改変
- Apache HTTP Server 設定ファイルへの不要な変更
2.6. アーカイブファイルからインストールした場合に systemd
を使用して Apache HTTP Server を管理する
Red Hat Enterprise Linux でアーカイブファイルから Apache HTTP Server をインストールすると、システムデーモンを使用して管理タスクを実行することができます。システムデーモンで Apache HTTP Server を使用すると、システム起動時に Apache HTTP Server サービスを開始する方法が提供されます。システムデーモンは、start、stop、および status チェック機能も提供します。
Red Hat Enterprise Linux 7 と Red Hat Enterprise Linux 8 のデフォルトのシステムデーモンは、systemd
です。
Red Hat Enterprise Linux 6 はサポートされなくなり、その後ドキュメントから削除されました。
前提条件
- アーカイブファイルから Apache HTTP Server をインストールしている。
手順
実行中のシステムデーモンを特定するには、次のコマンドを入力します。
$ ps -p 1 -o comm=
systemd
が実行されている場合、次の出力が表示されます。systemd
systemd
用に Apache HTTP Server をセットアップするには、root ユーザーとして.postinstall.systemd
スクリプトを実行します。# cd HTTPD_HOME # sh httpd/.postinstall.systemd
systemd
を使用して Apache HTTP Server を制御するには、root ユーザーとして次のいずれかの手順を実行できます。systemd
を使用してシステムの起動時に Apache HTTP Server サービスを起動できるようにするには、以下を実行します。# systemctl enable jbcs-httpd24-httpd.service
systemd
を使用して Apache HTTP Server を起動するには、以下を実行します。# systemctl start jbcs-httpd24-httpd.service
systemd
を使用して Apache HTTP Server を停止するには、以下を実行します。# systemctl stop jbcs-httpd24-httpd.service
systemd
を使用して Apache HTTP Server のステータスを確認するには、以下を実行します。# systemctl status jbcs-httpd24-httpd.service
注記すべてのユーザーが
status
操作を実行できます。
これらのコマンドの実行後に、以下のコマンドを実行して、.postinstall.sysv
または .postinstall.systemd
の影響を受ける変更を元に戻すことができます。
# cd HTTPD_HOME
# sh httpd/.postinstall.services.cleanup
関連情報
-
RHEL 7 で
systemd
を使用する方法の詳細は、RHEL 7 System Administrator's Guide: Managing System Services を参照してください。 -
RHEL 8 で
systemd
を使用する方法の詳細は、RHEL 8 Configuring Basic System Settings: Managing system services with systemctl を参照してください。
2.7. Apache HTTP Server の SELinux ポリシー
Security-Enhanced Linux (SELinux) ポリシーを使用して、Apache HTTP Server のアクセス制御を定義できます。これらのポリシーは、製品へのアクセス権を決定する一連のルールです。
2.7.1. SELinux ポリシー情報
SELinux セキュリティーモデルはカーネルにより適用され、ファイルシステムの場所やポートなどのリソースへのアプリケーションのアクセスが限定されるようにします。SELinux ポリシーは、危険にさらされているか、不適切な設定である誤ったプロセスを制限したり、実行できないようにしたりします。
Apache HTTP Server インストールの jbcs-httpd24-httpd-selinux
パッケージは、mod_cluster
ポリシーを提供します。次の表には、提供されている SELinux ポリシーに関する情報が含まれています。
表2.1 RPM およびデフォルトの SELinux ポリシー
名前 | ポート情報 | ポリシー情報 |
---|---|---|
|
2 つのポート ( |
インストール後のスクリプトは、 |
関連情報
- Red Hat Enterprise Linux 7 での SELinux の使用に関する詳細は、RHEL 7 SELinux User's and Administrator's Guide を参照してください。
- Red Hat Enterprise Linux 8 での SELinux の使用に関する詳細は、 RHEL8 Using SELinux guide を参照してください。
2.7.2. Apache HTTP Server アーカイブインストール用の SELinux ポリシーのインストール
このリリースでは、アーカイブパッケージが SELinux ポリシーを提供します。.postinstall.selinux
ファイルは Apache HTTP Server の root フォルダーに含まれています。必要に応じて、.postinstall.selinux
スクリプトを実行できます。
デフォルトでは、Apache HTTP Server が提供する SELinux ポリシーはアクティブではなく、Apache HTTP Server プロセスは unconfined_t
ドメインで実行されます。このドメインは、プロセスを限定するものではありません。提供されている SELinux ポリシーを有効化しないと選択した場合は、apache
ユーザーのファイルアクセスを制限して、apache
ユーザーが Apache HTTP Server ランタイムに必要なファイルとディレクトリーにのみアクセスできるようにします。
手順
selinux-policy-devel
パッケージをインストールします。yum install -y selinux-policy-devel
.postinstall.selinux
スクリプトを実行します。cd <httpd_home> sh .postinstall.selinux
SELinux モジュールを作成してインストールします。
cd <httpd_home>/selinux/ make -f /usr/share/selinux/devel/Makefile semodule -i jbcs-httpd24-httpd.pp
Apache HTTP Server の SELinux コンテキストを適用します。
restorecon -r <httpd_home>
Apache HTTP Server に必要なポートへのアクセスパーミッションを追加します。
semanage port -a -t http_port_t -p tcp 6666 semanage port -a -t http_port_t -p udp 23364
Apache HTTP Server サービスを起動します。
<httpd_home>/sbin/apachectl start
httpd_t
が予想される実行中のプロセスのコンテキストを確認します。$ ps -eZ | grep httpd | head -n1 unconfined_u:unconfined_r:httpd_t:s0-s0:c0.c1023 2864 ? 00:00:00 httpd
httpd ディレクトリーのコンテキストを確認します。以下に例を示します。
ls -lZ <httpd_home>/logs/
第3章 RPM パッケージからの RHEL への JBoss Core Services Apache HTTP Server のインストール
JBoss Core Services Apache HTTP Server は、アーカイブファイルまたは RPM パッケージから Red Hat Enterprise Linux にインストールできます。RPM パッケージから Apache HTTP Server をインストールすると、Apache HTTP Server がサービスとしてインストールされます。
JBoss Core Services Apache HTTP Server の RPM インストールパッケージは、Red Hat Subscription Management から入手できます。RPM インストールオプションは、Red Hat Enterprise Linux 7、および Red Hat Enterprise Linux 8 で利用できます。
Red Hat Enterprise Linux 6 はサポートされなくなり、その後ドキュメントから削除されました。
3.1. Red Hat Enterprise Linux へのサブスクリプションの割り当て
Apache HTTP Server の RPM パッケージをダウンロードしてインストールする前に、Red Hat Subscription Management にシステムを登録し、該当するコンテンツ配信ネットワーク (CDN) リポジトリーをサブスクライブする必要があります。その後、いくつかの検証手順を実行して、サブスクリプションが必要な CDN リポジトリーを提供していることを確認することができます。
手順
- Red Hat Subscription Management Web ページにログインします。
- System タブをクリックします。
-
サブスクリプションを追加するシステムの
Name
をクリックします。 -
Details タブから Subscriptions タブに移動してから、
Attach Subscriptions
をクリックします。 -
アタッチするサブスクリプションの横にあるチェックボックスをオンにしてから、
Attach Subscriptions
をクリックします。
検証
- Red Hat サブスクリプション Web ページにログインします。
-
Subscription Name
列で、選択するサブスクリプションをクリックします。 - Products Provided の下では、Red Hat JBoss Core Services が必要です。
関連情報
- Red Hat Enterprise Linux 7 の登録に関する詳細は、RHEL 7 の Installation Guide: Subscription Manager を参照してください。
- Red Hat Enterprise Linux 8 の登録に関する詳細は、RHEL 8 の Performing a Standard RHEL Installation: Registering your system using the Subscription Manager User Interface を参照してください。
3.2. YUM を使用した RPM パッケージからの Apache HTTP Server のインストール
YUM パッケージマネージャーを使用して、Apache HTTP Server を RPM パッケージから Red Hat Enterprise Linux にインストールできます。
前提条件
手順
お使いのオペレーティングシステムのバージョンに対応した Apache HTTP Server CDN リポジトリーにサブスクライブするには、root ユーザーで次のコマンドを入力します。
# subscription-manager repos --enable <repository>
注記Red Hat Enterprise Linux 7 を使用している場合は、
<repository>
をjb-coreservices-1-for-rhel-7-server-rpms
に置き換えてください。Red Hat Enterprise Linux 8 を使用している場合は、
<repository>
をjb-coreservices-1-for-rhel-8-x86_64-rpms
に置き換えてください。root ユーザーで以下のコマンドを実行し、Apache HTTP Server をインストールします。
# yum groupinstall jbcs-httpd24
注記Red Hat Enterprise Linux 8 のリリースにより、JBCS は yum
groupinstall
コマンドを使用しなくなりました。Red Hat Enterprise Linux 8 での HTTPD の設定に関する詳細は、Deploying different types of servers: Setting up the Apache HTTP Web Server を参照してください。
3.3. RHEL 8 での mod_jk および mod_cluster の使用
YUM パッケージマネージャーを使用して、Red Hat Enterprise Linux 8 に JBoss Core Services (JBCS) mod_jk
、mod_cluster
、mod_rt
、および mod_bmx
モジュールをインストールすることができます。
手順
httpd
をインストールするには、root ユーザーとして次のコマンドを入力します。$ yum install httpd
mod_jk
、mod_cluster
、mod_rt
、およびmod_bmx
モジュールをインストールするには、root ユーザーで次のコマンドを入力します。$ yum install jbcs-httpd24-mod_jk-ap24 $ yum install jbcs-httpd24-mod_cluster-native $ yum install jbcs-httpd24-mod_bmx $ yum install jbcs-httpd24-mod_rt
注記Apache HTTP Server (
httpd
) が Red Hat Enterprise Linux 8 にインストールされている場合には、Base オペレーティングシステムモジュールは/usr/lib64/httpd/modules
ディレクトリーにあります。mod_jk
、mod_cluster
、mod_rt
、およびmod_bmx
などの JBCS モジュールは、現在/opt/rh/jbcs/root/usr/lib64/httpd/modules
ディレクトリーに配置されています。これらの JBCS モジュールは、命名、ディレクトリー、接頭辞に関するすべての JBCS ルールに従っています。これらのモジュールを使用するには、次のいずれかの手順を実行します。
LoadModule
コマンドを追加するために設定ファイルを作成または変更します。以下に例を示します。LoadModule jk_module /opt/rh/jbcs/root/usr/lib64/httpd/modules/mod_jk.so
-
インストールされた JBCS モジュールのディレクトリーを
JBCS_HOME/httpd/conf.d
ディレクトリーに含めます。
-
mod_proxy_cluster
を使用する場合は、mod_proxy_balancer
を無効にする必要があります。 -
mod_proxy_cluster
を使用する場合は、mod_proxy
を有効にする必要があります。 -
mod_proxy_cluster
に AJP を使わせたい場合は、proxy_ajp_module
を無効にする必要があります。
3.4. RPM からインストールした場合の Apache HTTP Server インストールの設定
RPM パッケージから Apache HTTP Server をインストールすると、Apache HTTP Server を実行する前に SSL サポートをオプションで削除することができます。Apache HTTP Server は、デフォルトで SSL をサポートします。mod_ssl
パッケージを削除することで、SSL サポートを削除することを選択できます。
手順
コマンドラインで、root ユーザーとして次のコマンドを入力します。
# yum remove jbcs-httpd24-mod_ssl
注記Red Hat Enterprise Linux 8 のリリースにより、JBCS は yum
groupinstall
コマンドを使用しなくなりました。Red Hat Enterprise Linux 8 での HTTPD の設定に関する詳細は、Deploying different types of servers: Setting up the Apache HTTP Web Server を参照してください。
3.5. RPM からインストールした場合のコマンドラインからの Apache HTTP Server の起動
RPM パッケージから JBoss Core Services Apache HTTP Server をインストールすると、コマンドラインを使用して Apache HTTP Server を起動できます。
手順
コマンドラインで、root ユーザーとして Apache HTTP Server サービスを起動します。
Red Hat Enterprise Linux 7 の場合:
# systemctl start jbcs-httpd24-httpd.service
注記Red Hat Enterprise Linux 8 のリリースにより、JBCS は yum
groupinstall
コマンドを使用しなくなりました。Red Hat Enterprise Linux 8 での HTTPD の設定に関する詳細は、Deploying different types of servers: Setting up the Apache HTTP Web Server を参照してください。
Red Hat Enterprise Linux 6 はサポートされなくなり、その後ドキュメントから削除されました。
3.6. RPM からインストールした場合にコマンドラインから Apache HTTP Server を停止する
RPM パッケージから JBoss Core Services Apache HTTP Server をインストールすると、コマンドラインを使用して Apache HTTP Server を停止できます。
手順
コマンドラインで、root ユーザーとして Apache HTTP Server サービスを停止します。
Red Hat Enterprise Linux 7 の場合:
# systemctl stop jbcs-httpd24-httpd.service
注記Red Hat Enterprise Linux 8 のリリースにより、JBCS は yum
groupinstall
コマンドを使用しなくなりました。Red Hat Enterprise Linux 8 での HTTPD の設定に関する詳細は、Deploying different types of servers: Setting up the Apache HTTP Web Server を参照してください。
Red Hat Enterprise Linux 6 はサポートされなくなり、その後ドキュメントから削除されました。
3.7. システム起動時に Apache HTTP Server サービスが起動するように設定する
RPM パッケージから JBoss Core Services Apache HTTP Server をインストールすると、Apache HTTP Server サービスがシステム起動時に起動するように設定できます。
手順
システムの起動時に Apache HTTP Server サービスを起動できるようにするには、次のコマンドを入力します。
Red Hat Enterprise Linux 7 の場合:
# systemctl enable jbcs-httpd24-httpd.service
Red Hat Enterprise Linux 6 はサポートされなくなり、その後ドキュメントから削除されました。
3.8. Apache HTTP Server の SELinux ポリシー
Security-Enhanced Linux (SELinux) ポリシーを使用して、Apache HTTP Server のアクセス制御を定義できます。これらのポリシーは、製品へのアクセス権を決定する一連のルールです。
3.8.1. SELinux ポリシー情報
SELinux セキュリティーモデルはカーネルにより適用され、ファイルシステムの場所やポートなどのリソースへのアプリケーションのアクセスが限定されるようにします。SELinux ポリシーは、危険にさらされているか、不適切な設定である誤ったプロセスを制限したり、実行できないようにしたりします。
Apache HTTP Server インストールの jbcs-httpd24-httpd-selinux
パッケージは、mod_cluster
ポリシーを提供します。次の表には、提供されている SELinux ポリシーに関する情報が含まれています。
表3.1 RPM およびデフォルトの SELinux ポリシー
名前 | ポート情報 | ポリシー情報 |
---|---|---|
|
2 つのポート ( |
インストール後のスクリプトは、 |
関連情報
- Red Hat Enterprise Linux 7 での SELinux の使用に関する詳細は、RHEL 7 SELinux User's and Administrator's Guide を参照してください。
- Red Hat Enterprise Linux 8 での SELinux の使用に関する詳細は、 RHEL8 Using SELinux guide を参照してください。
3.8.2. Apache HTTP Server RPM インストールの SELinux ポリシーを有効化する
RPM パッケージから JBoss Core Services Apache HTTP Server をインストールすると、jbcs-httpd2.4-httpd-selinux
パッケージが Apache HTTP Server 用の SELinux ポリシーを提供します。jbcs-httpd2.4-httpd-selinux
パッケージは、jb-coreservices-1-for-rhel-7-server-rpms
および jb-coreservices-1-for-rhel-6-server-rpms
コンテンツ配信ネットワーク (CDN) リポジトリーで利用可能です。
手順
-
お使いの Red Hat Enterprise Linux バージョンの
jbcs-httpd2.4-httpd-selinux
パッケージをインストールします。
第4章 Microsoft Windows への JBoss Core Services Apache HTTP Server のインストール
Red Hat カスタマーポータルの Software Downloads ページからダウンロードできるアーカイブファイルのセットから、JBoss Core Services Apache HTTP Server を Microsoft Windows にインストールできます。
4.1. Microsoft Windows での Apache HTTP Server アーカイブファイルのダウンロードと展開
Red Hat カスタマーポータルの Software Downloads ページから、Apache HTTP Server アーカイブファイルをダウンロードすることができます。Software Downloads ページの Releases タブから、オリジナルの JBoss Core Services Apache HTTP Server 2.4.37 リリースのアーカイブファイルをダウンロードする必要があります。最新のサービスパックリリースがある場合は、Software Downloads ページの Security Advisories タブからダウンロードすることもできます。
目的のインストールフォルダーへの書き込みアクセス権があれば、root 以外の権限でアーカイブファイルをインストールできます。
前提条件
- ブラウザーを開き、Red Hat カスタマーポータルの Software Downloads ページにログインします。
- Product ドロップダウンメニューから、Apache HTTP Server を選択します。
- Version ドロップダウンメニューで、正しいバージョンの JBoss Core Services を選択します。
- Releases タブで、お使いのシステムのプラットフォームおよびアーキテクチャーに一致する Red Hat JBoss Core Services Apache HTTP Server アーカイブファイルの横にある Download をクリックします。
ダウンロードしたアーカイブファイルをインストールディレクトリーに展開します。
注記Microsoft Windows システムでは、Apache HTTP Server を
C:\Program Files
ディレクトリーにインストールします。アーカイブを展開すると、
jbcs-httpd24-2.4
ディレクトリーが作成されます。このディレクトリーは、Apache HTTP Server の最上位ディレクトリーです。本書では、jbcs-httpd24-2.4
ディレクトリーをHTTPD_HOME
と呼びます。最新のサービスパックリリースをインストールするには、次の手順を実行します。
- Software Downloads ページで、Security Advisories タブをクリックします。
Security Advisories タブで、お使いのシステムのプラットフォームとアーキテクチャーに一致する最新の Red Hat JBoss Core Services Apache HTTP Server Patch アーカイブファイルの横にある Download をクリックします。
たとえば、Microsoft Windows に Apache HTTP Server 2.4.37 の Service Pack 10 リリースをインストールする場合は、Red Hat JBoss Core Services Apache HTTP Server 2.4.37 Patch 10 for Windows Server x86_64 ファイルの横にある Download をクリックします。
注記サービスパックのリリースは累積的です。最新のサービスパックリリースをダウンロードすると、以前のサービスパックリリースも自動的にインストールされます。
4.2. Microsoft Windows での Apache HTTP Server の設定
Microsoft Windows に JBoss Core Services Apache HTTP Server をインストールすると、コマンドプロンプトから、または Computer Management Tool を使用して Apache HTTP Server を管理することができます。Microsoft Windows 上で Apache HTTP Server を実行する前に、以下の一連の設定作業を行う必要があります。
4.2.1. Microsoft Windows で Apache HTTP Server のインストール後のスクリプトを実行する
Microsoft Windows で Apache HTTP Server を初めて実行する前に、Apache HTTP Server のインストール後のスクリプトを実行する必要があります。
手順
- 管理ユーザーとして コマンドプロンプト を開きます。
-
HTTPD_HOME\etc
ディレクトリーに移動します。 以下のコマンドを入力します。
call postinstall.httpd.bat
4.2.2. Apache HTTP Server サービスのインストール
Microsoft Windows で Apache HTTP Server を初めて実行する前に、Apache HTTP Server を Windows サービスとしてインストールする必要があります。
デフォルトでは、Apache HTTP Server はポート 80 を使用するように設定されています。Microsoft Internet Information Services (IIS) がインストールされている場合は、ポートの競合を避けるために、Microsoft IIS を無効にするか、再設定する必要があります。
-
World Wide Web
サービスを停止し、Startup Type
をManual
に変更します。 - IIS を異なるポートを使用するように設定します。
または、Apache HTTP Server サービスをインストールする前に httpd.conf
を編集し、Listen
を IIS ポートと競合しないポートに変更することができます。
前提条件
手順
- 管理ユーザーとして コマンドプロンプト を開きます。
-
HTTPD_HOME\bin
ディレクトリーに移動します。 以下のコマンドを使用して、Apache HTTP Server サービスをインストールします。
httpd -k install
注記ファイアウォールセキュリティーダイアログが表示され、Apache HTTP Server のネットワークアクセスが要求される場合があります。Allow をクリックして、ネットワークからこのサービスにアクセスします。
4.2.3. Apache HTTP Server サービスのフォルダーパーミッションの設定
Microsoft Windows で Apache HTTP Server を初めて実行する前に、サービスを実行するために使用するアカウントが HTTPD_HOME
フォルダーとそのすべてのサブフォルダーを完全に制御できることを確認してください。
前提条件
手順
-
HTTPD_HOME
ディレクトリーを右クリックし、Properties をクリックします。 - Security タブを選択します。
- Edit ボタンをクリックします。
- Add ボタンをクリックします。
-
テキストボックスに
LOCAL SERVICE
を入力します。 -
LOCAL SERVICE
アカウントの Full Control チェックボックスを選択します。 - OK をクリックします。
- Advanced ボタンをクリックします。
- Advanced Security Settings ダイアログ内で LOCAL SERVICE を選択し、Edit をクリックします。
- Replace all existing inheritable permissions on all descendants with inheritable permissions from this object オプションの横にあるチェックボックスを選択します。
- 開いているすべてのフォルダープロパティーウィンドウで OK をクリックして設定を適用します。
4.2.4. SSL サポートの無効化または有効化
Apache HTTP Server を実行する前に、SSL 設定ファイルの名前を変更して、SSL サポートを無効または有効にすることを選択できます。Apache HTTP Server は、デフォルトで SSL をサポートします。
前提条件
手順
-
HTTPD_HOME\conf.d\
ディレクトリーに移動します。 SSL を有効または無効にするには、次のいずれかの手順を実行します。
-
SSL を無効にするには、
ssl.conf
の名前をssl.conf.disabled
に変更します。 -
SSL を再度有効にするには、
ssl.conf.disabled
の名前をssl.conf
に変更します。
-
SSL を無効にするには、
4.3. Microsoft Windows での Apache HTTP Server の起動
Microsoft Windows に JBoss Core Services Apache HTTP Server をインストールすると、コマンドプロンプトから、または Computer Management Tool を使用して Apache HTTP Server サービスを起動することができます。
前提条件
- Apache HTTP Server を設定 している。
手順
以下のいずれかの手順を実行します。
管理者としてコマンドプロンプトを開き、以下のコマンドを入力します。
net start Apache2.4
-
Start > Administrative Tools > Services をクリックし、
httpd
サービスを右クリックしてから、Start をクリックします。
4.4. Microsoft Windows での Apache HTTP Server の停止
Microsoft Windows に JBoss Core Services Apache HTTP Server をインストールすると、コマンドプロンプトから、または Computer Management Tool を使用して Apache HTTP Server サービスを停止することができます。
前提条件
- Apache HTTP Server を開始 している。
手順
以下のいずれかの手順を実行します。
管理者としてコマンドプロンプトを開き、以下のコマンドを入力します。
net stop Apache2.4
-
Start > Administrative Tools > Services をクリックし、
httpd
サービスを右クリックしてから、Stop をクリックします。
第5章 JBoss Core Services Apache HTTP Server の HTTP/2 の有効化
Hypertext Transfer Protocols (HTTP) は、インターネットを介して (サーバーやブラウザーなどの) アプリケーション間でデータを送信する標準的な方法です。Apache HTTP Server は、Transport Layer Security (TLS) を使用している暗号化接続のための HTTP/2 の使用をサポートしており、これは有効になっている場合に h2
キーワードで示されます。
HTTP/2 は、以下のような機能強化を提供し、HTTP/1.1 よりも改良されています。
- ヘッダー圧縮は、送信されるヘッダーのサイズを小さくするために、暗黙的な情報を省略します。
- 1 つの接続で複数の要求および応答がある場合、テキストフレームではなくバイナリーフレームを使用して応答メッセージを分割します。
Apache HTTP Server は、Transmission Control Protocol (TCP) を使用する暗号化されていない接続に対する HTTP/2 の使用をサポートしません。これは、有効になっている場合、h2c
キーワードで示されます。
Multi-Processing Module (MPM) のプリフォーク (modules/mod_mpm_prefork.so
) を使用している Web サーバーでは、HTTP/2 を利用することはできません。
5.1. 前提条件
- Red Hat Enterprise Linux の root ユーザーアクセス権を持っている。
- Windows Server で管理者アクセス権を持っている。
- Red Hat JBoss Core Services Apache HTTP Server 2.4.23 以降がインストールされている。
SSL モジュール (
modules/mod_ssl.so
) がインストールされている。SSL モジュールのインストールが必要な場合は、以下のコマンドを入力してください。
yum install mod_ssl
HTTP/2 モジュール (
modules/mod_http2.so
) をインストールしている。HTTP/2 モジュールをインストールする必要がある場合は、以下のコマンドを入力します。
yum install mod_http2
Red Hat Enterprise Linux 6 はサポートされなくなり、その後ドキュメントから削除されました。
5.2. Apache HTTP Server の HTTP/2 を有効化する
HTTP_HOME
ディレクトリーにある設定ファイルの設定を更新することで、Apache HTTP Server の HTTP/2 を有効にすることができます。
手順
http2_module
を設定に追加する場合は、以下を実行します。-
HTTP_HOME/conf.modules.d/00-base.conf
ファイルを開いてください。 次の行を入力します。
... LoadModule http2_module modules/mod_http2.so
-
h2
プロトコルを設定に追加する場合は、以下を実行します。-
HTTP_HOME/conf/httpd.conf
ファイルを開きます。 仮想ホストの HTTP/2 サポートを有効にするには
h2
プロトコルを仮想ホスト設定に追加します。また、すべてのサーバー接続で HTTP/2 サポートを有効にしたい場合は、メインのサーバー設定セクションに
h2
プロトコルを追加します。以下に例を示します。
<IfModule http2_module> Protocols h2 http/1.1 ProtocolsHonorOrder on </IfModule>
-
Secure Socket Layer (SSL) 設定を更新する場合は、以下を実行します。
-
HTTP_HOME/conf.d/ssl.conf
ファイルを開いてください。 SSLEngine
ディレクティブが enabled に設定されていることを確認します。SSL エンジンはデフォルトで有効になっています。SSLEngine on
SSLProtocol
ディレクティブを更新し、SSLv2
およびSSLv3
プロトコルを無効にします。これにより、接続には Transport Layer Security (TLS) が強制的に使用されます。SSLProtocol all -SSLv2 -SSLv3
SSLCipherSuite
ディレクティブを更新して、Apache HTTP Server で使用できる SSL 暗号を指定します。以下に例を示します。
SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!3DES:!MD5:!PSK
注記SSL モジュールとサポートされているディレクティブの詳細は、Apache HTTP Server Documentation Version 2.4 - Modules: Apache Module mod_ssl を参照してください。
-
Red Hat JBoss Core Services Apache HTTP Server を再起動し、変更した設定を適用するには、root ユーザーとして次のいずれかの手順を実行します。
systemd
を使用して Red Hat Enterprise Linux で Apache HTTP Server を起動する場合は、次のコマンドを入力します。# systemctl restart jbcs-httpd24-httpd.service
apachectl
を使用して Red Hat Enterprise Linux で Red Hat JBoss Core Services を起動する場合は、次のコマンドを入力します。# HTTP_HOME/sbin/apachectl restart
Windows Server で Apache HTTP Server を起動する場合は、次のコマンドを入力します。
# net restart Apache2.4
関連情報
- HTTP/2 モジュールとサポートされるディレクティブの詳細は、Apache HTTP Server Documentation Version 2.4 - Modules: Apache Module mod_http2 を参照してください。
- SSL モジュールとサポートされているディレクティブの詳細は、Apache HTTP Server Documentation Version 2.4 - Modules: Apache Module mod_ssl を参照してください。
5.3. Apache HTTP Server ログを表示して、HTTP/2 が有効化されていることを確認する
Apache HTTP Server のアクセスログまたは要求ログを表示して、HTTP/2 が有効化されていることを確認できます。
前提条件
- HTTP/2 を有効化 している。
手順
-
ブラウザーから、または
curl
コマンドラインツールを使用して、サーバーにアクセスします。 SSL/TLS 要求ログを確認するには、次のコマンドを入力します。
$ grep 'HTTP/2' HTTP_HOME/logs/ssl_request_log
SSL/TLS アクセスログを確認するには、次のコマンドを入力します。
$ grep 'HTTP/2' HTTP_HOME/logs/ssl_access_log
検証
HTTP/2 が有効になっている場合、
grep 'HTTP/2' HTTP_HOME/logs/ssl_request_log
コマンドは次のタイプの出力を生成します。[26/Apr/2018:06:44:45 +0000] 172.17.0.1 TLSv1.2 AES128-SHA "HEAD /html-single/index.html HTTP/2" -
HTTP/2 が有効になっている場合、
grep 'HTTP/2' HTTP_HOME/logs/ssl_access_log
コマンドは次のタイプの出力を生成します。172.17.0.1 - - [26/Apr/2018:06:44:45 +0000] "HEAD /html-single/index.html HTTP/2" 200 -
5.4. curl コマンドを使用して HTTP/2 が有効になっていることを確認する
curl
コマンドラインツールを使用して、HTTP/2 が有効化されていることを確認できます。
Red Hat Enterprise Linux 7 以前で提供される curl
パッケージは、HTTP/2 をサポートしていません。
前提条件
- HTTP/2 を有効化 している。
HTTP2
をサポートするバージョンのcurl
を使用している。HTTP/2 をサポートするバージョンの
curl
を使用していることを確認するには、次のコマンドを入力します。$ curl -V
このコマンドは、次のタイプの出力を生成します。
curl 7.55.1 (x86_64-redhat-linux-gnu) ... Release-Date: 2017-08-14 Protocols: dict file ftp ftps gopher http https ... Features: AsynchDNS IDN IPv6 Largefile GSS-API Kerberos SPNEGO NTLM NTLM_WB SSL libz TLS-SRP HTTP2 UnixSockets HTTPS-proxy Metalink PSL
手順
HTTP/2 プロトコルが有効であることを確認するには、以下のコマンドを入力します。
$ curl -I http://<JBCS_httpd_server>:<port>/<test.html>
注記上記の例で、
<JBCS_httpd_server>
をexample.com
などのサーバーの URI に、そして<test.html>
を設定のテストに使用したい任意の HTML ファイルに置き換えます。HTML のテストページのサンプルは提供されていません。ポート番号は設定によって異なります。
検証
HTTP/2 プロトコルが有効な場合、
curl
コマンドは次のような出力をします。HTTP/2 200
そうでなければ、HTTP/2 プロトコルが無効の場合、
curl
コマンドは次のような出力をします。HTTP/1.1 200
5.5. 関連情報 (または次の手順)
- HTTP/2 の使用に関する詳細は、Apache HTTP Server Documentation Version 2.4 - How-To / Tutorials: HTTP/2 guide を参照してください。
- SSL 設定の詳細は、Apache HTTP Server Documentation Version 2.4 - SSL/TLS Strong Encryption: How-To を参照してください。
- HTTP/2 向けに提案されるインターネット標準の詳細については、IETF: RFC 7540 - Hypertext Transfer Protocol Version 2 (HTTP/2) を参照してください。
Revised on 2023-01-07 19:23:46 +1000