Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

第14章 Web サーバー

Web サーバー は、Web 経由でクライアントにコンテンツを提供するネットワークサービスです。これは通常 Web ページを指しますが、他のドキュメントも当てはまります。Web サーバーは、ハイパーテキスト転送プロトコル (HTTP) を使用するため、HTTP サーバーとも呼ばれます。

Red Hat Enterprise Linux 7 で利用可能な Web サーバーは以下のとおりです。

  • Apache HTTP サーバー
  • nginx
重要

nginx web サーバーは、Red Hat Enterprise Linux 7 の Software Collection としてのみ利用できます。nginx へのアクセス方法や、Software Collections などの使用方法は Red Hat Software Collections のリリースノートを参照してください。

14.1. Apache HTTP サーバー

本セクションでは、Apache HTTP Server 2.4httpd を説明します。これは、Apache Software Foundation により開発されたオープンソースの Web サーバーです。

Red Hat Enterprise Linux の以前のリリースからアップグレードする場合は、適切に httpd サービス設定を更新する必要があります。本セクションでは、新たに追加された機能のいくつか、Apache HTTP Server 2.4 とバージョン 2.2 の重要な違い、古い設定ファイルの更新方法について説明します。

14.1.1. 主な変更点

Red Hat Enterprise Linux 6 と比較して Red Hat Enterprise Linux 7 の Apache HTTP Server には以下の変更があります。

httpd サービスの制御

SysV init スクリプトからの移行に伴い、サーバー管理者は service コマンドの代わりに apachectl コマンドと systemctl コマンドを使用してサービスを制御することが推奨されます。以下の例は、httpd サービスに固有です。

コマンド:

service httpd graceful

は以下に置き換えられます。

apachectl graceful

httpd 用の systemd ユニットファイルは、以下のように init スクリプトと異なる動作を持ちます。

  • サービスがリロードすると、デフォルトで正常な再起動が使用されます。
  • サービスが停止すると、デフォルトで正常な停止が使用されます。

    コマンド:

    service httpd configtest

    は以下に置き換えられます。

    apachectl configtest
プライベート /tmp
システムのセキュリティーを高めるため、systemd ユニットファイルは、プライベートの /tmp ディレクトリーを使用して httpd デーモンを実行します。これは、システムの /tmp ディレクトリーとは別のものです。
設定レイアウト

モジュールをロードする設定ファイルは、/etc/httpd/conf.modules.d/ ディレクトリーにあります。このディレクトリーには、php など、追加でロードできる httpd 用モジュールを提供するパッケージによりファイルが配置されます。/etc/httpd/conf/httpd.conf ファイルのメインセクションの前に置かれた Include ディレクティブは、/etc/httpd/conf.modules.d/ ディレクトリー内にファイルを追加するために使用されます。つまり、conf.modules.d/ にある設定ファイルはすべて、httpd.conf のメインセクションが処理される前に処理されます。/etc/httpd/conf.d/ ディレクトリーのファイルに対する IncludeOptional ディレクティブは、httpd.conf ファイルの最後に配置されます。したがって、/etc/httpd/conf.d/ 内のファイルは、httpd.conf のセクションが処理されてから処理されます。

そのほかにも、httpd パッケージが設定ファイルをいくつか提供しています。

  • /etc/httpd/conf.d/autoindex.conf: これは mod_autoindex ディレクトリーのインデックス作成を設定します。
  • /etc/httpd/conf.d/userdir.conf: これにより、http://example.com/~username/ などのユーザーディレクトリーへのアクセスが設定されます。このようなアクセスは、セキュリティー上の理由からデフォルトでは無効になっています。
  • /etc/httpd/conf.d/welcome.conf: 以前のリリースと同様に、コンテンツがない場合に http://localhost/ に表示されるウェルカムページが設定されます。
デフォルト設定
最小限の httpd.conf ファイルがデフォルトで提供されるようになりました。TimeoutKeepAlive といった一般的な設定の多くは、デフォルトで明示的に設定されることはなくなり、ハードコーディングされるようになります。このハードコーディングされた全設定ディレクティブ用のデフォルト設定は、マニュアルに記載されています。詳細は、「インストール可能なドキュメント」 を参照してください。
互換性がない構文の変更
既存の設定を httpd 2.2 から httpd 2.4 に移行する場合は、httpd 設定の構文に後方互換性がない変更が含まれるため、変更が必要になります。http://httpd.apache.org/docs/2.4/upgrading.html のアップグレードに関する詳細は、以下の Apache ドキュメントを参照してください。
処理モデル

Red Hat Enterprise Linux の以前のリリースでは、さまざまな マルチプロセスモデル (MPM) が、さまざまなな httpd バイナリーとして利用できていました。つまり、分岐モデルの prefork を /usr/sbin/httpd として、またスレッドベースのモデルである worker を /usr/sbin/httpd.worker としてしました。

Red Hat Enterprise Linux 7 では、単独の httpd バイナリーのみが使われ、3 つの MPM はロード可能なモジュール (worker、prefork (デフォルト)、および event) として利用可能です。必要に応じて、コメント文字 # を追加および削除して 3 つの MPM モジュールの 1 つだけがロードされるよう設定ファイル /etc/httpd/conf.modules.d/00-mpm.conf を編集します。

パッケージ変更

LDAP 認証および承認の各モジュールは、個別のサブパッケージ mod_ldap で提供されています。新たなモジュール mod_session と関連のヘルパーモジュールは、新しいサブパッケージ mod_session で提供されています。新しいモジュールの mod_proxy_htmlmod_xml2enc は、新しいサブパッケージ mod_proxy_html で提供されています。これらのパッケージはすべて Optional チャンネルにあります。

注記

Optional および Supplementary チャンネルをサブスクライブする前に、対象範囲の詳細 を参照してください。これらのチャンネルからパッケージをインストールする場合は、Red Hat カスタマーポータルの記事 証明書ベースの管理を使用して、Optional および Supplementary チャンネル、-devel パッケージにアクセスする方法 で説明されている手順を行ってください。

ファイルシステムのレイアウトのパッケージ

/var/cache/mod_proxy/ ディレクトリーは提供されなくなりました。代わりに、/var/cache/httpd/ ディレクトリーが proxy サブディレクトリーおよび ssl サブディレクトリーとパッケージ化されています。

