[APACHE DOCUMENTATION]

Apache HTTP Server

設定ファイル


メインの設定ファイル

関連モジュール

mod_mime
関連ディレクティブ

AccessConfig
<IfDefine>
Include
ResourceConfig
TypesConfig

Apache は ディレクティブ を設定ファイルに平文で書くことにより設定します。 メインの設定ファイルは普通は httpd.conf という名前です。 このファイルの位置はコンパイル時に設定されますが、コマンドラインの -f フラグにより上書きできます。サイトによっては 歴史的理由 により srm.confaccess.conf がある場合もあります。その上、他の設定ファイルが Include ディレクティブによって追加されているかもしれません。 どのディレクティブもこれらの設定ファイルのどれにでも入れられます。 Apache は起動時か再起動時のみメイン設定ファイルの変更を認識します。

Apache 1.3.13 の新しい機能として、設定ファイルが実際はディレクトリで あるときにはそのディレクトリで見つかったすべてのファイル(とサブディレクトリ) を解析するというものがあります。利用法としては、 バーチャルホストを追加するときに、それぞれのホストに対して小さな設定 ファイルを作り、設定ディレクトリに置くというものが挙げられます。 こうすると、単にファイルの追加、削除をすることにより全くファイルを 編集することなくバーチャルホストの追加、削除ができます。 これは自動化をずっと簡単にします。

サーバは mime ドキュメントタイプを含んでいるファイルも読み込みます。 ファイル名は TypesConfig で設定され、デフォルトで mime.typesになっています。


設定ファイルの構文

Apache の設定ファイルは 1 行に 1 つのディレクティブからなります。 バックスラッシュ "\" はディレクティブが次の行に継続していることを 示すために行の最後の文字として使われているかもしれません。 行の最後とバックスラッシュの間に他の文字や空白があってはいけません。

設定ファイルのディレクティブは大文字小文字を区別しませんが、 引数にはしばしば区別するものがあります。ハッシュ文字 "#" で始まる行はコメントと見なされて無視されます。 設定ディレクティブの後の行ではコメントが含まれていてはいけません。ディレクティブの前の空行と空白は無視されますので、 わかりやすくするためにディレクティブをインデントすることができます。

設定ファイルの構文エラーは apachectl configtest かコマンドラインオプション -t を使って調べられます。


モジュール

関連モジュール

mod_so
関連ディレクティブ

AddModule
ClearModuleList
<IfModule>
LoadModule

Apache はモジュール化されたサーバです。 コアサーバには最も基本的な機能だけが含まれています。拡張機能は Apache にロードされるモジュールとして利用可能です。デフォルトではコンパイル時にモジュールの基本セットが サーバに含まれます。サーバが動的ロードモジュールを使うようにコンパイルされている場合は、 モジュールを別にコンパイルして、いつでも LoadModule ディレクティブを使って追加できます。 そうでない場合は、モジュールの追加や削除をするためには Apache を再コンパイルする必要があります。設定ディレクティブは <IfModule> ブロックに入れることで特定のモジュールが存在するときだけ 設定ファイルに含まれるようにすることができます。

コマンドラインオプション -l を使って現時点で どのモジュールがサーバにコンパイルされているかを知ることができます。


ディレクティブの適用範囲

関連ディレクティブ

<Directory>
<DirectoryMatch>
<Files>
<FilesMatch>
<Location>
<LocationMatch>
<VirtualHost>

メイン設定ファイルにあるディレクティブはサーバ全体に適用されます。 サーバの一部分の設定だけを変更したい場合は <Directory>,<DirectoryMatch>,<Files>,<FilesMatch>,<Location>,<LocationMatch> セクションの中に置くことで適用範囲を決められます。 これらのセクションはその中にあるディレクティブの適用範囲を 特定のファイルシステムの位置や URL に限定します。 非常に細粒度の設定を可能にするために、 セクションを入れ子にすることもできます。

Apache は同時に多くの違うウェブサイトを扱う能力があります。 これは バーチャルホスト と呼ばれています。 特定のウェブサイトにのみ適用されるようにするために、 ディレクティブは <VirtualHost> セクションの中に置くことでも適用範囲を変えることができます。

ほとんどのディレクティブはどのセクションにでも書けますが、 中にはコンテキストによっては意味をなさないものもあります。 例えば、プロセスの作成を制御しているディレクティブはメインサーバの コンテキストにのみ書くことができます。 どのディレクティブをどのセクションに書くことができるかを知るためには ディレクティブの コンテキスト を調べてください。詳しい情報は、Directory, Location, Files セクションの動作法にあります。


.htaccess ファイル

関連ディレクティブ

AccessFileName
AllowOverride

Apache ではウェブツリーの中に置かれた特別なファイルを使って 非中央集権的な設定管理をできます。 その特別なファイルは普通は .htaccess という名前で、 AccessFileName ディレクティブでどんな名前でも指定できます。 .htaccess ファイルに書かれたディレクティブはファイルを 置いたディレクトリとその全てのサブディレクトリに適用されます。 .htaccess ファイルはすべてのリクエストで読み込まれるため、 変更はすぐに反映されます。

どのディレクティブが .htaccess ファイルに書けるかを調べるには、ディレクティブのコンテキスト を調べてください。 サーバ管理者はさらにメイン設定ファイルの AllowOverride を設定することでどのディレクティブを .htaccess ファイルに書けるようにするかを制御することができます。

.htaccess ファイルに関する詳しい情報は Using .htaccess Files with Apache の Ken Coar's tutorial を参照してください。


Apache HTTP Server

Index