章 10章. Apache HTTP サーバー

Apache HTTP サーバーは、Apache Software Foundation(http://www.apache.org/)で開発された強力な商用オープンソース Webサーバーです。Red Hat Enterprise Linux にはApache HTTP サーバー2.0が含まれており、 その機能を強化するために設計された多くのサーバーモジュールも含まれています。

Apache HTTP サーバーでインストールされるデフォルトの設定ファイルは、 ほとんどの状況に対して変更することなく機能します。 この章では、カスタム設定を必要とする方、旧Apache HTTP サーバー1.3形式から設定ファイルの変換を 必要とされる方の助けとなるよう、この設定ファイル (/etc/httpd/conf/httpd.conf) に含まれる多くのディレクティブの概略を説明します。

警告警告
 

グラフィカルなHTTP 設定ツール (redhat-config-httpd)を使用する場合は、Apache HTTP サーバー の設定ファイルを手動編集しないでください。このファイルが使用されるたびに、HTTP 設定ツールがファイルを再生成してしまいます。

HTTP 設定ツールの詳細については、Red Hat Enterprise Linux システム管理ガイドにあるApache HTTP サーバー の設定の章を参照してください。

10.1. Apache HTTP サーバー 2.0

Apache HTTP サーバー 2.0 とバージョン1.3(バージョン1.3 はRed Hat Linux 7.3及びそれ以前の製品に含まれていました)には重要な違いがあります。このセクションではApache HTTP サーバー 2.0のいくつかの機能について検討しながら、重要な変更の概要を説明していきます。バージョン1.3の設定ファイルを2.0形式に移行する方法については、項10.2を参照してください。

10.1.1. Apache HTTP サーバー 2.0 の機能

Apache HTTP サーバー 2.0 には、以下の機能が含まれています:

  • Apache API — さらに強力になったアプリケーションプログラムインターフェース(API)のセットを使用するモジュールです。

    重要重要
     

    Apache HTTP サーバー 1.3 用に構築されたモジュールは新しいAPIにポートしないと機能しません。 特定のモジュールがポートされているかわからない場合は、 アップブレード行なう前に、開発者に問い合わせてください。

  • フィルタリング — モジュールはコンテントフィルターの役割は果たしません。フィルタリングの動作については、項10.2.4 を参照してください。

  • IPv6 のサポート — 次世代のIP アドレス方式に 対応します。

  • 簡略化されたディレクティブ — 混同しやすいディレクティブが削除され、他のディレクティブも簡略化さています。 特定ディレクティブの詳細については、項10.5 を参照してください。

  • 他言語エラーレスポンスSSI (Server Side Include)ドキュメントを使用する際、 カスタマイズが可能なエラーレスポンスのページを他言語で送信できます。

変更に関する全詳細はオンラインの http://httpd.apache.org/docs-2.0/をご覧ください。

10.1.2. Apache HTTP サーバー 2.0 のパッケージ変更

Red Hat Enterprise Linux 3 で起動すると、Apache HTTP サーバー パッケージが改名されています。また、 幾つかの関連パッケージも改名されたり、使用停止になったり、他のパッケージに統合されたりしています。

以下はパッケージ変更の一覧です:

  • apacheapache-develapache-manualの各パッケージは、 それぞれhttpdhttpd-develhttpd-manualに名前が変更されました。

  • mod_davパッケージは、 httpdパッケージに統合されました。

  • mod_putパッケージとmod_roamingパッケージは、 その機能がmod_dav(これはhttpdパッケージに 統合されます)で提供されるサブセットとなるため削除されました。

  • mod_auth_anyパッケージとmod_bandwidth パッケージは削除されました。

  • mod_sslパッケージのバージョン番号は、 httpdパッケージと同期します。 つまり、Apache HTTP サーバー 2.0 のmod_sslパッケージは Apache HTTP サーバー 1.3 のmod_sslパッケージより 低いバージョン番号になります。

10.1.3. Apache HTTP サーバー 2.0 のファイルシステムの変更

Apache HTTP サーバー 2.0 にアップグレードすると、 以下のようなファイルシステムのレイアウトへの変更が行なわれます。

  • 設定ディレクトリ、/etc/httpd/conf.d/が追加されています。 — この新しいディレクトリは mod_sslmod_perlphpなどの個別にパッケージされたモジュールの設定ファイルを保存するために使用します。Apache HTTP サーバー 設定ファイル内の/etc/httpd/conf/httpd.conf内でディレクティブInclude conf.d/*.confは、サーバーにこの場所から設定ファイルをロードするよう指示します。

    重要重要
     

    既存の設定を移行するときに、新しい設定ディレクトリを指定することは極めて重要です。

  • abプログラムとlogresolve プログラムが移動しています。 — このユーティリティプログラムは、 /usr/sbin/ディレクトリから/usr/bin/ ディレクトリに移動しています。このため、これらのバイナリに対して絶対パスを使用した スクリプトは失敗する要因となります。

  • dbmmanageコマンドが置き換えられています。dbmmanageコマンドはhtdbmコマンドに置き換えられています。詳細については、項10.2.4.5を参照してください。

  • logrotate設定ファイルの名前が変更になっています。 logrotate設定ファイルの名前は、 /etc/logrotate.d/apacheから /etc/logrotate.d/httpdに変更になっています。

次のセクションでは、Apache HTTP サーバー 1.3 の設定を 2.0 形式に移行する方法の概要を説明しています。