httpd で提供されていたパッケージ化されたコンテンツは、/var/www/ から /usr/share/httpd/ に移動しています。

  • /usr/share/httpd/icons/: ディレクトリーインデックスで使用されるアイコンセットを含むディレクトリーは、(以前の /var/www/icons/ ディレクトリーから) /usr/share/httpd/icons/ に変更になりました。デフォルト設定では http://localhost/icons/ で利用可能です。アイコンの場所と利用可能性は、/etc/httpd/conf.d/autoindex.conf ファイルで設定可能です。
  • /usr/share/httpd/manual/: /var/www/manual//usr/share/httpd/manual/ に変更になりました。httpd-manual パッケージに含まれるこのディレクトリーには httpd の HTML バージョンのマニュアルが含まれます。このパッケージがインストールされている場合は http://localhost/manual/ で利用できます。マニュアルの場所と利用可能性は /etc/httpd/conf.d/manual.conf ファイルで設定可能です。
  • usr/share/httpd/error/: /var/www/error//usr/share/httpd/error/ に移動しました。カスタムの複数言語の HTTP エラーページです。デフォルトでは設定されておらず、設定ファイルの例は /usr/share/doc/httpd-VERSION/httpd-multilang-errordoc.conf で提供されています。
認証、認可、およびアクセス制御
認証、認可、およびアクセス制御に使用される設定ディレクティブは、大幅に変更されました。OrderDeny、および Allow の各ディレクティブを使用している既存の設定ファイルは、新たな Require 構文を使うようにしてください。詳細は、以下の Apache ドキュメントを参照してください。http://httpd.apache.org/docs/2.4/howto/auth.html
suexec
システムのセキュリティーを改善するために、suexec バイナリーは、root ユーザーと同じようにインストールされなくなりました。代わりに、より限定的なパーミッションセットを可能にするファイルシステムのケイパビリティーセットがあります。この変更に加えて、suexec バイナリーは /var/log/httpd/suexec.log ログファイルを使用しなくなりました。代わりに、ログメッセージは syslog に送信されます。デフォルトでは、これらのメッセージは /var/log/secure ログファイルに表示されます。
モジュールインターフェイス

httpd モジュールインターフェイスが変更したため、httpd 2.2 に対して構築されたサードパーティーのバイナリーモジュールは、httpd 2.4 と互換性がありません。これらのモジュールは、必要に応じて httpd 2.4 モジュールインターフェイス用に調整し、再構築する必要があります。バージョン 2.4 の API の変更点の詳細リストは、http://httpd.apache.org/docs/2.4/developer/new_api_2_4.html を参照してください。

ソースからのモジュール構築に使用される apxs バイナリーは、/usr/sbin/apxs および /usr/bin/apxs に移動しました。

削除されたモジュール

Red Hat Enterprise Linux 7 で削除された httpd モジュールのリスト:

mod_auth_mysql, mod_auth_pgsql
httpd 2.4 は、mod_authn_dbd モジュールで SQL データベース認証サポートを内部で提供します。
mod_perl
mod_perl では、アップストリームにより httpd 2.4 が公式にサポートされていません。
mod_authz_ldap
httpd 2.4 では、mod_authnz_ldap を使用してサブパッケージ mod_ldap の LDAP サポートが提供されます。

14.1.2. 設定の更新

Apache HTTP サーバーバージョン 2.2 の設定ファイルを更新するには、以下の手順を行います。

  1. モジュールは変更されている可能性があるため、すべてのモジュール名が正しいことを確認してください。名前が変更された各モジュールの LoadModule ディレクティブを調整します。
  2. サードパーティーのモジュールは、読み込みを試みる前にすべて再コンパイルをします。これは一般的に認証と権限付与のモジュールに該当します。
  3. mod_userdir モジュールを使用する場合は、ディレクトリー名 (通常は public_html) を示す UserDir ディレクティブが指定されていることを確認してください。
  4. Apache HTTP Secure Server を使用する場合は、Secure Sockets Layer (SSL) プロトコルの有効化に関する重要な情報について 「mod_ssl モジュールの有効化」 を参照してください。

以下のコマンドを使用すると、設定エラーを確認できます。

~]# apachectl configtest
Syntax OK

Apache HTTP サーバーの設定をバージョン 2.2 から 2.4 に更新する方法は http://httpd.apache.org/docs/2.4/upgrading.html を参照してください。

14.1.3. httpd サービスの実行

本セクションでは、Apache HTTP Server の起動、停止、再起動、および現在のステータスの確認を行う方法を説明します。httpd サービスを使用するには、httpd パッケージがインストールされていることを確認します。これを行うには、次のコマンドを使用します。

~]# yum install httpd

ターゲットの概念と Red Hat Enterprise Linux 内のシステムサービスの管理方法全般の詳細は、10章systemd によるサービス管理 を参照してください。

14.1.3.1. サービスの起動

httpd サービスを実行する場合は、root で次のコマンドを実行します。

~]# systemctl start httpd.service

システムの起動時にサービスを自動的に起動するようにするには、以下のコマンドを使用します。

~]# systemctl enable httpd.service
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
注記

Apache HTTP サーバーをセキュアサーバーとして実行している場合は、暗号化したプライベートの SSL キーを使用すると、マシンが起動した後にパスワードが要求される可能性があります。

14.1.3.2. サービスの停止

実行中の httpd サービスを停止するには、root で次のコマンドを実行します。

~]# systemctl stop httpd.service

システムの起動時にサービスが自動的に起動しないようにするには、以下を入力します。

~]# systemctl disable httpd.service
Removed symlink /etc/systemd/system/multi-user.target.wants/httpd.service.

14.1.3.3. サービスの再起動

実行中の httpd サービスを再起動する方法は、3 通りあります。

  1. サービスを完全に再起動するには、root で次のコマンドを入力します。

    ~]# systemctl restart httpd.service

    これにより、稼働中の httpd サービスが停止し、すぐに再起動します。このコマンドは、PHP など、動的に読み込んだモジュールをインストールまたは削除した後に使用します。

  2. 設定のリロードだけを行うには、root で以下のコマンドを入力します。

    ~]# systemctl reload httpd.service

    これにより、実行中の httpd サービスが、設定ファイルを再読み込みします。現在処理中の要求はいずれも割り込みされるので、クライアントのブラウザーがエラーメッセージを表示したり、ページの一部のみが表示される可能性があります。

  3. アクティブな要求に影響を与えずに設定を再読み込みするには、root で次のコマンドを入力します。

    ~]# apachectl graceful

    これにより、実行中の httpd サービスが、設定ファイルを再読み込みします。現在処理中のリクエストは、引き続き古い設定を使用します。

