Apache HTTP Server インストールガイド

Red Hat JBoss Core Services 2.4.37

Red Hat JBoss ミドルウェア製品との使用

概要

サポートされているオペレーティングシステムで Red Hat JBoss Core Services Apache HTTP Server をインストール、アップグレード、および設定します。

Red Hat ドキュメントへのフィードバック (英語のみ)

弊社の技術的な内容についてのフィードバックに感謝します。ご意見をお聞かせください。コメントの追加、Insights の提供、誤字の修正、および質問を行う必要がある場合は、ドキュメントで直接行うこともできます。

注記

Red Hat アカウントがあり、カスタマーポータルにログインしている必要があります。

カスタマーポータルからドキュメントのフィードバックを送信するには、以下の手順を実施します。

  1. Multi-page HTML 形式を選択します。
  2. ドキュメントの右上にある Feedback ボタンをクリックします。
  3. フィードバックを提供するテキストのセクションを強調表示します。
  4. ハイライトされたテキストの横にある Add Feedback ダイアログをクリックします。
  5. ページの右側のテキストボックスにフィードバックを入力し、送信 をクリックします。

フィードバックを送信すると、自動的に問題の追跡が作成されます。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_jkmod_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 オペレーティングシステムをサポートします。

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 リリースにアップグレードできます。

アップグレードプロセスには、以下の手順が含まれます。

  1. Apache HTTP Server 2.4.37 のインストール
  2. Apache HTTP Server 2.4.37 の設定
  3. 以前のバージョンの Apache HTTP Server の削除

前提条件

  • Windows Server で管理者アクセス権を持っている。
  • .zip アーカイブから JBoss Core Services Apache HTTP Server 2.4.29 以前がインストールされているシステムを使用している。

手順

  1. Apache HTTP Server 2.4.29 の実行中のインスタンスをすべてシャットダウンします。
  2. Apache HTTP Server 2.4.29 のインストールファイルと設定ファイルをバックアップします。
  3. 現在のシステムの .zip インストール方法を使用して、Apache HTTP Server 2.4.37 をインストールします。詳細は、このセクションの最後にある 関連情報 を参照してください。
  4. 設定を 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 など) の設定ファイルで上書きするのではなく、更新してください。

  5. 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 以外の権限でアーカイブファイルをインストールできます。

前提条件

  • elinkskrb5-workstation、および mailcap パッケージがインストールされている。

    これらのパッケージをインストールする場合は、root ユーザーとして次のコマンドを入力します。

    # yum install elinks krb5-workstation mailcap

手順

  1. ブラウザーを開き、Red Hat カスタマーポータルの Software Downloads ページにログインします。
  2. Product ドロップダウンメニューから、Apache HTTP Server を選択します。
  3. Version ドロップダウンメニューで、正しいバージョンの JBoss Core Services を選択します。
  4. 使用している RHEL バージョンに応じて、以下のいずれかの手順を実行します。

    1. RHEL 7 を使用している場合は、Releases タブで、お使いのシステムのプラットフォームおよびアーキテクチャーに一致する Red Hat JBoss Core Services Apache HTTP Server アーカイブファイルの横にある Download をクリックします。
    2. 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 をインストールするためのベースアーカイブファイルです。

  5. ダウンロードしたアーカイブファイルをインストールディレクトリーに展開します。

    注記

    Red Hat Enterprise Linux システムでは、Apache HTTP Server を /opt/ ディレクトリーにインストールします。

    アーカイブを展開すると、jbcs-httpd24-2.4/httpd ディレクトリーが作成されます。このディレクトリーは、Apache HTTP Server の最上位ディレクトリーです。本書では、jbcs-httpd24-2.4/httpd ディレクトリーを HTTPD_HOME と呼びます。

  6. 最新のサービスパックリリースがある場合は、次の手順を実行してインストールします。

    1. Software Downloads ページで、Security Advisories タブをクリックします。
    2. 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 ユーザーとして実行する必要があります。

手順

  1. コマンドラインで、HTTPD_HOME ディレクトリーに移動します。
  2. 以下のコマンドを実行して apache ユーザーグループを作成します。

    # groupadd -g 48 -r apache
  3. 以下のコマンドを実行して、apache ユーザーグループに apache ユーザーを作成します。

    # /usr/sbin/useradd -c "Apache" -u 48 -g apache -s /sbin/nologin -r apache
  4. 以下のコマンドを実行して、Apache ディレクトリーの所有権を apache ユーザーに割り当てます。

    # chown -R apache:apache *

