Red Hat Training

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

2.7.6.2. Apache Web Server (httpd)

Red Hat Enterprise Linux 7 では、Apache Web Server の更新バージョンが提供されています。この新バージョン (2.4) には、多くの新機能に加えて重要なパッケージ変更も含まれています。

変更されたプロキシー設定
SSL バックエンドを使用する Apache Web Server (httpd) 設定では、設定されたホスト名にSSL 証明書が一致しない場合に SSLProxyCheckPeerName ディレクティブを使用する必要があります。以前は、プロキシーバックエンドの SSL 証明書に記載されているホスト名が検証されました。
新制御メカニズム
Red Hat Enterprise Linux はシステムを SysV init スクリプトから移動しているので、httpd サービスを制御するコマンドが変更されました。Red Hat では、service コマンドではなく、apachectl および systemctl コマンドを推奨しています。たとえば、以前は service httpd graceful を実行していた場面では、apachectl graceful を実行することを Red Hat では推奨します。
デフォルトのサブコマンド動作の変更
httpd 用の systemd ユニットファイルが reload および stop サブコマンドの動作を定義します。具体的には、デフォルトで reload サブコマンドは正常にサービスをリロードし、stop コマンドはサービスを停止します。
ハードコーディングされたデフォルト設定
以前のバージョンの httpd は、すべての構成設定とデフォルトを一覧表示した網羅的な設定ファイルを提供していました。多くの共通構成設定は、デフォルト設定ファイルで明示的に設定されることはなくなりました。代わりに、デフォルト設定はハードコーディングされています。デフォルト設定ファイルにあるのは最小限のコンテンツで、その結果、管理が容易になっています。ハードコーディングされた全設定向けのデフォルト値はマニュアルで指定されており、これはデフォルトでは /usr/share/httpd にインストールされています。
新 Multi-Processing Model モジュール
Red Hat Enterprise Linux の以前のリリースでは、いくつかの Multi-Processing Models (prefork および worker) を異なる httpd バイナリーとして提供していました。Red Hat Enterprise Linux 7 では単一のバイナリーを使用し、これらの Multi-Processing Models を読み込み可能なモジュール workerprefork (デフォルト)、および event として提供しています。読み込むモジュールを選択するには、/etc/httpd/conf.modules.d/00-mpm.conf ファイルを編集してください。
ディレクトリーの変更

この更新バージョンの httpd では、多くのディレクトリーが移動してしまったか、提供されていません。

  • これまで /var/cache/mod_proxy にインストールされていたコンテンツは /var/cache/httpd に移動し、proxy または ssl サブディレクトリー下にあります。
  • これまで /var/www にインストールされていたコンテンツは /usr/share/httpd に移動しました。
  • これまで /var/www/icons にインストールされていたコンテンツは /usr/share/httpd/icons に移動しました。このディレクトリーには、ディレクトリーインデックスで使われるアイコンが含まれています。
  • httpd マニュアルの HTML バージョンはこれまで /var/www/manual にインストールされていましたが、/usr/share/httpd/manual に移動しました。
  • カスタムの多言語 HTTP エラーページはこれまで /var/www/error にインストールされていましたが、/usr/share/httpd/error に移動しました。
suexec の変更
suexec バイナリーには、インストール時に root に設定されていたユーザー ID がなくなりました。代わりに、より限定的なパーミッションセットがファイルシステムの機能を使って適用されます。これにより、httpd サービスのセキュリティが改善されます。また、suexec/var/log/httpd/suexec.log を使用する代わりにログメッセージを syslog に送信します。syslog に送信されたメッセージは、デフォルトで /var/log/secure に現れます。
モジュールインターフェース互換性の変更
httpd モジュールインターフェースが変更したことで、この更新バージョンの httpd は、以前のバージョンの httpd (2.2) に構築されたサードパーティーのバイナリーモジュールとは互換性がないことになります。これらのモジュールは、必要に応じて httpd 2.4 モジュールインターフェース用に調整し、再構築する必要があります。バージョン 2.4 における API 変更の詳細は、Apache ドキュメンテーションを参照してください。
apxs バイナリーの場所の変更
ソースからのモジュール構築に使用される apxs バイナリーは、/usr/sbin/apxs から /usr/bin/apxs. に移動しました。
新設定ファイルおよび移動された設定ファイル

モジュールを読み込む設定ファイルは、/etc/httpd/conf.modules.d ディレクトリー内にあります。(php パッケージのような) httpd 用の追加の読み込み可能なモジュールを提供するパッケージは、ファイルをこのディレクトリーに追加します。conf.modules.d ディレクトリー内の設定ファイルはすべて、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 は、以前のバージョン (2.2) の設定構文と互換性がありません。設定ファイルは、この更新バージョンの httpd で使用可能となる前に、構文を更新する必要があります。バージョン 2.2 から 2.4 で変更された構文の詳細については、Apache ドキュメンテーションを参照してください。