Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

25.5. httpd.confの設定ディレクティブ

Apache HTTP Server 設定ファイルは /etc/httpd/conf/httpd.conf です。httpd.conf ファイルは十分にコメント化されており、ほとんどは自己計画的です。デフォルト設定はほとんどの状況で機能しますが、より重要な設定オプションの一部を理解することが推奨されます。
Warning
Apache HTTP Server 2.2 のリリースに伴い、多くの設定オプションが変更されました。バージョン 1.3 から 2.2 に移行する場合は、まず 「Apache HTTP Server 1.3 設定ファイルの 2.0 への移行」 をお読みください。

25.5.1. 一般的な設定のヒント

Apache HTTP Server を設定する場合は、/etc/httpd/conf/httpd.conf を編集し、httpdの起動と停止」 で概説するように、/etc/httpd/conf/httpd.conf を編集し、httpd プロセスを開始します。
httpd.conf を編集する前に、元の ファイルのコピーを作成します。バックアップを作成すると、設定ファイルの編集中に間違いからの復旧が容易になります。
間違いが発生し、Web サーバーが正しく機能しない場合は、最初に httpd.conf で編集したパスを確認し、誤字がないことを確認します。
次に、Web サーバーのエラーログ /var/log/httpd/error_log を確認します。変更ログは、専門知識のレベルによっては、解釈が簡単ではない可能性があります。ただし、エラーログの最後のエントリーは、有用な情報を提供します。
以下のサブセクションには、httpd.conf に含まれるディレクティブの多くについての簡単な説明の一覧が記載されています。これらの説明は網羅的なものではありません。詳細は、オンラインの Apache ドキュメンテーション( http://httpd.apache.org/docs/2.2/ )を参照してください。
mod_ssl ディレクティブの詳細は、http://httpd.apache.org/docs/2.2/mod/mod_ssl.html でオンラインのドキュメントを参照してください。

AccessFileName

AccessFileName は、サーバーが各ディレクトリーのアクセス制御情報に使用するファイルに名前を付けます。デフォルトは .htaccess です。

AccessFileName ディレクティブの直後に、Files タグのセットは、.ht で始まるファイルにアクセス制御を適用します。これらのディレクティブは、セキュリティー上の理由から、すべての .htaccess ファイル(または .htで始まるその他のファイル)への Web アクセスを拒否します。

アクション

action は MIME コンテンツタイプと CGI スクリプトのペアを指定して、そのメディアタイプのファイルが要求されたときに特定の CGI スクリプトが実行されるようにします。

AddDescription

FancyIndexingIndexOptions パラメーターとして使用する場合、AddDescription ディレクティブを使用して、サーバーが生成したディレクトリー一覧に特定のファイルまたはファイルタイプのユーザー指定の説明を表示できます。AddDescription ディレクティブは、特定のファイル、ワイルドカード式、またはファイル拡張子の一覧表示をサポートします。

AddEncoding

AddEncoding は、特定のエンコーディングタイプを指定するファイル名の拡張子です。AddEncoding を使用して、一部のブラウザーに、ダウンロード時に特定のファイルを圧縮解除するように指示することもできます。

AddHandler

addhandler は、 ファイル拡張子を特定のハンドラーにマッピングします。たとえば、cgi-script ハンドラーを拡張子 .cgi に一致させると、.cgi で終わるファイルを CGI スクリプトとして自動的に扱います。以下は、.cgi 拡張の AddHandler ディレクティブの例です。

AddHandler cgi-script .cgi
このディレクティブにより、cgi-bin 外の CGI が、ディレクトリーコンテナー内の ExecCGI オプションを持つサーバー上の任意のディレクトリーで機能できるようになります。ディレクトリーの ExecCGI オプションの設定に関する詳細は、ディレクトリー を参照してください。
CGI スクリプトの他に、AddHandler ディレクティブを使用して、サーバー解析された HTML およびイメージマップファイルを処理します。

AddIcon

AddIcon は、特定の拡張子を持つファイルのサーバー生成ディレクトリー一覧に表示するアイコンを指定します。たとえば、Web サーバーは、拡張子が .bin または .exe のファイルのアイコン binary.gif を表示するように設定されます。

AddIconByEncoding

このディレクティブは、サーバーが生成したディレクトリー一覧の MIME エンコーディングのあるファイルによって表示されるアイコンの名前。たとえば、デフォルトでは、Web サーバーは、サーバー生成されたディレクトリー一覧にある MIME でエンコードされた x 圧縮ファイルと x-gzip ファイルの横に、compress.gif アイコンを表示します。

AddIconByType

このディレクティブの名前アイコンは、サーバー生成ディレクトリー一覧に MIME タイプのファイルの横に表示されます。たとえば、サーバーは、サーバーが生成したディレクトリー一覧に mime-type のテキストタイプのファイルの横にあるアイコン text.gif を表示します。

AddLanguage

AddLanguage は、ファイル名の拡張子を特定の言語に関連付けます。このディレクティブは、クライアントの Web ブラウザーの言語設定に基づいて複数の言語でコンテンツを提供する Apache HTTP Server に便利です。

AddType

AddType ディレクティブを使用して、デフォルトの MIME タイプとファイル拡張子のペアを定義または上書きします。以下のサンプルディレクティブは、.tgz ファイル拡張子を認識するように Apache HTTP Server に指示します。

AddType application/x-tar .tgz

エイリアス

Alias 設定により、DocumentRoot ディレクトリー以外のディレクトリーにアクセスできます。エイリアスで終わる URL は、自動的にエイリアスのパスに対して解決されます。デフォルトでは、アイコン/ ディレクトリーにエイリアスが 1 つ設定されています。icons/ ディレクトリーには Web サーバーからアクセスできますが、ディレクトリーは DocumentRoot には含まれません。

許可

allow は、指定のディレクトリーにアクセスできるクライアントを指定します。クライアントは、すべて、ドメイン名、IP アドレス、部分的な IP アドレス、ネットワーク/ネットマスクのペアなどにすることができます。DocumentRoot ディレクトリーは、すべての からのリクエストを 許可 するよう設定されます。つまり、すべて のユーザーがアクセスできます。

AllowOverride

AllowOverride ディレクティブは、任意の オプション.htaccess ファイルの宣言で上書きできるかどうかを設定します。デフォルトでは、root ディレクトリーと DocumentRoot の両方が、.htaccess の上書きを許可しないように設定されています。

BrowserMatch

BrowserMatch ディレクティブにより、サーバーは環境変数を定義し、クライアントの Web ブラウザータイプを識別する User-Agent HTTP ヘッダーフィールドに基づいて適切なアクションを実行できます。デフォルトでは、Web サーバーは BrowserMatch を使用して、既知の問題のある特定のブラウザーへの接続を拒否し、またこれらのアクションに問題があることがわかっているブラウザーの keepalive および HTTP ヘッダーのフラッシュを無効にします。

キャッシュディレクティブ

デフォルトの Apache HTTP Server 設定ファイルでは、コメント化されたキャッシュディレクティブが多数提供されています。ほとんどの場合、行頭からハッシュ記号(#)を削除して、このような行をコメント解除すれば十分です。ただし、以下は、より重要なキャッシュ関連のディレクティブのリストです。

  • CacheEnable: キャッシュがディスク、メモリー、またはファイル記述子キャッシュであるかを指定します。デフォルトでは、CacheEnable/ の下にある URL のディスクキャッシュを設定します。
  • CacheRoot - キャッシュされたファイルを含むディレクトリーの名前を指定します。デフォルトの CacheRoot/var/httpd/proxy/ ディレクトリーです。
  • cache size: キャッシュが使用できる領域をキロバイト単位で指定します。デフォルトの CacheSize5 KB です。
以下は、他の一般的なキャッシュ関連のディレクティブの一覧です。
  • CacheMaxExpire: キャッシュに HTML ドキュメントが保持される期間(元の Web サーバーからのリロードなし)を指定します。デフォルトは 24 時間(86400 秒)です。
  • CacheLastModifiedFactor - 独自の有効期限が設定された元のサーバーから行われなかったドキュメントの期限切れ(有効期限)の日付を指定します。デフォルトの CacheLastModifiedFactor0.1 に設定されています。つまり、このようなドキュメントの有効期限は、ドキュメントが最後に変更された時点の 1 回目と等しくなります。
  • CacheDefaultExpire: 有効期限をサポートしないプロトコルを使用して受信されたドキュメントの有効期限を時間単位で指定します。デフォルトは 1 時間(3600 秒)に設定されます。
  • noProxy: コンテンツがキャッシュされないサブネット、IP アドレス、ドメイン、またはホストのスペース区切りの一覧を指定します。この設定は、イントラネットサイトで最も役立ちます。

CacheNegotiatedDocs

デフォルトでは、Web サーバーは、コンテンツベースでネゴシエートされたドキュメントをキャッシュしないようにプロキシーサーバーに要求します(つまり、時間の経過とともに、または要求元からの入力が変わる可能性があります)。 CacheNegotiatedDocs が に設定されている場合、この機能は無効になり、プロキシーサーバーはそのようなドキュメントをキャッシュできます。

CustomLog

CustomLog は、ログファイルとログファイルの形式を識別します。デフォルトでは、アクセスログは /var/log/httpd/access_log ファイルに記録され、エラーは /var/log/httpd/error_log ファイルに記録されます。

デフォルトの CustomLog 形式は、以下に示すように 結合された ログファイル形式です。
remotehost rfc931 user date "request" status bytes referrer user-agent

DefaultIcon

DefaultIcon は、他のアイコンが指定されていないファイルのサーバー生成ディレクトリーリストに表示されるアイコンを指定します。unknown.gif イメージファイルがデフォルトです。

DefaultType

DefaultType は、MIME タイプを判断できないドキュメントに使用する Web サーバーのデフォルトコンテンツタイプを設定します。デフォルトは text/plain です。

却下

deny は Allow と同様に機能しますが、アクセスが拒否されるユーザーを指定します。DocumentRoot は、デフォルトで誰からでも要求を 拒否 するように設定されていません。

ディレクトリー

& lt;directory /path/to/directory > タグおよび </ Directory > タグにより、特定のディレクトリーとそのサブディレクトリーにのみ適用される設定ディレクティブのグループを囲むために使用されるコンテナーが作成されます。ディレクトリーに適用されるディレクティブは、ディレクトリータグ内で使用できます。

デフォルトでは、非常に制限のあるパラメーターはルートディレクトリー(/)に適用され、Options ( オプションを参照)および AllowOverride ( AllowOverrideを参照)ディレクティブを使用します。この設定では、より多くの許容設定を必要とするシステム上の任意のディレクトリーを明示的に指定する必要があります。
デフォルト設定では、別の Directory コンテナーは、ディレクトリーツリーに柔軟性の低いパラメーターを割り当てる DocumentRoot 用に設定され、Apache HTTP Server がそこにあるファイルにアクセスできるようにします。
ディレクトリーコンテナー ScriptAlias ディレクティブで指定されたディレクトリー外にあるサーバー側のアプリケーションの追加 cgi-bin ディレクトリーを設定するために使用することもできます(詳細は、ScriptAlias を参照してください)。
これを実行するには、Directory コンテナーは、そのディレクトリーに ExecCGI オプションを設定する必要があります。
たとえば、CGI スクリプトが /home/my_cgi_directory にある場合は、以下のディレクトリーコンテナー httpd.conf ファイルに追加します。
<Directory /home/my_cgi_directory>
  Options +ExecCGI
</Directory>
次に、AddHandler ディレクティブのコメントを解除して、.cgi 拡張子を持つファイルを CGI スクリプトとして識別する必要があります。AddHandler の設定手順については、AddHandler を参照してください。
これを機能させるには、CGI スクリプトのパーミッションとスクリプトへのパス全体を 0755 に設定する必要があります。

DirectoryIndex

DirectoryIndex は、ディレクトリー名の最後にスラッシュ(/)を指定して、ユーザーがディレクトリーのインデックスを要求する際にサーバーによって提供されるデフォルトページです。

ユーザーが http://example/this_directory/ ページを要求すると、DirectoryIndex ページ(存在する場合)またはサーバー生成ディレクトリー一覧のいずれかを取得します。DirectoryIndex のデフォルトは index.html で、index.html.var タイプマップです。サーバーはこれらのファイルのいずれかを検索し、最初に見つかったファイルを返します。これらのファイルのいずれかが見つからず、Options Indexes がそのディレクトリーに設定されている場合は、ディレクトリーリスト機能がオフになっていない限り、サーバーはサブディレクトリーとファイルの一覧を HTML 形式で生成し、返します。

DocumentRoot

DocumentRoot は、リクエストに応答して提供される HTML ファイルのほとんどが含まれるディレクトリーです。セキュアではないセキュアな Web サーバー両方のデフォルトの DocumentRoot/var/www/html ディレクトリーです。たとえば、サーバーは以下のドキュメントのリクエストを受け取る場合があります。

http://example.com/foo.html
サーバーは、デフォルトの ディレクトリーで以下のファイルを検索します。
/var/www/html/foo.html
セキュアおよびセキュアではない Web サーバーで共有されないように DocumentRoot を変更するには、「仮想ホスト」 を参照してください。

errorDocument

ErrorDocument ディレクティブは、HTTP 応答コードをクライアントに送信するメッセージまたは URL に関連付けます。デフォルトでは、Web サーバーはエラーが発生した場合に単純なエラーメッセージおよび通常は暗号的なエラーメッセージを出力します。ErrorDocument ディレクティブは、代わりにカスタマイズされたメッセージまたはページを出力するよう Web サーバーを強制します。

重要な影響
有効なようにするには、メッセージを二重引用符 " のペアで囲む 必要があり ます。

ErrorLog

errorlog は、サーバーエラーがログ に記録されるファイルを指定します。デフォルトでは、このディレクティブは /var/log/httpd/error_log に設定されます。

ExtendedStatus

ExtendedStatus ディレクティブは、server-status ハンドラーが呼び出されたときに Apache が基本(off)または詳細なサーバーステータス情報()を生成するかどうかを制御します。server-status ハンドラーは Location タグを使用して呼び出されます。server-status の呼び出しに関する詳細情報は、場所 に含まれています。

Group

Apache HTTP Server プロセスのグループ名を指定します。

このディレクティブは、仮想ホストの設定で非推奨になりました。
デフォルトでは、Groupapache に設定されます。

HeaderName

HeaderName は、ディレクトリーに存在するファイルに名前を付けます。このファイルが、サーバーが生成したディレクトリー一覧の先頭に追加されます。ReadmeName と同様に、サーバーは可能な場合、またはプレーンテキストで HTML ドキュメントとして追加しようとします。

HostnameLookups

HostnameLookups は、onoff、または double に設定できます。 HostnameLookups が に設定されている場合、サーバーは各接続の IP アドレスを自動的に解決します。IP アドレスを解決すると、サーバーは DNS サーバーへの 1 つ以上の接続を行い、処理のオーバーヘッドが追加されます。HostnameLookupsdouble に設定されている場合、サーバーはダブルリバース DNS 検索を実行し、処理オーバーヘッドをさらに追加します。

サーバー上のリソースを節約するために、HostnameLookups はデフォルトで off に設定されます。
サーバーログファイルにホスト名が必要な場合は、Web サーバーのログファイルのローテーション時に DNS ルックアップをより効率的にかつ一括で実行する多くのログアナライザーツールの 1 つを実行することを検討してください。

IfDefine

IfDefine タグは、IWDefine タグが true と指定された test の場合に適用される設定ディレクティブを囲む。テストが false の場合、ディレクティブは無視されます。

IfDefine タグのテストはパラメーター名(例: HAVE_PERL)です。パラメーターが定義されている場合、これはサーバーの start-up コマンドに引数として提供されることを意味します。これは、テストが true であることを意味します。この場合、Web サーバーが起動すると、テストは true で、if Define タグに含まれるディレクティブが 適用されます。

IfModule

& lt;IfModule > タグおよび </ IfModule > タグは、指定されたモジュールが読み込まれている場合にのみアクティベートされる条件付きコンテナーを作成します。IfModule コンテナー内のディレクティブは、2 つの条件のいずれかで処理されます。ディレクティブは、開始 <If Module> タグ内に含まれるモジュールがロードされている場合 に処理されます。または、感嘆符 ! がモジュール名の前に表示される場合、ディレクティブは <If Module> タグで指定されたモジュールが読み込まれて いない 場合 にのみ処理されます。

Apache HTTP Server モジュールの詳細は、「モジュールの追加」 を参照してください。

包含

include を使用すると、起動時に他の設定ファイルを含めることができます。

これらの設定ファイルへのパスは、ServerRoot に対する絶対または相対パスになります。
重要な影響
サーバーが個別にパッケージ化されたモジュール( mod_sslmod_perlphp など)を使用するには、以下のディレクティブを セクション 1: httpd.conf のグローバル環境 に含める必要があります。
Include conf.d/*.conf

IndexIgnore

index ignore は、ファイルの拡張子、部分的なファイル名、ワイルドカード式、または完全なファイル名を一覧表示します。Web サーバーには、サーバーが生成したディレクトリー一覧内のこれらのパラメーターに一致するファイルは含まれません。

IndexOptions

IndexOptions は、アイコン、ファイルの説明などを追加して、生成されたサーバーダイレクトリストの外観を制御します。Options Indexes が設定されている場合( オプションを参照)、Web サーバーは、Web サーバーがインデックスなしでディレクトリーの HTTP 要求を受信するとディレクトリー一覧を生成します。

まず、Web サーバーは、DirectoryIndex ディレクティブ(通常は index.html)に一覧表示されている名前に一致するファイルを検索します。index.html ファイルが見つからない場合、Apache HTTP Server は要求されたディレクトリーの HTML ディレクトリーのリストを作成します。このディレクトリー一覧の表示は、一部では IndexOptions ディレクティブによって制御されます。
デフォルト設定は FancyIndexing をオンにします。つまり、ユーザーは列ヘッダーをクリックするとディレクトリーの一覧をソートできます。別の方法では、同じヘッダースイッチを昇順から降順に切り替えます。FancyIndexing は、ファイル拡張子に基づいて、異なるファイルの異なるアイコンも表示します。
AddDescription オプションは、FancyIndexing と併用すると、サーバーが生成したディレクトリー一覧にファイルの簡単な説明を表示します。
IndexOptions には、サーバーが生成したディレクトリーの外観を制御するために設定できる他のパラメーターが多数あります。IconHeight パラメーターおよび IconWidth パラメーターでは、サーバーが生成した Web ページのアイコンに HTML HEIGHT および WIDTH タグを含める必要があります。IconsAreLinks パラメーターは、グラフィカルアイコンと URL リンクターゲットを含む HTML リンクアンカーを組み合わせます。

KeepAlive

keepalive は、サーバーが接続ごとに複数の要求を許可するかどうかを設定します。また、1 つのクライアントがサーバーのリソースを過剰に消費できないようにするために使用できます。

デフォルトでは、Keepaliveoff に設定されています。Keepaliveon に設定され、サーバーが非常にビジー状態になると、サーバーは子プロセスの最大数を迅速に生成できます。このような場合、サーバーが大幅に低下します。Keepalive が有効になっている場合は、KeepAliveTimeout low を設定し( KeepAliveTimeout ディレクティブの詳細は KeepAliveTimeout を参照してください)、サーバー上の /var/log/httpd/error_log ログファイルを監視することが推奨されます。このログは、サーバーが子プロセスが不足すると報告されます。

KeepAliveTimeout

KeepAliveTimeout は、リクエストが提供されてから接続を閉じるまでにサーバーが待機する秒数を設定します。サーバーがリクエストを受信すると、代わりに Timeout ディレクティブが適用されます。KeepAliveTimeout ディレクティブは、デフォルトで 15 秒に設定されています。

LanguagePriority

LanguagePriority は、クライアントの Web ブラウザーに言語設定が設定されていない場合に、異なる言語の優先順位を設定します。

listen

Listen コマンドは、Web サーバーが受信要求を受け入れるポートを識別します。デフォルトでは、Apache HTTP Server はセキュアではない Web 通信ではポート 80 をリッスンするように設定されています。セキュアな Web 通信のためにポート 443 番のポート(セキュアなサーバーを定義する /etc/httpd/conf.d/ssl.conf ファイル)です。

Apache HTTP Server が 1024 未満のポートをリッスンするように設定されている場合、root ユーザーのみがこれを起動できます。ポート 1024 以降では、通常のユーザーとして httpd を起動できます。
Listen ディレクティブを使用して、サーバーが接続を受け入れる特定の IP アドレスを指定することもできます。

LoadModule

LoadModule は、Dynamic Shared Object (DSO)モジュールを読み込むために使用されます。LoadModule ディレクティブの使用手順など、Apache HTTP Server の DSO サポートの詳細は、「モジュールの追加」 を参照してください。モジュールの読み込み順序は、Apache HTTP Server 2.0 では 重要ではなくなりました。Apache HTTP Server 2.0 DSO サポートの詳細は、「Dynamic Shared Object (DSO)のサポート」 を参照してください。

場所

&lt ;Location& gt; および </Location > タグは、URL に基づくアクセス制御を指定するコンテナーを作成します。

たとえば、サーバーのドメイン内から接続したユーザーがステータスレポートを表示できるようにするには、以下のディレクティブを使用します。
<Location /server-status>
  SetHandler server-status
  Order deny,allow
  Deny from all
  Allow from <.example.com>
</Location>
& lt;.example.com& gt; を Web サーバーの 2 次ドメイン名に置き換えます。
ドメイン内からの要求にサーバー設定レポート(インストールされたモジュールおよび設定ディレクティブを含む)を提供するには、以下のディレクティブを使用します。
<Location /server-info>
  SetHandler server-info
  Order deny,allow
  Deny from all
  Allow from <.example.com>
</Location>
ここでも、<.example.com > を Web サーバーの 2 次ドメイン名に置き換えます。

LogFormat

LogFormat ディレクティブは、さまざまな Web サーバーログファイルの形式を設定します。使用される実際の LogFormat は、CustomLog ディレクティブで指定された設定によって異なります( CustomLogを参照してください)。

CustomLog ディレクティブが combined に設定されている場合の形式オプションを以下に示します。
%H (リモートホストの IP アドレスまたはホスト名)
要求しているクライアントのリモート IP アドレスを一覧表示します。 HostnameLookups が に設定されている場合、クライアントのホスト名は DNS で利用できない限り記録されます。
%l (rfc931)
使用されていません。このフィールドのログファイルにハイフンが表示されます。
%u (認証ユーザー)
認証が必要な場合に記録されたユーザーのユーザー名を一覧表示します。通常、これは使用されないため、ハイフン - がこのフィールドのログファイルに表示されます。
%t (date)
リクエストの日時を一覧表示します。
%r (要求文字列)
ブラウザーまたはクライアントからの要求文字列を正確に一覧表示します。
%s (ステータス)
クライアントホストに返された HTTP ステータスコードを一覧表示します。
%b (バイト)
ドキュメントのサイズを一覧表示します。
%\"%{Referer}i\" (referrer)
クライアントホストを Web サーバーを参照する Web ページの URL を一覧表示します。
%\"%{user-Agent}i\" (user-agent)
リクエストを行う Web ブラウザーのタイプを一覧表示します。

LogLevel

logLevel は、エラーログのエラーメッセージの詳細を設定します。ログ レベルは、(最も詳細度の低いものから詳細まで)設定して、アラートcriterrorwarnnoticeinfo、または debug を設定できます。デフォルトの LogLevelwarn です。

MaxKeepAliveRequests

このディレクティブは、永続接続ごとに許可されるリクエストの最大数を設定します。Apache プロジェクトでは、サーバーのパフォーマンスが向上する高度な設定を推奨しています。MaxKeepAliveRequests はデフォルトで 100 に設定されています。これはほとんどの状況に適しています。

NameVirtualHost

NameVirtualHost ディレクティブは、必要に応じて名前ベースの仮想ホストに IP アドレスとポート番号を関連付けます。名前ベースの仮想ホストを使用すると、1 つの Apache HTTP Server が複数の IP アドレスを使用せずに異なるドメインを提供できるようになります。

注記
名前ベースの仮想ホストは、セキュアでない HTTP 接続で のみ 機能します。セキュアなサーバーで仮想ホストを使用する場合は、代わりに IP アドレスベースの仮想ホストを使用してください。
名前ベースの仮想ホストを有効にするには、NameVirtualHost 設定ディレクティブのコメントを解除し、正しい IP アドレスを追加します。次に、設定に必要なとおり、各仮想ホストの VirtualHost コンテナーを追加します。

オプション

Options ディレクティブは、特定のディレクトリーで利用可能なサーバー機能を制御します。たとえば、root ディレクトリーに指定される制限的なパラメーターでは、OptionsFollowSymLinks ディレクティブにだけ設定されます。サーバーがルートディレクトリーのシンボリックリンクをたどることができることを除いて、機能は有効になっていません。

デフォルトでは、DocumentRoot ディレクトリーの OptionsIndexes および FollowSymLinks が含まれるように設定されています。インデックス を使用すると、DirectoryIndex ( index.htmlなど)が指定されていない場合、サーバーはディレクトリーのディレクトリー一覧を生成できます。FollowSymLinks を使用すると、サーバーはそのディレクトリー内のシンボリックリンクをたどることができます。
注記
メインサーバー設定セクションの options ステートメントは、各 VirtualHost コンテナーに個別に複製する必要があります。詳細は、VirtualHost を参照してください。

順序

Order ディレクティブは、allow ディレクティブと deny ディレクティブが評価される順序を制御します。サーバーは、DocumentRoot ディレクトリーの Deny ディレクティブの前に Allow ディレクティブを評価するように設定されています。

PidFile

pidfile は、 サーバーがプロセス ID (PID)を記録するファイルに名前を付けます。デフォルトでは、PID は /var/run/httpd.pid に一覧表示されます。

Proxy

<proxy *& gt ; および </Proxy > タグは、プロキシーサーバーにのみ適用される設定ディレクティブのグループを囲むコンテナーを作成します。< Directory > コンテナー内で許可されるディレクティブの多くは、< Proxy> コンテナー内 でも使用できます。

ProxyRequests

Apache HTTP Server がプロキシーサーバーとして機能するように設定するには、< IfModule mod_proxy.c > 行、ProxyRequests、および <Proxy> スタンザの各行からハッシュマーク(#)を削除します。ProxyRequests ディレクティブを On に設定し、< Proxy> スタンザの Allow from ディレクティブでサーバーへのアクセスが許可されるドメインを設定し ます。

ReadmeName

ReadmeName は、ディレクトリー内に存在する場合は、サーバーが生成したディレクトリー一覧の最後に追加されるファイルに名前を付けます。Web サーバーは、最初に HTML ドキュメントとしてファイルを含めようとし、次にこれをプレーンテキストとして追加しようとします。デフォルトでは、ReadmeNameREADME.html に設定されています。

リダイレクト

Web ページを移動すると、リダイレクト を使用してファイルの場所を新しい URL にマップできます。形式は以下のとおりです。

Redirect /<old-path>/<file-name> http://<current-domain>/<current-path>/<file-name>
この例では、< old-path > を < file-name> および < current- domain > の古いパス情報に置き換え、< current-path > を、< file-name > の現在のドメインおよびパス情報に置き換えます。
この例では、古い場所にある & lt;file-name& gt; のリクエストは自動的に新しい場所にリダイレクトされます。
高度なリダイレクト手法については、Apache HTTP Server に含まれる mod_rewrite モジュールを使用します。mod_rewrite モジュールの設定に関する詳細は、 http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html でオンラインの Apache Software Foundation ドキュメントを参照してください。

ScriptAlias

ScriptAlias ディレクティブは、CGI スクリプトの場所を定義します。一般に、CGI スクリプトを DocumentRoot 内に残しておくことは適切ではありません。ここでは、テキストドキュメントとして参照できます。このため、サーバー側の実行ファイルとスクリプトを含む DocumentRoot ディレクトリー外の特別なディレクトリーは ScriptAlias ディレクティブによって指定されます。このディレクトリーは cgi-bin と呼ばれ、デフォルトで /var/www/cgi-bin/ に設定されます。

cgi-bin/ ディレクトリー外に実行ファイルを保存するディレクトリーを確立できます。手順は、AddHandler および ディレクトリー を参照してください。

ServerAdmin

ServerAdmin ディレクティブを Web サーバー管理者のメールアドレスに設定します。このメールアドレスは、サーバーが生成した Web ページのエラーメッセージを表示するため、ユーザーはサーバー管理者にメールを送信して問題を報告できます。

デフォルトでは、ServerAdminroot@localhost に設定されます。
ServerAdmin を設定する一般的な方法は、webmaster@example.com に設定することです。設定が完了したら、エイリアス webmaster/etc/aliases で Web サーバーを担当する人に実行し、/usr/bin/newaliases を実行します。

ServerName

ServerName は、サーバーのホスト名およびポート番号( Listen ディレクティブと一致する)を指定します。ServerName はマシンの実際のホスト名に一致する必要はありません。たとえば、Web サーバーは www.example.com ですが、サーバーのホスト名は実際には foo.example.com になります。ServerName で指定する値は、システムで解決できる有効な Domain Name Service (DNS)名である必要があります。何も作成しないでください。

以下は ServerName ディレクティブの例です。
ServerName www.example.com:80
ServerName を指定する場合は、IP アドレスとサーバー名のペアが /etc/hosts ファイルに含まれていることを確認してください。

ServerRoot

ServerRoot ディレクティブは、Web サイトコンテンツを含む最上位のディレクトリーを指定します。デフォルトでは、ServerRoot はセキュア なサーバーと非セキュアサーバーの両方で /etc/httpd に設定されています。

ServerSignature

ServerSignature ディレクティブは、Apache HTTP Server サーバーバージョンと ServerName を含む行を、クライアントに送信されたエラーメッセージなどのサーバー生成ドキュメントに追加します。ServerSignature はデフォルトで on に設定されます。

ServerSignatureEMail に設定すると、自動生成される応答の署名行に mailto:ServerAdmin HTML タグが追加されます。ServerSignatureOff に設定すると、Apache がバージョン番号とモジュール情報を送信しないようにすることもできます。ServerTokens 設定も確認してください。

ServerTokens

ServerTokens ディレクティブは、クライアントに返信する Server 応答ヘッダーフィールドに、オペレーティングシステムのタイプおよびコンパイル済みモジュールの詳細が含まれるべきかどうかを決定します。デフォルトでは、ServerTokensFull に設定され、オペレーティングシステムの種類とコンパイル済みモジュールに関する情報を送信します。ServerTokensProd に設定すると製品名のみが送信され、脆弱性をスキャンする際にサーバーヘッダーのハッカー確認情報がいくつでも推奨されます。ServerTokensMin (最小)または OS (オペレーティングシステム)に設定することもできます。

SuexecUserGroup

mod_suexec モジュールから発信される SuexecUserGroup ディレクティブは、CGI プログラムに対してユーザーおよびグループの実行権限を指定できるようにします。CGI 以外の要求は、User ディレクティブおよび Group ディレクティブで指定されたユーザーおよびグループで処理されます。

注記
バージョン 2.0 以降、SuexecUserGroup ディレクティブは、VirtualHosts セクションの設定内で User ディレクティブおよび Group ディレクティブを使用する Apache HTTP Server 1.3 設定に置き換わりました。

Timeout

timeout は、サーバーが通信中に受信および送信を待つ時間を秒単位で定義します。タイムアウト はデフォルトで 300 秒に設定されています。これはほとんどの状況に適しています。

TypesConfig

TypesConfig は、MIME タイプマッピングのデフォルト一覧(コンテンツタイプへのファイル名拡張)を設定するファイルに名前を付けます。デフォルトの TypesConfig ファイルは /etc/mime.types です。/etc/mime.types を編集する代わりに、MIME タイプマッピングを追加する方法として、 AddType ディレクティブを使用することが推奨されます。

AddType の詳細は、AddType を参照してください。

UseCanonicalName

に設定すると、このディレクティブは ServerName ディレクティブおよび Port ディレクティブで指定された値を使用して Apache HTTP Server がそれ自体を参照するように設定します。UseCanonicalNameoff に設定されている場合、サーバーは代わりに、それ自体を参照する際に要求元のクライアントによって使用される値を使用します。

UseCanonicalName はデフォルトで off に設定されています。

User

User ディレクティブは、サーバープロセスのユーザー名を設定し、サーバーがアクセスできるファイルを決定します。このユーザーがアクセスできないファイルは、Apache HTTP Server に接続するクライアントにもアクセスできません。

デフォルトでは、Userapache に設定されています。
このディレクティブは、仮想ホストの設定で非推奨になりました。
注記
セキュリティー上の理由から、Apache HTTP Server は root ユーザーとしては実行されません。

UserDir

UserDir は、Web サーバーによって提供される個人 HTML ファイルを配置する各ユーザーのホームディレクトリー内のサブディレクトリーです。このディレクティブは、デフォルトで 無効 にするように設定されています。

サブディレクトリーの名前は、デフォルト設定で public_html に設定されます。たとえば、サーバーは以下のリクエストを受け取る場合があります。
http://example.com/~username/foo.html
サーバーは ファイルを検索します。
/home/username/public_html/foo.html
上記の例では、/home/username/ がユーザーのホームディレクトリーです(ユーザーのホームディレクトリーのデフォルトパスは異なる場合があることに注意してください)。
ユーザーのホームディレクトリーのパーミッションが正しく設定されていることを確認してください。ユーザーのホームディレクトリーを 0711 に設定する必要があります。読み取り(r)および実行(x)ビットは、ユーザーの public_html ディレクトリー(0755 も機能)に設定する必要があります。ユーザーの public_html ディレクトリーで提供されるファイルは、少なくとも 0644 に設定する必要があります。

VirtualHost

<VirtualHost &gt ; および </VirtualHost > タグは、仮想ホストの特性を示すコンテナーを作成します。VirtualHost コンテナーはほとんどの設定ディレクティブを受け入れます。

コメント付き VirtualHost コンテナーは httpd.conf で提供され、各仮想ホストに必要な最低限の設定ディレクティブのセットを示しています。仮想ホストの詳細は、「仮想ホスト」 を参照してください。
注記
デフォルトの SSL 仮想ホストコンテナーは、ファイル /etc/httpd/conf.d/ssl.conf に置かれるようになりました。