Apache HTTP サーバ バージョン 2.1
この文書では、Apache HTTP サーバを設定するのに使用するファイルについて 記述しています。
関連モジュール | 関連ディレクティブ |
---|---|
Apache は ディレクティブ を設定ファイルに平文で書くことにより設定します。
メインの設定ファイルは普通は httpd.conf
という名前です。
このファイルの位置はコンパイル時に設定されますが、コマンドラインの
-f
フラグにより上書きできます。
その上、他の設定ファイルが Include
ディレクティブによって追加されているかもしれません。
どのディレクティブもこれらの設定ファイルのどれにでも入れられます。
Apache は起動時か再起動時のみメイン設定ファイルの変更を認識します。
Apache 1.3.13 の新しい機能として、設定ファイルが実際はディレクトリで あるときにはそのディレクトリで見つかったすべてのファイル (とサブディレクトリ) を解析するというものがあります。利用法としては、 バーチャルホストを追加するときに、それぞれのホストに対して小さな設定 ファイルを作り、設定ディレクトリに置くというものが挙げられます。 こうすると、単にファイルの追加、削除をすることにより全くファイルを 編集することなくバーチャルホストの追加、削除ができます。 これは自動化をずっと簡単にします。
サーバは 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 セクションの動作法にあります。
関連モジュール | 関連ディレクティブ |
---|---|
Apache ではウェブツリーの中に置かれた特別なファイルを使って
非中央集権的な設定管理をできます。その特別なファイルは普通は
.htaccess
という名前で、
AccessFileName
ディレクティブでどんな名前にでも指定できます。
.htaccess
ファイルに書かれたディレクティブはファイルを置いた
ディレクトリとその全てのサブディレクトリに適用されます。
.htaccess
ファイルはすべてのリクエストで読み込まれるため、
変更はすぐに反映されます。
どのディレクティブが .htaccess
ファイルに書けるかを調べるには、ディレクティブのコンテキスト
を調べてください。サーバ管理者はさらにメイン設定ファイルの
AllowOverride
を設定することでどのディレクティブを .htaccess
ファイルに書けるようにするかを制御することができます。
.htaccess
ファイルに関する詳しい情報は
Ken Coar さんのチュートリアル
Using .htaccess Files with Apache
を参照してください。