検証

  1. 以下のコマンドを実行して、apache ユーザーがディレクトリーの所有者であることを確認します。

    # ls -l

2.2.2. SSL サポートの無効化または有効化

Apache HTTP Server を実行する前に、SSL 設定ファイルの名前を変更して、SSL サポートを無効または有効にすることを選択できます。Apache HTTP Server は、デフォルトで SSL をサポートします。

手順

  1. HTTPD_HOME/conf.d/ ディレクトリーに移動します。
  2. SSL を有効または無効にするには、次のいずれかの手順を実行します。

    • SSL を無効にするには、ssl.conf の名前を ssl.conf.disabled に変更します。
    • SSL を再度有効にするには、ssl.conf.disabled の名前を ssl.conf に変更します。

2.2.3. Apache HTTP Server のインストール後のスクリプトを実行する

コマンドラインから Apache HTTP Server を初めて実行する前に、Apache HTTP Server のインストール後のスクリプトを実行する必要があります。

手順

  1. コマンドラインで、HTTPD_HOME ディレクトリーに移動します。
  2. 以下のコマンドを入力します。

     ./.postinstall

2.3. アーカイブファイルからインストールした場合のコマンドラインからの Apache HTTP Server の起動

Red Hat Enterprise Linux でアーカイブファイルから JBoss Core Services Apache HTTP Server をインストールすると、コマンドラインから直接 Apache HTTP Server を起動できるようになります。

手順

  1. コマンドラインで、HTTPD_HOME/sbin/ ディレクトリーに移動します。
  2. root ユーザーとして以下のコマンドを実行します。

     ./apachectl start

2.4. アーカイブファイルからインストールした場合のコマンドラインからの Apache HTTP Server の停止

Red Hat Enterprise Linux でアーカイブファイルから JBoss Core Services Apache HTTP Server をインストールすると、Apache HTTP Server の実行中のインスタンスをコマンドラインから直接停止することができます。

前提条件

手順

  1. コマンドラインで、HTTPD_HOME/sbin/ ディレクトリーに移動します。
  2. root ユーザーとして以下のコマンドを実行します。

     ./apachectl stop

2.5. root アクセスなしでコマンドラインから Apache HTTP Server を実行する

Red Hat Enterprise Linux でアーカイブファイルから JBoss Core Services Apache HTTP Server をインストールすると、apache ユーザーなどの root アクセスを持たないユーザーとしてコマンドラインから直接 Apache HTTP Server を起動できるようになります。

手順

  1. Apache HTTP Server のすべてのインスタンスを停止します。
  2. http リッスンポートを 1024 より大きい値に設定します。

    Listen 2080
    ServerName <hostname>:2080
  3. https リッスンポートを 1024 より大きい値に設定します。

    Listen 2443
  4. 所有権を変更します。
  5. 実行 の所有権を変更します。
  6. 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 はサポートされなくなり、その後ドキュメントから削除されました。

前提条件

手順

  1. 実行中のシステムデーモンを特定するには、次のコマンドを入力します。

    $ ps -p 1 -o comm=

    systemd が実行されている場合、次の出力が表示されます。

    systemd
  2. systemd 用に Apache HTTP Server をセットアップするには、root ユーザーとして .postinstall.systemd スクリプトを実行します。

    # cd HTTPD_HOME
    # sh httpd/.postinstall.systemd
  3. 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

関連情報

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 ポリシー

名前ポート情報ポリシー情報

mod_cluster

2 つのポート (TCP6666UDP23364) は、httpd プロセスが使用できるように httpd_port_t に追加されます。

インストール後のスクリプトは、/var/cache/mod_cluster のコンテキストマッピングを設定し、httpd プロセスがこの場所に書き込みできるようにします。

関連情報

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 ランタイムに必要なファイルとディレクトリーにのみアクセスできるようにします。

手順

  1. selinux-policy-devel パッケージをインストールします。

    yum install -y selinux-policy-devel
  2. .postinstall.selinux スクリプトを実行します。

    cd <httpd_home>
    sh .postinstall.selinux
  3. SELinux モジュールを作成してインストールします。

    cd <httpd_home>/selinux/
    make -f /usr/share/selinux/devel/Makefile
    semodule -i jbcs-httpd24-httpd.pp
  4. Apache HTTP Server の SELinux コンテキストを適用します。

    restorecon -r <httpd_home>
  5. Apache HTTP Server に必要なポートへのアクセスパーミッションを追加します。

    semanage port -a -t http_port_t -p tcp 6666
    semanage port -a -t http_port_t -p udp 23364
  6. Apache HTTP Server サービスを起動します。

    <httpd_home>/sbin/apachectl start
  7. httpd_t が予想される実行中のプロセスのコンテキストを確認します。

    $ ps -eZ | grep httpd | head -n1
    
    unconfined_u:unconfined_r:httpd_t:s0-s0:c0.c1023 2864 ? 00:00:00 httpd
  8. 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 リポジトリーを提供していることを確認することができます。