Red Hat Enterprise Linux 7 でシステムサービスを管理する方法は、10章systemd によるサービス管理 を参照してください。

14.1.3.4. サービスステータスの確認

httpd サービスが実行していることを確認するには、シェルプロンプトで以下を入力します。

~]# systemctl is-active httpd.service
active

14.1.4. 設定ファイルの編集

httpd サービスが起動すると、デフォルトでは、表14.1「httpd サービスの設定ファイル」 にリスト表示されている場所から設定が読み込まれます。

表14.1 httpd サービスの設定ファイル

パス詳細

/etc/httpd/conf/httpd.conf

主要設定ファイル。

/etc/httpd/conf.d/

主要設定ファイル内に含まれている設定ファイル用の補助ディレクトリー。

デフォルト設定はほとんどの状況に適していますが、重要な設定オプションをいくつか知っておくと役に立ちます。変更を有効にするには、web サーバーを再起動する必要があることに注意してください。httpd サービスを再起動する方法は、「サービスの再起動」 を参照してください。

設定に誤りがないことを確認するには、シェルプロンプトで以下のコマンドを実行します。

~]# apachectl configtest
Syntax OK

ファイルの変更に失敗してもすぐにやり直せるように、ファイルを編集する前にコピーを作成しておくことを推奨します。

14.1.5. モジュールの使用

httpd サービスは、モジュールアプリケーションであるため、多数の Dynamic Shared Objects (DSO) と一緒に配布されます。これは、必要に応じてランタイム時に、動的に読み込まれたり、読み込みが破棄されたりします。Red Hat Enterprise Linux 7 では、これらのモジュールは /usr/lib64/httpd/modules/ 内にあります。

14.1.5.1. モジュールの読み込み

特定の DSO モジュールを読み込むには、LoadModule ディレクティブを使用します。個別のパッケージで提供されるモジュールでは多くの場合、設定ファイルが /etc/httpd/conf.d/ ディレクトリーにあることに注意してください。

例14.1 mod_ssl DSO の読み込み

LoadModule ssl_module modules/mod_ssl.so

操作が終了したら、Web サーバーを再起動して設定を再読み込みします。httpd サービスを再起動する方法は、「サービスの再起動」 を参照してください。

14.1.5.2. モジュールの作成

新たに DSO モジュールを作成する場合は、httpd-devel パッケージがインストールされていることを確認してください。これを行うには、root で以下のコマンドを実行します。

~]# yum install httpd-devel

このパッケージには、モジュールをコンパイルするために必要なインクルードファイル、ヘッダーファイル、および APache eXtenSion (apxs) ユーティリティーが含まれます。

作成したら、以下のコマンドでモジュールを構築できます。

~]# apxs -i -a -c module_name.c

ビルドが成功すると、Apache HTTP Server で配布されるその他のモジュールと同じ方法でモジュールを読み込むことができます。

14.1.6. 仮想ホストの設定

Apache HTTP Server に組み込まれている仮想ホストを使用すると、どの IP アドレス、ホスト名、またはポートが要求されているかに基づいて、サーバーが異なる情報を提供できます。

名前ベースの仮想ホストを作成するには、まず設定ファイルの例である /usr/share/doc/httpd-VERSION/httpd-vhosts.conf/etc/httpd/conf.d/ ディレクトリーにコピーし、@@Port@@@@ServerRoot@@ のプレースホルダーの値を置き換えます。例14.2「仮想ホストの設定例」 に従って、要件に応じてオプションをカスタマイズします。

例14.2 仮想ホストの設定例

<VirtualHost *:80>
  ServerAdmin webmaster@penguin.example.com
  DocumentRoot "/www/docs/penguin.example.com"
  ServerName penguin.example.com
  ServerAlias www.penguin.example.com
  ErrorLog "/var/log/httpd/dummy-host.example.com-error_log"
  CustomLog "/var/log/httpd/dummy-host.example.com-access_log" common
</VirtualHost>

ServerName は、マシンに割り当てられた有効な DNS 名を指定する必要があることに注意してください。<VirtualHost> コンテナーは高度なカスタマイズが可能で、メインサーバーの設定で利用可能なディレクティブのほとんどを使用できます。このコンテナーで対応して いない ディレクティブには、SuexecUserGroup に置き換えられた User および Group が含まれます。

注記

仮想ホストがデフォルト以外のポートをリッスンするように設定している場合は、それに応じて /etc/httpd/conf/httpd.conf ファイルのグローバル設定セクションの Listen ディレクティブを必ず更新してください。

新規に作成された仮想ホストをアクティブ化するには、Web サーバーを再起動する必要があります。httpd サービスを再起動する方法は、「サービスの再起動」 を参照してください。

14.1.7. SSL サーバーの設定

Secure Sockets Layer (SSL) は、サーバーとクライアントが安全に接続できるようにする暗号化プロトコルです。Transport Layer Security (TLS) と呼ばれる拡張され改善されたバージョンとともに、プライバシーとデータの整合性の両方が確保されます。Apache HTTP Server を mod_ssl と組み合わせて、OpenSSL ツールキットを使用して SSL/TLS サポートを提供するモジュールは、SSL サーバー と呼ばれます。Red Hat Enterprise Linux は、TLS 実装としての Mozilla NSS の使用もサポートします。Mozilla NSS のサポートは mod_nss モジュールにより提供されます。

傍受できる人であればだれでも読み取りや修正が可能な HTTP 接続とは異なり、HTTPS と呼ばれる SSL/TLS over HTTP の使用により、送信したコンテンツの検査や修正が阻止されます。本セクションでは、Apache HTTP Server 設定内でこのモジュールを有効にする基本的な方法と、秘密鍵と自己署名の証明書の生成プロセスを説明します。

14.1.7.1. 証明書およびセキュリティーの概要

通信の安全性は、鍵の使用により確保されます。従来の暗号または 対称暗号 では、トランザクションの両端に、相互に送信をデコードするのに使用する鍵と同じ鍵があります。一方、公開暗号または 非対称暗号 では、秘密鍵 (秘密を保持する) と 公開鍵 (通常は公共と共有) が共存します。公開鍵でエンコードされたデータは秘密鍵でしかデコードできませんが、秘密鍵でエンコードされたデータは公開鍵でしかデコードできません。

