Apache HTTP Server Version 2.0
設定ファイル
この文書では、Apache HTTP サーバを設定するのに使用するファイルについて 記述しています。
メインの設定ファイル
関連モジュール mod_mime関連ディレクティブ <IfDefine>IncludeTypesConfigApache は ディレクティブ を設定ファイルに平文で書くことにより設定します。 メインの設定ファイルは普通は
httpd.confという名前です。 このファイルの位置はコンパイル時に設定されますが、コマンドラインの-fフラグにより上書きできます。 その上、他の設定ファイルがIncludeディレクティブによって追加されているかもしれません。 どのディレクティブもこれらの設定ファイルのどれにでも入れられます。 Apache は起動時か再起動時のみメイン設定ファイルの変更を認識します。Apache 1.3.13 の新しい機能として、設定ファイルが実際はディレクトリで あるときにはそのディレクトリで見つかったすべてのファイル (とサブディレクトリ) を解析するというものがあります。利用法としては、 バーチャルホストを追加するときに、それぞれのホストに対して小さな設定 ファイルを作り、設定ディレクトリに置くというものが挙げられます。 こうすると、単にファイルの追加、削除をすることにより全くファイルを 編集することなくバーチャルホストの追加、削除ができます。 これは自動化をずっと簡単にします。
サーバは MIME ドキュメントタイプを含んでいるファイルも読み込みます。ファイル名は
TypesConfigで設定され、デフォルトではmime.typesになっています。設定ファイルの構文
Apache の設定ファイルは 1 行に 1 つのディレクティブからなります。 バックスラッシュ "\" はディレクティブが次の行に継続していることを 示すために行の最後の文字として使われているかもしれません。 行の最後とバックスラッシュの間に他の文字や空白があってはいけません。
設定ファイルのディレクティブは大文字小文字を区別しませんが、 引数にはしばしば区別するものがあります。ハッシュ文字 "#" で始まる行はコメントと見なされて無視されます。 設定ディレクティブの後の行ではコメントが含まれていてはいけません。ディレクティブの前の空行と空白は無視されますので、 わかりやすくするためにディレクティブをインデントしても構いません。
設定ファイルの構文エラーは、
apachectl configtestかコマンドラインオプション-tを使って調べられます。モジュール
関連モジュール mod_so関連ディレクティブ <IfModule>LoadModuleApache はモジュール化されたサーバです。 コアサーバには最も基本的な機能だけが含まれています。拡張機能は Apache にロードされるモジュールとして利用可能です。デフォルトでは、コンパイル時にモジュールの Base セット (基本セット) が サーバに含まれます。サーバが動的ロードモジュールを使うようにコンパイルされている場合は、 モジュールを別にコンパイルして、いつでも
LoadModuleディレクティブを使って追加できます。 そうでない場合は、モジュールの追加や削除をするためには Apache を再コンパイルする必要があります。設定ディレクティブは<IfModule>ブロックに入れることで特定のモジュールが存在するときだけ 設定ファイルに含まれるようにすることができます。コマンドラインオプション
-lを使って現時点で どのモジュールがサーバにコンパイルされているかを知ることができます。ディレクティブの適用範囲
関連モジュール 関連ディレクティブ <Directory><DirectoryMatch><Files><FilesMatch><Location><LocationMatch><VirtualHost>メイン設定ファイルにあるディレクティブはサーバ全体に適用されます。 サーバの一部分の設定だけを変更したい場合は
<Directory>,<DirectoryMatch>,<Files>,<FilesMatch>,<Location>,<LocationMatch>セクションの中に置くことで適用範囲を決められます。 これらのセクションはその中にあるディレクティブの適用範囲を 特定のファイルシステムの位置や URL に限定します。 非常に細粒度の設定を可能にするために、 セクションを入れ子にすることもできます。Apache は同時に多くの違うウェブサイトを扱う能力があります。 これは バーチャルホスト と呼ばれています。 特定のウェブサイトにのみ適用されるようにするために、 ディレクティブは
<VirtualHost>セクションの中に置くことでも適用範囲を変えることができます。ほとんどのディレクティブはどのセクションにでも書けますが、 中にはコンテキストによっては意味をなさないものもあります。 例えば、プロセスの作成を制御しているディレクティブはメインサーバの コンテキストにのみ書くことができます。 どのディレクティブをどのセクションに書くことができるかを知るためには ディレクティブの コンテキスト を調べてください。詳しい情報は、 Directory, Location, Files セクションの動作法にあります。
.htaccess ファイル
関連モジュール 関連ディレクティブ AccessFileNameAllowOverrideApache ではウェブツリーの中に置かれた特別なファイルを使って 非中央集権的な設定管理をできます。その特別なファイルは普通は
.htaccessという名前で、AccessFileNameディレクティブでどんな名前にでも指定できます。.htaccessファイルに書かれたディレクティブはファイルを置いた ディレクトリとその全てのサブディレクトリに適用されます。.htaccessファイルはすべてのリクエストで読み込まれるため、 変更はすぐに反映されます。どのディレクティブが
.htaccessファイルに書けるかを調べるには、ディレクティブのコンテキスト を調べてください。サーバ管理者はさらにメイン設定ファイルのAllowOverrideを設定することでどのディレクティブを.htaccessファイルに書けるようにするかを制御することができます。
.htaccessファイルに関する詳しい情報は Ken Coar さんのチュートリアル Using .htaccess Files with Apache を参照してください。