手順

  1. Red Hat Subscription Management Web ページにログインします。
  2. System タブをクリックします。
  3. サブスクリプションを追加するシステムの Name をクリックします。
  4. Details タブから Subscriptions タブに移動してから、Attach Subscriptions をクリックします。
  5. アタッチするサブスクリプションの横にあるチェックボックスをオンにしてから、Attach Subscriptions をクリックします。

検証

  1. Red Hat サブスクリプション Web ページにログインします。
  2. Subscription Name 列で、選択するサブスクリプションをクリックします。
  3. Products Provided の下では、Red Hat JBoss Core Services が必要です。

関連情報

3.2. YUM を使用した RPM パッケージからの Apache HTTP Server のインストール

YUM パッケージマネージャーを使用して、Apache HTTP Server を RPM パッケージから Red Hat Enterprise Linux にインストールできます。

手順

  1. お使いのオペレーティングシステムのバージョンに対応した 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 に置き換えてください。

  2. 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_jkmod_clustermod_rt、および mod_bmx モジュールをインストールすることができます。

手順

  1. httpd をインストールするには、root ユーザーとして次のコマンドを入力します。

    $ yum install httpd
  2. mod_jkmod_clustermod_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_jkmod_clustermod_rt、および mod_bmx などの JBCS モジュールは、現在 /opt/rh/jbcs/root/usr/lib64/httpd/modules ディレクトリーに配置されています。これらの JBCS モジュールは、命名、ディレクトリー、接頭辞に関するすべての JBCS ルールに従っています。

  3. これらのモジュールを使用するには、次のいずれかの手順を実行します。

    • 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 ポリシー

名前ポート情報ポリシー情報

mod_cluster

2 つのポート (TCP6666UDP23364) は、httpd プロセスが使用できるように httpd_port_t に追加されます。

インストール後のスクリプトは、/var/cache/mod_cluster のコンテキストマッピングを設定し、httpd プロセスがこの場所に書き込みできるようにします。

関連情報

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 以外の権限でアーカイブファイルをインストールできます。

前提条件

  1. ブラウザーを開き、Red Hat カスタマーポータルの Software Downloads ページにログインします。
  2. Product ドロップダウンメニューから、Apache HTTP Server を選択します。
  3. Version ドロップダウンメニューで、正しいバージョンの JBoss Core Services を選択します。
  4. Releases タブで、お使いのシステムのプラットフォームおよびアーキテクチャーに一致する Red Hat JBoss Core Services Apache HTTP Server アーカイブファイルの横にある Download をクリックします。
  5. ダウンロードしたアーカイブファイルをインストールディレクトリーに展開します。

    注記

    Microsoft Windows システムでは、Apache HTTP Server を C:\Program Files ディレクトリーにインストールします。

    アーカイブを展開すると、jbcs-httpd24-2.4 ディレクトリーが作成されます。このディレクトリーは、Apache HTTP Server の最上位ディレクトリーです。本書では、jbcs-httpd24-2.4 ディレクトリーを HTTPD_HOME と呼びます。

  6. 最新のサービスパックリリースをインストールするには、次の手順を実行します。

    1. Software Downloads ページで、Security Advisories タブをクリックします。
    2. 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 のインストール後のスクリプトを実行する必要があります。

手順

  1. 管理ユーザーとして コマンドプロンプト を開きます。
  2. HTTPD_HOME\etc ディレクトリーに移動します。
  3. 以下のコマンドを入力します。

    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 TypeManual に変更します。
  • IIS を異なるポートを使用するように設定します。

または、Apache HTTP Server サービスをインストールする前に httpd.conf を編集し、Listen を IIS ポートと競合しないポートに変更することができます。

手順

  1. 管理ユーザーとして コマンドプロンプト を開きます。
  2. HTTPD_HOME\bin ディレクトリーに移動します。
  3. 以下のコマンドを使用して、Apache HTTP Server サービスをインストールします。

    httpd -k install
    注記

    ファイアウォールセキュリティーダイアログが表示され、Apache HTTP Server のネットワークアクセスが要求される場合があります。Allow をクリックして、ネットワークからこのサービスにアクセスします。