SSL を使用した安全な通信を提供するには、SSL サーバーが 認証機関 (CA) が署名したデジタル証明書を使用する必要があります。証明書は、サーバーの各種属性 (サーバーのホスト名、会社名、会社の場所など) と、CA の秘密鍵を使用して生成した署名をリスト表示します。この署名は、特定の認証局が証明書を署名し、証明書がいかなる方法でも変更されていないことを確認するものです。

Web ブラウザーが新しい SSL 接続を確立すると、Web サーバーが提供する証明書が確認されます。証明書に、信頼できる CA からの署名がない場合や、証明書にリスト表示されているホスト名が、接続の確立に使用されたホスト名と一致しない場合は、サーバーとの通信が拒否され、通常は、ユーザーに適切なエラーメッセージが表示されます。

デフォルトでは、ほとんどの Web ブラウザーは、幅広く使用されている一連の証明書局を信頼するように設定されています。このため、安全なサーバーを設定する際には、適切な CA を選択して、ターゲットユーザーが接続を信頼できる状態にする必要があります。適切な CA を選択しないとエラーメッセージが表示され、証明書を手動で指定することが必要になります。ユーザーが証明書エラーを上書きするようにすると、攻撃者が接続を傍受できるため、可能な場合は信頼できる CA を使用する必要があります。詳細は、表14.2「一般的な Web ブラウザーが使用する CA リストに関する情報」 を参照してください。

表14.2 一般的な Web ブラウザーが使用する CA リストに関する情報

SSL サーバーをセットアップする際には、証明書要求と秘密鍵を生成してから、証明書要求と企業の識別証明と支払いを認証局に送ります。CA が証明書の要求および ID を確認すると、サーバーで使用できる署名付きの証明書が送信されます。また、CA 署名を含まない自己署名証明書を作成することもできるため、テスト目的でのみ使用してください。

14.1.8. mod_ssl モジュールの有効化

mod_ssl を使用して SSL または HTTPS サーバーをセットアップする場合は、別のアプリケーションまたはモジュール (mod_nss など) で同じポートを使用するよう 設定できません。ポート 443 は、HTTPS のデフォルトポートです。

mod_ssl モジュールおよび OpenSSL ツールキットを使用して SSL サーバーを設定するには、mod_ssl および openssl パッケージをインストールします。root で次のコマンドを実行します。

~]# yum install mod_ssl openssl

これにより、/etc/httpd/conf.d/ssl.confmod_ssl 設定ファイルが作成されます。このファイルは、デフォルトでメインとなる Apache HTTP Server 設定ファイルに含まれています。モジュールを読み込むには、「サービスの再起動」 の説明どおりに httpd サービスを再起動します。

重要

POODLE: SSLv3 脆弱性 (CVE-2014-3566) で説明されている脆弱性のため、Red Hat は、SSL を無効にし、TLSv1.1 または TLSv1.2 のみを使用することを推奨します。後方互換性は、TLSv1.0 を使用して実現できます。Red Hat がサポートする多くの製品は SSLv2 または SSLv3 プロトコルを使用するか、デフォルトでそれらのプロトコルを有効にできます。ただし、SSLv2 または SSLv3 を使用することが強く推奨されます。

14.1.8.1. mod_ssl での SSL および TLS の有効化および無効化

SSL および TLS プロトコルの特定のバージョンを有効および無効にするには、設定ファイルの ## SSL Global Context セクションSSLProtocol ディレクティブを追加し、他のすべての部分でそのディレクティブを削除するか、すべての VirtualHost セクションの # SSL Protocol support の下にあるデフォルトエントリーを編集することによりグローバルで設定します。ドメインごとの VirtualHost セクションで指定しない場合、設定はグローバルセクションから継承されます。プロトコルバージョンが確実に無効になるように、管理者は SSLProtocol を、SSL Global Context セクションにのみ指定するか、ドメインごとのすべての VirtualHost セクションで指定する必要があります。

SSLv2 および SSLv3 の無効化

すべての VirtualHost セクションで SSL バージョン 2 および SSL バージョン 3 を無効にするには (SSL バージョン 2 および SSL バージョン 3 以外をすべて有効にすることを意味します)、以下の手順を実行します。

  1. root/etc/httpd/conf.d/ssl.conf ファイルを開き、SSLProtocol ディレクティブの すべての インスタンスを検索します。デフォルトでは、設定ファイルに以下のような 1 つのセクションが含まれます。

    ~]# vi /etc/httpd/conf.d/ssl.conf
    #  SSL Protocol support:
    # List the enable protocol levels with which clients will be able to
    # connect. Disable SSLv2 access by default:
    SSLProtocol all -SSLv2

    このセクションは、VirtualHost セクション内にあります。

  2. SSLProtocol 行を以下のように編集します。

    #  SSL Protocol support:
    # List the enable protocol levels with which clients will be able to
    # connect. Disable SSLv2 access by default:
    SSLProtocol all -SSLv2 -SSLv3

    すべての VirtualHost セクションに対してこのアクションを繰り返します。ファイルを保存してから閉じます。

  3. すべての SSLProtocol ディレクティブが以下のように変更されたことを確認します。

    ~]# grep SSLProtocol /etc/httpd/conf.d/ssl.conf
    SSLProtocol all -SSLv2 -SSLv3

    この手順は、デフォルトの VirtualHost セクションが複数の場合に特に重要になります。

  4. 以下のように Apache デーモンを再起動します。

    ~]# systemctl restart httpd

    セッションが中断されることに注意してください。

TLS 1 以上を除くすべての SSL および TLS プロトコルの無効化

TLS バージョン 1 以上を除く SSL および TLS プロトコルバージョンをすべて無効にするには、以下の手順を実行します。

  1. root/etc/httpd/conf.d/ssl.conf ファイルを開き、 SSLProtocol ディレクティブの すべて のインスタンスを検索します。デフォルトでは、このファイルには以下のようなセクションが含まれます。

    ~]# vi /etc/httpd/conf.d/ssl.conf
    #  SSL Protocol support:
    # List the enable protocol levels with which clients will be able to
    # connect. Disable SSLv2 access by default:
    SSLProtocol all -SSLv2
  2. SSLProtocol 行を以下のように編集します。

    #  SSL Protocol support:
    # List the enable protocol levels with which clients will be able to
    # connect. Disable SSLv2 access by default:
    SSLProtocol -all +TLSv1 +TLSv1.1 +TLSv1.2

    ファイルを保存してから閉じます。

  3. 以下のように変更を確認します。

    ~]# grep SSLProtocol /etc/httpd/conf.d/ssl.conf
    SSLProtocol -all +TLSv1 +TLSv1.1 +TLSv1.2
  4. 以下のように Apache デーモンを再起動します。

    ~]# systemctl restart httpd

    セッションが中断されることに注意してください。

