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