4.2.3. Apache HTTP Server サービスのフォルダーパーミッションの設定

Microsoft Windows で Apache HTTP Server を初めて実行する前に、サービスを実行するために使用するアカウントが HTTPD_HOME フォルダーとそのすべてのサブフォルダーを完全に制御できることを確認してください。

手順

  1. HTTPD_HOME ディレクトリーを右クリックし、Properties をクリックします。
  2. Security タブを選択します。
  3. Edit ボタンをクリックします。
  4. Add ボタンをクリックします。
  5. テキストボックスに LOCAL SERVICE を入力します。
  6. LOCAL SERVICE アカウントの Full Control チェックボックスを選択します。
  7. OK をクリックします。
  8. Advanced ボタンをクリックします。
  9. Advanced Security Settings ダイアログ内で LOCAL SERVICE を選択し、Edit をクリックします。
  10. Replace all existing inheritable permissions on all descendants with inheritable permissions from this object オプションの横にあるチェックボックスを選択します。
  11. 開いているすべてのフォルダープロパティーウィンドウで OK をクリックして設定を適用します。

4.2.4. SSL サポートの無効化または有効化

Apache HTTP Server を実行する前に、SSL 設定ファイルの名前を変更して、SSL サポートを無効または有効にすることを選択できます。Apache HTTP Server は、デフォルトで SSL をサポートします。

手順

  1. HTTPD_HOME\conf.d\ ディレクトリーに移動します。
  2. SSL を有効または無効にするには、次のいずれかの手順を実行します。

    • SSL を無効にするには、ssl.conf の名前を ssl.conf.disabled に変更します。
    • SSL を再度有効にするには、ssl.conf.disabled の名前を ssl.conf に変更します。

4.3. Microsoft Windows での Apache HTTP Server の起動

Microsoft Windows に JBoss Core Services Apache HTTP Server をインストールすると、コマンドプロンプトから、または Computer Management Tool を使用して 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 サービスを停止することができます。

前提条件

手順

  • 以下のいずれかの手順を実行します。

    • 管理者としてコマンドプロンプトを開き、以下のコマンドを入力します。

      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 を有効にすることができます。

手順

  1. http2_module を設定に追加する場合は、以下を実行します。

    1. HTTP_HOME/conf.modules.d/00-base.conf ファイルを開いてください。
    2. 次の行を入力します。

      ...
      LoadModule http2_module modules/mod_http2.so
  2. h2 プロトコルを設定に追加する場合は、以下を実行します。

    1. HTTP_HOME/conf/httpd.conf ファイルを開きます。
    2. 仮想ホストの HTTP/2 サポートを有効にするには h2 プロトコルを仮想ホスト設定に追加します。

      また、すべてのサーバー接続で HTTP/2 サポートを有効にしたい場合は、メインのサーバー設定セクションに h2 プロトコルを追加します。

      以下に例を示します。

      <IfModule http2_module>
          Protocols h2 http/1.1
          ProtocolsHonorOrder on
      </IfModule>
  3. Secure Socket Layer (SSL) 設定を更新する場合は、以下を実行します。

    1. HTTP_HOME/conf.d/ssl.conf ファイルを開いてください。
    2. SSLEngine ディレクティブが enabled に設定されていることを確認します。SSL エンジンはデフォルトで有効になっています。

      SSLEngine on
    3. SSLProtocol ディレクティブを更新し、SSLv2 および SSLv3 プロトコルを無効にします。これにより、接続には Transport Layer Security (TLS) が強制的に使用されます。

      SSLProtocol all -SSLv2 -SSLv3
    4. 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 を参照してください。

  4. 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

関連情報

5.3. Apache HTTP Server ログを表示して、HTTP/2 が有効化されていることを確認する

Apache HTTP Server のアクセスログまたは要求ログを表示して、HTTP/2 が有効化されていることを確認できます。

前提条件

手順

  1. ブラウザーから、または curl コマンドラインツールを使用して、サーバーにアクセスします。
  2. SSL/TLS 要求ログを確認するには、次のコマンドを入力します。

    $ grep 'HTTP/2'  HTTP_HOME/logs/ssl_request_log
  3. SSL/TLS アクセスログを確認するには、次のコマンドを入力します。

    $ grep 'HTTP/2'  HTTP_HOME/logs/ssl_access_log

検証

  1. 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" -
  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

手順

  1. 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. 関連情報 (または次の手順)





Revised on 2023-01-07 19:23:46 +1000