SSL および TLS プロトコルのステータスのテスト

有効または無効な SSL および TLS のバージョンを確認するには、openssl s_client -connect コマンドを使用します。このコマンドの形式は以下のとおりです。

openssl s_client -connect hostname:port -protocol

port は、テストするポートで、protocol は、テストするプロトコルバージョンです。ローカルで稼働している SSL サーバーをテストする場合は、localhost をホスト名として使用します。たとえば、SSLv3 が有効であるかどうかを確認するためにセキュアな HTTPS 接続のデフォルトポートであるポート 443 をテストするには、以下のようにコマンドを発行します。

~]# openssl s_client -connect localhost:443 -ssl3
CONNECTED(00000003)
139809943877536:error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure:s3_pkt.c:1257:SSL alert number 40
139809943877536:error:1409E0E5:SSL routines:SSL3_WRITE_BYTES:ssl handshake failure:s3_pkt.c:596:
output omitted
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
SSL-Session:
  Protocol : SSLv3
output truncated

上記の出力は、ハンドシェイクが失敗し、暗号化がネゴシエートされなかったことを示しています。

~]$ openssl s_client -connect localhost:443 -tls1_2
CONNECTED(00000003)
depth=0 C = --, ST = SomeState, L = SomeCity, O = SomeOrganization, OU = SomeOrganizationalUnit, CN = localhost.localdomain, emailAddress = root@localhost.localdomain
output omitted
New, TLSv1/SSLv3, Cipher is ECDHE-RSA-AES256-GCM-SHA384
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
SSL-Session:
  Protocol : TLSv1.2
output truncated

上記の出力は、ハンドシェイクが失敗せず、暗号化セットがネゴシエートされたことを示しています。

openssl s_client コマンドのオプションは、s_client(1) man ページに記載されています。

SSLv3 の脆弱性とそのテスト方法の詳細は、Red Hat ナレッジベースの記事 POODLE: SSLv3 脆弱性 (CVE-2014-3566) を参照してください。

14.1.9. mod_nss Module の有効化

mod_nss を使用して HTTPS サーバーをセットアップする場合は、mod_ssl がデフォルトで 443 (デフォルトの HTTPS ポート) を使用するため、mod_ssl パッケージをデフォルト設定でインストールできません。可能な限り、このパッケージを削除します。

mod_ssl を削除するには、root で以下のコマンドを入力します。

~]# yum remove mod_ssl
注記

他の目的のために mod_ssl が必要な場合は、443 以外のポートを使用するよう /etc/httpd/conf.d/ssl.conf を変更して、リッスンするポートが 443 に変更されたときに mod_sslmod_nss が競合しないようにします。

1 つのモジュールのみがポートを所有できるため、mod_nssmod_ssl は一意のポートを使用している場合のみ同時に共存できます。このため、 mod_nss はデフォルトで 8443 を使用しますが、HTTPS のデフォルトポートはポート 443 です。ポートは Listen ディレクティブと VirtualHost 名またはアドレスで指定されます。

NSS のすべてはトークンに関連付けられます。ソフトウェアトークンは NSS データベースに存在しますが、証明書を含む物理トークンを使用することもできます。OpenSSL では、個別証明書と秘密鍵は PEM ファイルに保持されます。NSS では、これらはデータベースに格納されます。各証明書およびキーはトークンと関連付けられ、各トークンにはパスワードを設定して保護することもできます。このパスワードはオプションですが、パスワードが使用される場合、Apache HTTP サーバーはシステムの起動時にユーザーの介入なしでデータベースを開くためにパスワードのコピーを必要とします。

mod_nss の設定

  1. rootmod_nss をインストールします。

    ~]# yum install mod_nss

    これにより、/etc/httpd/conf.d/nss.confmod_nss 設定ファイルが作成されます。/etc/httpd/conf.d/ ディレクトリーは、デフォルトでメインの Apache HTTP Server 設定ファイルに含まれます。モジュールを読み込むには、「サービスの再起動」 の説明どおりに httpd サービスを再起動します。

  2. root/etc/httpd/conf.d/nss.conf ファイルを開き、Listen ディレクティブの すべての インスタンスを検索します。

    Listen 8443 行を以下のように編集します。

    Listen 443

    ポート 443 は、HTTPS のデフォルトポートです。

  3. デフォルトの VirtualHost default:8443 行を以下のように編集します。

    VirtualHost default:443

    デフォルト以外の他のすべての仮想ホストセクション (存在する場合) を編集します。ファイルを保存してから閉じます。

  4. Mozilla NSS では、証明書は /etc/httpd/conf.d/nss.conf ファイルの NSSCertificateDatabase ディレクティブで指定された サーバー証明書データベース に保存されます。デフォルトでは、パスはインストール時に作成された NSS データベースである /etc/httpd/alias に設定されます。

    デフォルトの NSS データベースを表示するには、以下のコマンドを実行します。

    ~]# certutil -L -d /etc/httpd/alias
    
    Certificate Nickname                     Trust Attributes
                                   SSL,S/MIME,JAR/XPI
    
    cacert                            CTu,Cu,Cu
    Server-Cert                         u,u,u
    alpha                            u,pu,u

    上記のコマンド出力で、Server-Cert はデフォルトの NSSNickname です。-L オプションは、証明書データベースにすべての証明書をリスト表示したり、名前付き証明書に関する情報を表示します。-d オプションは、証明書およびキーデータベースファイルを含むデータベースディレクトリーを指定します。その他のコマンドラインオプションは、certutil(1) man ページを参照してください。

  5. 別のデータベースを使用するよう mod_nss を設定するには、/etc/httpd/conf.d/nss.conf ファイルの NSSCertificateDatabase 行を編集します。デフォルトファイルの VirtualHost セクション内には以下の行が含まれます。

    #  Server Certificate Database:
    #  The NSS security database directory that holds the certificates and
    #  keys. The database consists of 3 files: cert8.db, key3.db and secmod.db.
    #  Provide the directory that these files exist.
    NSSCertificateDatabase /etc/httpd/alias

    上記のコマンド出力で、alias はデフォルトの NSS データベースディレクトリーである /etc/httpd/alias/ です。

  6. デフォルトの NSS 証明書データベースにパスワードを適用するには、root で以下のコマンドを使用します。

    ~]# certutil -W -d /etc/httpd/alias
    Enter Password or Pin for "NSS Certificate DB":
    Enter a password which will be used to encrypt your keys.
    The password should be at least 8 characters long,
    and should contain at least one non-alphabetic character.
    
    Enter new password:
    Re-enter password:
    Password changed successfully.
  7. HTTPS サーバーをデプロイする前に、認証局 (CA) により署名された証明書を使用して新しい証明書データベースを作成します。

    例14.3 Mozilla NSS データベースへの証明書の追加

    certutil コマンドは、CA 証明書を NSS データベースファイルに追加するために使用されます。

    certutil -d /etc/httpd/nss-db-directory/ -A -n "CA_certificate" -t CT,, -a -i certificate.pem

    上記のコマンドは、certificate.pem という名前の PEM 形式のファイル に保存されている CA 証明書を追加します。-d オプションは、証明書およびキーデータベースファイルを含む NSS データベースディレクトリーを指定します。-n オプションは、証明書の名前 (-t CT,,) を設定します。これは、証明書が TLS クライアントおよびサーバーで使用されるように信頼されることを意味します。-A オプションでは、既存の証明書を証明書データベースに追加します。データベースが存在しない場合は、作成されます。-a オプションでは、入力または出力に ASCII 形式を使用でき、-i オプションは certificate.pem 入力ファイルをコマンドに渡します。

    その他のコマンドラインオプションは、certutil(1) man ページを参照してください。

  8. 秘密鍵を保護するために、NSS データベースはパスワードで保護する必要があります。

    例14.4 Mozilla NSS データベースのパスワード設定

    NSS データベースのパスワードを設定するには、以下のように certutil ツールを使用できます。

    certutil -W -d /etc/httpd/nss-db-directory/

    たとえば、デフォルトのデータベースの場合は、root で以下のコマンドを実行します。

    ~]# certutil -W -d /etc/httpd/alias
    Enter Password or Pin for "NSS Certificate DB":
    Enter a password which will be used to encrypt your keys.
    The password should be at least 8 characters long,
    and should contain at least one non-alphabetic character.
    
    Enter new password:
    Re-enter password:
    Password changed successfully.
  9. 以下のように NSSPassPhraseDialog ディレクティブ で行を変更して、NSS 内部ソフトウェアトークンを使用するように mod_nss を設定します。

    ~]# vi /etc/httpd/conf.d/nss.conf
    NSSPassPhraseDialog file:/etc/httpd/password.conf

    これにより、システムの起動時にパスワードを手動で入力する必要がなくなります。ソフトウェアトークンは NSS データベースに存在しますが、証明書を含む物理トークンを使用することもできます。

  10. NSS データベースに含まれる SSL サーバー証明書が RSA 証明書である場合は、NSSNickname パラメーターのコメントを解除し、パラメーターが上記の手順 4 で示されたニックネームに一致するようにしてください。

    ~]# vi /etc/httpd/conf.d/nss.conf
    NSSNickname Server-Cert

    NSS データベースに含まれる SSL サーバー証明書が ECC 証明書である場合は、NSSECCNickname パラメーターのコメントが解除され、上記の手順 4 で示されたニックネームに一致するようにします。

    ~]# vi /etc/httpd/conf.d/nss.conf
    NSSECCNickname Server-Cert

    NSSCertificateDatabase パラメーターがコメント解除され、上記の手順 4 で示された、または手順 5 で設定された NSS データベースディレクトリーを参照するようにします。

    ~]# vi /etc/httpd/conf.d/nss.conf
    NSSCertificateDatabase /etc/httpd/alias

    /etc/httpd/alias を、使用する証明書データベースへのパスに置き換えます。

  11. root/etc/httpd/password.conf ファイルを作成します。

    ~]# vi /etc/httpd/password.conf

    次の形式の行を追加します。

    internal:password

    上記の手順 6 で、パスワード を NSS セキュリティーデータベースに適用したパスワードに置き換えます。

  12. 適切な所有権とパーミッションを /etc/httpd/password.conf ファイルに適用します。

    ~]# chgrp apache /etc/httpd/password.conf
    ~]# chmod 640 /etc/httpd/password.conf
    ~]# ls -l /etc/httpd/password.conf
    -rw-r-----. 1 root apache 10 Dec 4 17:13 /etc/httpd/password.conf
  13. NSS ソフトウェアトークンを使用するよう /etc/httpd/password.confmod_nss を設定するには、/etc/httpd/conf.d/nss.conf を以下のように編集します。

    ~]# vi /etc/httpd/conf.d/nss.conf
  14. 変更を反映するために、「サービスの再起動」 の説明通りに Apache サーバーを再起動します。
重要

POODLE: SSLv3 脆弱性 (CVE-2014-3566) で説明されている脆弱性のため、Red Hat は、SSL を無効にし、TLSv1.1 または TLSv1.2 のみを使用することを推奨します。後方互換性は、TLSv1.0 を使用して実現できます。Red Hat がサポートする多くの製品は SSLv2 または SSLv3 プロトコルを使用するか、デフォルトでそれらのプロトコルを有効にできます。ただし、SSLv2 または SSLv3 を使用することが強く推奨されます。

14.1.9.1. mod_nss での SSL および TLS の有効化および無効化

SSL および TLS プロトコルの特定のバージョンを有効および無効にするには、設定ファイルの## SSL Global Context セクションNSSProtocol ディレクティブを追加し、他のすべての部分でそのディレクティブを削除するか、すべての VirtualHost セクションの # SSL Protocol の下にあるデフォルトエントリーを編集することによりグローバルで設定します。ドメインごとの VirtualHost セクションで指定しない場合、設定はグローバルセクションから継承されます。プロトコルバージョンが確実に無効になるように、管理者は NSSProtocol を、SSL Global Context セクションにのみ指定するか、ドメインごとのすべての VirtualHost セクションで指定する必要があります。

mod_nss での TLS 1 以上を除くすべての SSL および TLS プロトコルの無効化

TLS バージョン 1 以上を除く SSL および TLS プロトコルバージョンをすべて無効にするには、以下の手順を実行します。

  1. root/etc/httpd/conf.d/nss.conf ファイルを開き、NSSProtocol ディレクティブの すべての インスタンスを検索します。デフォルトでは、設定ファイルに以下のような 1 つのセクションが含まれます。

    ~]# vi /etc/httpd/conf.d/nss.conf
    #  SSL Protocol:
    output omitted
    #  Since all protocol ranges are completely inclusive, and no protocol in the
    #  middle of a range may be excluded, the entry "NSSProtocol SSLv3,TLSv1.1"
    #  is identical to the entry "NSSProtocol SSLv3,TLSv1.0,TLSv1.1".
    NSSProtocol SSLv3,TLSv1.0,TLSv1.1

    このセクションは、VirtualHost セクション内にあります。

  2. NSSProtocol 行を以下のように編集します。

    #  SSL Protocol:
    NSSProtocol TLSv1.0,TLSv1.1

    すべての VirtualHost セクションに対してこのアクションを繰り返します。

  3. Listen 8443 行を以下のように編集します。

    Listen 443
  4. デフォルトの VirtualHost default:8443 行を以下のように編集します。

    VirtualHost default:443

    デフォルト以外の他のすべての仮想ホストセクション (存在する場合) を編集します。ファイルを保存してから閉じます。

  5. すべての NSSProtocol ディレクティブが以下のように変更したことを確認します。

    ~]# grep NSSProtocol /etc/httpd/conf.d/nss.conf
    #  middle of a range may be excluded, the entry "NSSProtocol SSLv3,TLSv1.1"
    #  is identical to the entry "NSSProtocol SSLv3,TLSv1.0,TLSv1.1".
    NSSProtocol TLSv1.0,TLSv1.1

    この手順は、VirtualHost セクションが複数の場合に特に重要になります。

  6. 以下のように Apache デーモンを再起動します。

    ~]# service httpd restart

    セッションが中断されることに注意してください。

mod_nss での SSL および TLS プロトコルのステータスのテスト

mod_nss で有効または無効な SSL および TLS のバージョンを確認するには、openssl s_client -connect コマンドを使用します。root として openssl パッケージをインストールします。

~]# yum install openssl

openssl s_client -connect コマンドの形式は次のとおりです。

openssl s_client -connect hostname:port -protocol

port は、テストするポートで、protocol は、テストするプロトコルバージョンです。ローカルで稼働している SSL サーバーをテストする場合は、localhost をホスト名として使用します。たとえば、SSLv3 が有効であるかどうかを確認するためにセキュアな HTTPS 接続のデフォルトポートであるポート 443 をテストするには、以下のようにコマンドを発行します。

~]# openssl s_client -connect localhost:443 -ssl3
CONNECTED(00000003)
3077773036:error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number:s3_pkt.c:337:
output omitted
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
SSL-Session:
  Protocol : SSLv3
output truncated

上記の出力は、ハンドシェイクが失敗し、暗号化がネゴシエートされなかったことを示しています。

~]$ openssl s_client -connect localhost:443 -tls1
CONNECTED(00000003)
depth=1 C = US, O = example.com, CN = Certificate Shack
output omitted
New, TLSv1/SSLv3, Cipher is AES128-SHA
Server public key is 1024 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
SSL-Session:
  Protocol : TLSv1
output truncated

上記の出力は、ハンドシェイクが失敗せず、暗号化セットがネゴシエートされたことを示しています。

openssl s_client コマンドのオプションは、s_client(1) man ページに記載されています。

SSLv3 の脆弱性とそのテスト方法の詳細は、Red Hat ナレッジベースの記事 POODLE: SSLv3 脆弱性 (CVE-2014-3566) を参照してください。

14.1.10. 既存の鍵および証明書の使用

以前に作成した鍵と証明書がある場合は、新しいファイルを生成する代わりに、SSL サーバーを設定してこのファイルを使用できます。これが可能ではない状況は 2 つしかありません。

  1. IP アドレスまたはドメイン名を変更している。

    証明書が、特定の IP アドレスとドメイン名のペアに対して発行されます。この値のいずれかが変更すると、証明書が無効になります。

  2. VeriSign からの証明書があり、サーバーソフトウェアを変更している。

    Verivsftpd は、幅広く使用されている認証局で、特定のソフトウェア製品、IP アドレス、およびドメイン名の証明書を発行します。ソフトウェア製品を変更すると、証明書が無効になります。

上記のいずれの場合も、新しい証明書を入手する必要があります。このトピックの詳細については、「新しい鍵と証明書の生成」 を参照してください。

既存の鍵と証明書を使用する場合は、その関連ファイルを /etc/pki/tls/private/ ディレクトリーと /etc/pki/tls/certs/ ディレクトリーにそれぞれ移動します。これを行うには root で以下のコマンドを入力します。

~]# mv key_file.key /etc/pki/tls/private/hostname.key
~]# mv certificate.crt /etc/pki/tls/certs/hostname.crt

次に、以下の行を /etc/httpd/conf.d/ssl.conf 設定ファイルに追加します。

SSLCertificateFile /etc/pki/tls/certs/hostname.crt
SSLCertificateKeyFile /etc/pki/tls/private/hostname.key

更新した設定を読み込むには、in 「サービスの再起動」 の説明に従って、httpd サービスを再起動します。

例14.5 Red Hat Secure Web Server からの鍵と証明書の使用

~]# mv /etc/httpd/conf/httpsd.key /etc/pki/tls/private/penguin.example.com.key
~]# mv /etc/httpd/conf/httpsd.crt /etc/pki/tls/certs/penguin.example.com.crt

14.1.11. 新しい鍵と証明書の生成

新しい鍵と証明書のペアを生成するには、システムに crypto-utils パッケージをインストールしておく必要があります。パッケージをインストールするには、root で以下のコマンドを入力します。

~]# yum install crypto-utils

このパッケージには、SSL 証明書と秘密鍵を生成して管理するツールセットを提供し、鍵を生成できる Red Hat Keypair Generation ユーティリティーである genkey が含まれます。

重要

有効な証明書を所有していて、それを新規のものに置き換える予定の場合は、異なるシリアル番号を指定します。これにより、クライアントのブラウザーがこの変更の通知を受けて予定どおりに新規の証明書に更新して、このページへのアクセスに失敗しないようにします。root でカスタムのシリアル番号で新規の証明書を作成するには、genkey の代わりに、以下のコマンドを使用します。

~]# openssl req -x509 -new -set_serial number -key hostname.key -out hostname.crt
注記

使用中のシステムに特定のホスト名用の鍵ファイルがすでに存在すると、genkey は起動しません。その場合は、root で以下のコマンドを使用して既存のファイルを削除します。

~]# rm /etc/pki/tls/private/hostname.key

ユーティリティーを実行するには、rootgenkey コマンドの後に該当するホスト名 (たとえば、penguin.example.com など) を付けて使用します。

~]# genkey hostname

鍵と証明書の生成を完了するには、以下の手順を行います。

  1. 鍵と証明書を保存する場所を確認します。

    図14.1 genkey ユーティリティーの実行

    genkey ユーティリティーの実行

    Tab キーを使用して Next (次へ) ボタンを選択してから、Enter キーを押すと次の画面を進みます。

  2. updown の矢印キーを使用して、適切な鍵のサイズを選択します。鍵が大きくなればセキュリティーは向上しますが、サーバーの応答時間も長くなることに注意してください。NIST では、2048 bits の使用が推奨されています。NIST Special Publication 800-131A を参照してください。

    図14.2 鍵のサイズ選択

    鍵のサイズ選択

    終了したら、タブ キーを使用して 次へ ボタンを選択し、Enter キーを押すと、ランダムなビットの生成プロセスが開始します。選択した鍵のサイズによっては、時間がかかることもあります。

  3. 証明書要求を認証局に送信するかどうかを決定します。

    図14.3 証明書要求の生成

    証明書要求の生成

    タブ キーを使用して Yes (はい) を選択し、証明書要求を組み立てるか、No (いいえ) を選択して、自己署名の証明書を生成します。その後、Enter キーを押して、選択を確認します。

  4. Spacebar (スペースバー) キーを使用すると、秘密鍵の暗号化を有効にする ([*]) か、無効にする ([ ]) 選択ができます。

    図14.4 秘密鍵の暗号化

    秘密鍵の暗号化

    Tab キーを使用して Next (次へ) ボタンを選択してから、Enter キーを押すと次の画面を進みます。

  5. 秘密鍵の暗号化を有効にしている場合は、適切なパスフレーズを入力します。セキュリティーの理由により入力時には文字が表示されませんが、最低でも 5 文字の長さが必要です。

    図14.5 パスフレーズの入力

    パスフレーズの入力

    Tab キーを使用して Next (次へ) ボタンを選択してから、Enter キーを押すと次の画面を進みます。

    重要

    サーバーを起動するには正しいパスフレーズの入力が必要です。それを紛失したり忘れたりした場合は、新しい鍵と証明書を生成する必要があります。

  6. 証明書詳細のカスタマイズ

    図14.6 証明書情報の指定

    証明書情報の指定

    タブ キーを使用して Next ボタンを選択し、Enter を押すと鍵の生成が完了します。

  7. 証明書要求の生成を有効にしていた場合は、それを認証局に送信するように求められます。

    図14.7 証明書要求を送信する方法の指示

    証明書要求を送信する方法の指示

    Enter を押してシェルプロンプトに戻ります。

生成が終了したら、鍵と証明書の場所を /etc/httpd/conf.d/ssl.conf 設定ファイルに追加します。

SSLCertificateFile /etc/pki/tls/certs/hostname.crt
SSLCertificateKeyFile /etc/pki/tls/private/hostname.key

最後に、「サービスの再起動」 に記載通りに httpd サービスを再起動すると、更新された設定が読み込まれます。

14.1.12. コマンドラインを使用して HTTP 用および HTTPS 用にファイアウォールを設定

Red Hat Enterprise Linux は、デフォルトで HTTP および HTTPS トラフィックを許可しません。システムが Web サーバーとして機能するようにするには、firewalld がサポートするサービスを使用して、必要に応じて HTTP および HTTPS のトラフィックがファイアウォールを通過するようにします。

コマンドラインで HTTP を有効にするには、root で以下のコマンドを実行します。

~]# firewall-cmd --add-service http
 success

コマンドラインで HTTPS を有効にするには、root で以下のコマンドを実行します。

~]# firewall-cmd --add-service https
 success

ここで変更する内容は、システムの再起動後は維持されないことに注意してください。ファイアウォールを永続的に変更するには、コマンドに --permanent オプションを繰り返し追加してください。

14.1.12.1. コマンドラインで着信 HTTPS および HTTPS のネットワークアクセスの確認

ファイアウォールが許可するサービスを確認するには、root で以下のコマンドを実行します。

~]# firewall-cmd --list-all
public (default, active)
 interfaces: em1
 sources:
 services: dhcpv6-client ssh
output truncated

この例では、デフォルトのインストールでファイアウォールは有効になっていますが、HTTPHTTPS は通過できません。

HTTP および HTTP のファイアウォールサービスが有効になると、services 行は以下のようになります。

services: dhcpv6-client http https ssh

ファイアウォールサービスの有効化、または firewalld でのポートの開閉方法は Red Hat Enterprise Linux 7 セキュリティーガイド を参照してください。

14.1.13. 関連情報

Apache HTTP Server の詳細は、以下のリソースを参照してください。

インストールされているドキュメント
  • httpd(8): httpd サービスの man ページで、コマンドラインオプションのリストが記載されます。
  • genkey(1): crypto-utils パッケージにより提供される genkey ユーティリティーの man ページです。
  • apachectl (8): Apache HTTP Server の制御インターフェイスの man ページです。
インストール可能なドキュメント
  • http://localhost/manual/: Apache HTTP Server の公式ドキュメントで、そのディレクティブおよび利用可能なモジュールの詳細を説明します。本書にアクセスするには、httpd-manual パッケージがインストールされ、Web サーバーが稼働している必要があることに注意してください。

    ドキュメントにアクセスする前に、root で次のコマンドを実行します。

    ~] yum install httpd-manual ~] apachectl graceful
オンラインドキュメント
  • http://httpd.apache.org/: Apache HTTP Server の公式 Web サイトです。すべてのディレクティブおよびデフォルトモジュールの説明が記載されています。
  • OpenSSL Home Page - その他のドキュメント、FAQ、メーリングリストへのリンクなどの役に立つリソースを掲載した OpenSSL のホームページです。