1 <?xml version="1.0" encoding="UTF-8" ?>
2 <!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
3 <?xml-stylesheet type="text/xsl" href="../style/manual.ja.xsl"?>
4 <!-- English Revision: 669847:1838459 (outdated) -->
7 Licensed to the Apache Software Foundation (ASF) under one or more
8 contributor license agreements. See the NOTICE file distributed with
9 this work for additional information regarding copyright ownership.
10 The ASF licenses this file to You under the Apache License, Version 2.0
11 (the "License"); you may not use this file except in compliance with
12 the License. You may obtain a copy of the License at
14 http://www.apache.org/licenses/LICENSE-2.0
16 Unless required by applicable law or agreed to in writing, software
17 distributed under the License is distributed on an "AS IS" BASIS,
18 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19 See the License for the specific language governing permissions and
20 limitations under the License.
23 <modulesynopsis metafile="core.xml.meta">
26 <description>常に使用可能な Apache HTTP サーバのコア機能</description>
30 <name>AcceptFilter</name>
31 <description>プロトコルを Listen しているソケットの最適化を設定する</description>
32 <syntax>AcceptFilter <var>protocol</var> <var>accept_filter</var></syntax>
33 <contextlist><context>server config</context></contextlist>
34 <compatibility>2.1.5 以降</compatibility>
37 <p>Listen しているソケットに対して、OS が固有に持っているプロトコルについての最適化を
38 有効にするディレクティブです。大前提となる条件は、データが受信されるか
39 HTTP リクエスト全体がバッファされるかするまで、カーネルがサーバプロセスに
40 ソケットを送らないようになっている、ということです。現在サポートされているのは、
41 <a href="http://www.freebsd.org/cgi/man.cgi?query=accept_filter&sektion=9">
42 FreeBSD の Accept Filter</a> と Linux のプリミティブな
43 <code>TCP_DEFER_ACCEPT</code> のみです。</p>
45 <p>FreeBSD のデフォルト値は :</p>
47 AcceptFilter http httpready <br/>
48 AcceptFilter https dataready
51 <p><code>httpready</code> Accept Filter は HTTP リクエスト全体を、
52 カーネルレベルでバッファリングします。リクエスト全体を受信し終わると、
53 その後サーバプロセスにそれを送ります。詳細については <a
54 href="http://www.freebsd.org/cgi/man.cgi?query=accf_http&sektion=9">accf_http(9)</a>
55 を参照してください。HTTPS のリクエストは暗号化されているので <a
56 href="http://www.freebsd.org/cgi/man.cgi?query=accf_data&sektion=9">accf_data(9)</a>
59 <p>Linux でのデフォルト値は :</p>
61 AcceptFilter http data <br/>
62 AcceptFilter https data
65 <p>Linux の <code>TCP_DEFER_ACCEPT</code> は HTTP リクエストのバッファリングを
66 サポートしていません。<code>none</code> 以外の値で
67 <code>TCP_DEFER_ACCEPT</code> が有効になります。詳細については Linux
69 href="http://homepages.cwi.nl/~aeb/linux/man2html/man7/tcp.7.html">tcp(7)</a>
72 <p>引数に <code>none</code> を指定すると、プロトコルに対する全ての Accept
73 Filter が無効になります。<code>nntp</code> といった、先にサーバにデータを
74 送る必要のあるプロトコルに有効です :</p>
75 <example>AcceptFilter nntp none</example>
81 <name>AcceptPathInfo</name>
82 <description>後に続くパス名情報を受け付けるリソースの指定</description>
83 <syntax>AcceptPathInfo On|Off|Default</syntax>
84 <default>AcceptPathInfo Default</default>
85 <contextlist><context>server config</context>
86 <context>virtual host</context><context>directory</context>
87 <context>.htaccess</context></contextlist>
88 <override>FileInfo</override>
89 <compatibility>Apache 2.0.30 以降で使用可能</compatibility>
93 <p>このディレクティブは実際のファイル名 (もしくは存在するディレクトリの
94 存在しないファイル) の後に続くパス名情報があるリクエストを受け付けるか
95 拒否するかを制御します。続きのパス名情報はスクリプトには <code>PATH_INFO</code>
98 <p>例えば、<code>/test/</code> が、<code>here.html</code> というファイル
99 一つのみがあるディレクトリを指しているとします。そうすると、
100 <code>/test/here.html/more</code> と <code>/test/nothere.html/more</code>
101 へのリクエストは両方とも <code>/more</code> を <code>PATH_INFO</code> とします。</p>
103 <p><directive>AcceptPathInfo</directive> ディレクティブに指定可能な
107 <dt><code>Off</code></dt><dd>リクエストは存在するパスにそのまま
108 マップされる場合にのみ受け付けられます。ですから、上の例の
109 <code>/test/here.html/more</code> のように、本当のファイル名の
110 後にパス名情報が続くリクエストには 404 NOT FOUND エラーが返ります。</dd>
112 <dt><code>On</code></dt><dd>前の方のパスが存在するファイルにマップする場合は
113 リクエストが受け付けられます。上の例の <code>/test/here.html/more</code>
114 は <code>/test/here.html</code> が有効なファイルにマップすれば
117 <dt><code>Default</code></dt><dd>続きのパス名情報の扱いはリクエストの
118 <a href="../handler.html">ハンドラ</a>で決まります。
119 普通のファイルのためのコアハンドラのデフォルトは <code>PATH_INFO</code> を拒否します。
120 <a href="mod_cgi.html">cgi-script</a> や <a
121 href="mod_isapi.html">isapi-handler</a> のようにスクリプトを扱うハンドラは
122 一般的にデフォルトで <code>PATH_INFO</code> を受け付けます。</dd>
125 <p><code>AcceptPathInfo</code> の主な目的はハンドラの <code>PATH_INFO</code> を
126 受け付けるか拒否するかの選択を上書きできるようにすることです。
127 例えば、これは例えば <a href="mod_include.html">INCLUDES</a> のような
128 <a href="../filter.html">フィルタ</a>を使って <code>PATH_INFO</code> に
129 基づいてコンテンツを生成しているときに必要になります。
130 コアハンドラでは通常拒否されるので、そういったスクリプトを動作させるには
134 <Files "mypaths.shtml"><br />
136 Options +Includes<br />
137 SetOutputFilter INCLUDES<br />
138 AcceptPathInfo On<br />
146 <name>AccessFileName</name>
147 <description>分散設定ファイルの名前</description>
148 <syntax>AccessFileName <var>filename</var> [<var>filename</var>] ...</syntax>
149 <default>AccessFileName .htaccess</default>
150 <contextlist><context>server config</context><context>virtual host</context>
154 <p>リクエストを処理するとき、サーバはディレクトリに
155 対して分散設定ファイルが<a href="#allowoverride">有効になっていれば</a>、
157 パス上にある全てのディレクトリから、ここで指定された名前の一覧の中で
158 最初に見つかったファイルをそれぞれ設定ファイルとして読み込みます。例えば:</p>
164 <p>という設定があると、以下のようにして無効にされていない限り、
165 ドキュメント <code>/usr/local/web/index.html</code>
166 を返す前に、サーバは <code>/.acl</code>, <code>/usr/.acl</code>,
167 <code>/usr/local/.acl</code>, <code>/usr/local/web/.acl</code> から
171 <Directory /><br />
173 AllowOverride None<br />
178 <seealso><directive module="core">AllowOverride</directive></seealso>
179 <seealso><a href="../configuring.html">設定ファイル</a></seealso>
180 <seealso><a href="../howto/htaccess.html">.htaccess ファイル</a></seealso>
184 <name>AddDefaultCharset</name>
185 <description>レスポンスのコンテントタイプが <code>text/plain</code> あるいは
186 <code>text/html</code> の場合に追加するデフォルトの charset パラメータ</description>
187 <syntax>AddDefaultCharset On|Off|<var>charset</var></syntax>
188 <default>AddDefaultCharset Off</default>
189 <contextlist><context>server config</context>
190 <context>virtual host</context><context>directory</context>
191 <context>.htaccess</context></contextlist>
192 <override>FileInfo</override>
195 <p>レスポンスのコンテントタイプが <code>text/plain</code>
196 あるいは <code>text/html</code>
197 の場合に限りますが、レスポンスに追加するメディアタイプの文字セットパラメータ
198 (文字エンコーディングの名前) のデフォルト値を、このディレクティブで指定します。
199 これはレスポンス <transnote>レスポンスの HTML</transnote> 内で <code>META</code>
200 要素で指定された、どのような文字セットも無効にしますが、
201 最終的な挙動はユーザのクライアント側の設定で決まります。
202 この機能は <code>AddDefaultCharset Off</code> という設定で無効になります。
203 <code>AddDefaultCharset On</code> にすれば、
204 Apache 内部のデフォルト文字セット <code>iso-8859-1</code> に設定されます。
205 その他 <var>charset</var> に指定できる値であれば、どんな値でも使えます。
206 指定する値は、MIME メディアタイプとして使われる
207 <a href="http://www.iana.org/assignments/character-sets">IANA
208 に登録されている文字セット名</a>のうちの一つにすべきです。
212 AddDefaultCharset utf-8
215 <p><directive>AddDefaultCharset</directive> を使うときは、全てのテキストリソースが
216 指定する文字エンコードになっていると分かっていて、かつ、
217 リソースの個々に文字セットを指定するのが大変な場合のみです。
218 例を挙げると、レガシーな CGI スクリプトなどの、動的に生成される
219 コンテンツを含むリソースに文字セットパラメータを追加する場合で、
220 ユーザの入力データが出力に入り、クロスサイトスクリプティングが
221 引き起こされうる場合です。デフォルト文字セットをセットしたとしても、
222 ブラウザの "文字エンコードの自動選択" 機能が有効になっているユーザを
223 守ることにはならないので、もちろんより良い解決策は単にスクリプトを修正
226 <seealso><directive module="mod_mime">AddCharset</directive></seealso>
230 <name>AddOutputFilterByType</name>
231 <description>MIME-type に出力フィルタを割り当てる</description>
232 <syntax>AddOutputFilterByType <var>filter</var>[;<var>filter</var>...] <var>MIME-type</var>
233 [<var>MIME-type</var>] ...</syntax>
234 <contextlist><context>server config</context>
235 <context>virtual host</context><context>directory</context>
236 <context>.htaccess</context></contextlist>
237 <override>FileInfo</override>
238 <compatibility>Apache 2.0.33 以降で使用可能; Apache 2.1 以降非推奨</compatibility>
241 <p>このディレクティブは応答の <glossary ref="mime-type">MIME タイプ</glossary> に応じて出力<a
242 href="../filter.html">フィルタ</a>を使用するようにします。
243 しかし後述する問題のため、このディレクティブは非推奨です。
244 同等の機能は <module>mod_filter</module> で実現可能です。</p>
246 <p>次の例は <module>mod_deflate</module> の <code>DEFLATE</code> フィルタを
247 使っています。<code>text/html</code> と <code>text/plain</code> の
248 すべての出力 (静的なものも動的なものも) をクライアントに送られる前に
252 AddOutputFilterByType DEFLATE text/html text/plain
255 <p>複数のフィルタでコンテンツを処理させたいときは、それぞれの名前をセミコロンで
257 <directive>AddOutputFilterByType</directive> を一つずつ書くこともできます。</p>
259 <p>次の例は <code>text/html</code> のスクリプトのすべての出力を
260 まず <code>INCLUDES</code> フィルタで処理し、さらに <code>DEFLATE</code> フィルタにかけます。</p>
263 <Location /cgi-bin/><br />
265 Options Includes<br />
266 AddOutputFilterByType INCLUDES;DEFLATE text/html<br />
271 <note type="warning"><title>注:</title>
272 <p><directive>AddOutputFilterByType</directive> ディレクティブにより
273 有効にしたフィルタは場合によっては、部分的もしくは完全に適用されないことが
274 あります。例えば、<glossary ref="mime-type">MIME タイプ</glossary> が決定できないときには
275 <directive module="core">DefaultType</directive> の設定が同じだったとしても、
276 <directive module="core">DefaultType</directive> 設定を使うようになります。</p>
277 <p>しかし、確実にフィルタが適用されるようにしたいときは、リソースに
278 明示的にコンテントタイプを割り当てることができます。これには例えば
279 <directive module="mod_mime">AddType</directive> ディレクティブや
280 <directive module="core">ForceType</directive> ディレクティブを使います。
281 (nphでない) CGI スクリプトでコンテントタイプを設定するというものでも
286 <seealso><directive module="mod_mime">AddOutputFilter</directive></seealso>
287 <seealso><directive module="core">SetOutputFilter</directive></seealso>
288 <seealso><a href="../filter.html">フィルタ</a></seealso>
292 <name>AllowEncodedSlashes</name>
293 <description>URL 中の符号化されたパス分離文字が先に伝えられるのを許可するかどうかを
295 <syntax>AllowEncodedSlashes On|Off</syntax>
296 <default>AllowEncodedSlashes Off</default>
297 <contextlist><context>server config</context><context>virtual host</context>
299 <compatibility>Apache 2.0.46 以降で使用可能</compatibility>
302 <p><directive>AllowEncodedSlashes</directive> ディレクティブは符号化された
303 パス分離文字 (<code>/</code> は <code>%2F</code>、さらにシステムによっては
304 <code>\</code> に対応する <code>%5C</code>) が存在する URL の使用を
305 許可するかどうかを決定します。通常はそのような URL は 404 (Not found) エラー
308 <p><directive>AllowEncodedSlashes</directive> <code>On</code> による
309 パス分離文字の使用は、<code>PATH_INFO</code> と合わせて
312 <note><title>注</title>
313 <p>符号化されたスラッシュを許可することは、<em>復号</em>をすることを
314 意味<em>しません</em>。<code>%2F</code> や (関係するシステムでの)
315 <code>%5C</code> は、他の部分が復号された URL の中でもそのままの形式で
319 <seealso><directive module="core">AcceptPathInfo</directive></seealso>
324 <name>AllowOverride</name>
325 <description><code>.htaccess</code> で許可されるディレクティブの種類</description>
326 <syntax>AllowOverride All|None|<var>directive-type</var>
327 [<var>directive-type</var>] ...</syntax>
328 <default>AllowOverride All</default>
329 <contextlist><context>directory</context></contextlist>
333 module="core">AccessFileName</directive> によって指定された)
334 <code>.htaccess</code> ファイルを見つけた時、そのファイルの中で
335 宣言されたどのディレクティブがより前に定義された設定ディレクティブを
336 上書きできるかを知る必要があります。</p>
338 <note><title><Directory> セクションでのみ使用可能</title>
339 <directive>AllowOverride</directive> は正規表現無しの<directive
340 type="section" module="core">Directory</directive>
341 セクションでのみ有効で、<directive type="section"
342 module="core">Location</directive> や <directive
343 module="core" type="section">DirectoryMatch</directive>
344 や <directive type="section"
345 module="core">Files</directive> セクションでは無効です。
348 <p>このディレクティブを <code>None</code> に設定すると、<a href="#accessfilename">.htaccess</a> ファイルは完全に
350 この場合、サーバはファイルシステムの <code>.htaccess</code> ファイルを読むことを
353 <p>このディレクティブが <code>All</code> に設定されている時には、
354 <code>.htaccess</code> という <a
355 href="directive-dict.html#Context">コンテキスト</a> を持つ
356 全てのディレクティブが利用できます。</p>
358 <p><var>directive-type</var> には、以下のディレクティブ群の
366 認証に関するディレクティブの使用を許可する (<directive
367 module="mod_authn_dbm">AuthDBMGroupFile</directive>,
368 <directive module="mod_authn_dbm">AuthDBMUserFile</directive>,
369 <directive module="mod_authz_groupfile">AuthGroupFile</directive>,
370 <directive module="mod_authn_core">AuthName</directive>,
371 <directive module="mod_authn_core">AuthType</directive>, <directive
372 module="mod_authn_file">AuthUserFile</directive>, <directive
373 module="mod_authz_core">Require</directive> <em>など</em>)。</dd>
378 ドキュメントタイプを制御するためのディレクティブの使用を許可する (<directive
379 module="core">DefaultType</directive>, <directive
380 module="core">ErrorDocument</directive>, <directive
381 module="core">ForceType</directive>, <directive
382 module="mod_negotiation">LanguagePriority</directive>,
383 <directive module="core">SetHandler</directive>, <directive
384 module="core">SetInputFilter</directive>, <directive
385 module="core">SetOutputFilter</directive>,
386 <module>mod_mime</module> の Add* と Remove*
388 ドキュメントのメタデータ (<directive
389 module="mod_headers">Header</directive>, <directive
390 module="mod_headers">RequestHeader</directive>, <directive
391 module="mod_setenvif">SetEnvIf</directive>, <directive
392 module="mod_setenvif">SetEnvIfNoCase</directive>, <directive
393 module="mod_setenvif">BrowserMatch</directive>, <directive
394 module="mod_usertrack">CookieExpires</directive>, <directive
395 module="mod_usertrack">CookieDomain</directive>, <directive
396 module="mod_usertrack">CookieStyle</directive>, <directive
397 module="mod_usertrack">CookieTracking</directive>, <directive
398 module="mod_usertrack">CookieName</directive>),
399 <module>mod_rewrite</module> のディレクティブ <directive
400 module="mod_rewrite">RewriteEngine</directive>, <directive
401 module="mod_rewrite">RewriteOptions</directive>, <directive
402 module="mod_rewrite">RewriteBase</directive>, <directive
403 module="mod_rewrite">RewriteCond</directive>, <directive
404 module="mod_rewrite">RewriteRule</directive>) と
405 <module>mod_actions</module> の
406 <directive module="mod_actions">Action</directive>
413 ディレクトリインデックスを制御するためのディレクティブの使用を許可する
415 module="mod_autoindex">AddDescription</directive>,
416 <directive module="mod_autoindex">AddIcon</directive>, <directive
417 module="mod_autoindex">AddIconByEncoding</directive>,
418 <directive module="mod_autoindex">AddIconByType</directive>,
419 <directive module="mod_autoindex">DefaultIcon</directive>, <directive
420 module="mod_dir">DirectoryIndex</directive>, <directive
421 module="mod_autoindex">FancyIndexing</directive>, <directive
422 module="mod_autoindex">HeaderName</directive>, <directive
423 module="mod_autoindex">IndexIgnore</directive>, <directive
424 module="mod_autoindex">IndexOptions</directive>, <directive
425 module="mod_autoindex">ReadmeName</directive>
431 ホストへのアクセス制御を行うためのディレクティブの使用を許可する (<directive
432 module="mod_authz_host">Allow</directive>, <directive
433 module="mod_authz_host">Deny</directive>, <directive
434 module="mod_authz_host">Order</directive>).</dd>
436 <dt>Options[=<var>Option</var>,...]</dt>
439 特定のディレクトリにおける機能を指定するためのディレクティブの使用を許可する
440 (<directive module="core">Options</directive> と
441 <directive module="mod_include">XBitHack</directive>)。
442 <directive module="core">Options</directive> で設定するオプション
443 を、(空白を含めない) コンマ区切りのリストにして等号の後に続けることで
450 AllowOverride AuthConfig Indexes
453 <p>上の例では <code>AuthConfig</code> と <code>Indexes</code> のどちらにも
454 属さないディレクティブはすべて内部サーバエラーを引き起こします。</p>
457 <seealso><directive module="core">AccessFileName</directive></seealso>
458 <seealso><a href="../configuring.html">設定ファイル</a></seealso>
459 <seealso><a href="../howto/htaccess.html">.htaccess ファイル</a></seealso>
463 <name>CGIMapExtension</name>
464 <description>CGI スクリプトのインタープリタの位置を調べるための手法</description>
465 <syntax>CGIMapExtension <var>cgi-path</var> <var>.extension</var></syntax>
466 <contextlist><context>directory</context><context>.htaccess</context>
468 <override>FileInfo</override>
469 <compatibility>NetWare のみ</compatibility>
472 <p>このディレクティブは Apache が CGI スクリプトを実行するための
474 例えば、<code>CGIMapExtension sys:\foo.nlm .foo</code> と設定すると
475 <code>.foo</code> という拡張子のすべての CGI スクリプトは FOO インタープリタに
481 <name>ContentDigest</name>
482 <description><code>Content-MD5</code> HTTP 応答ヘッダの生成を有効にする</description>
483 <syntax>ContentDigest On|Off</syntax>
484 <default>ContentDigest Off</default>
485 <contextlist><context>server config</context><context>virtual host</context>
486 <context>directory</context><context>.htaccess</context>
488 <override>Options</override>
489 <status>Experimental</status>
492 <p>このディレクティブは、RFC1864 及び RFC2616 において定義されている
493 <code>Content-MD5</code> ヘッダーの生成を有効にします。</p>
495 <p>MD5 は、任意長のデータの「メッセージダイジェスト」(「指紋」
496 と表現されることもある) を計算するアルゴリズムで、
497 データの変更があった場合には非常に高い信頼度でメッセージダイジェストに変更が
500 <p><code>Content-MD5</code> ヘッダは、エンドツーエンドで
501 エンティティボディーに含まれるメッセージの完全性チェック
502 (Message Integrity Check - MIC)を提供します。
503 このヘッダを調べることで、プロキシやクライアントは、
504 途中経路におけるエンティティボディの予期せぬ変更などを
505 検出することができます。ヘッダの例:</p>
508 Content-MD5: AuLb7Dp1rqtRtxz2m9kRpA==
511 <p>リクエスト毎にメッセージダイジェストを計算する (値はキャッシュされません)
513 サーバパフォーマンスが低下することについて注意してください。</p>
515 <p><code>Content-MD5</code >は、<module>core</module> 機能により処理された
517 SSI ドキュメントや CGI スクリプトの出力、バイトレンジを指定した
518 応答の場合にはこのヘッダは付与されません。
524 <name>DefaultType</name>
525 <description>サーバがコンテントタイプを決定できないときに
526 送られる MIME コンテントタイプ</description>
527 <syntax>DefaultType <var>MIME-type|none</var></syntax>
528 <default>DefaultType text/plain</default>
529 <contextlist><context>server config</context><context>virtual host</context>
530 <context>directory</context><context>.htaccess</context>
532 <override>FileInfo</override>
533 <compatibility>引数 <code>none</code> は Apache 2.2.7 以降で利用可能</compatibility>
535 <p>サーバは、<glossary ref="mime-type">MIME タイプ</glossary>
536 のマップからは決定できないドキュメントの送信を要求されることがあります。</p>
538 <p>サーバは、ドキュメントのコンテントタイプをクライアントに通知するべきです。
539 サーバで通常の方法ではこれが判定できない場合は、
540 <code>DefaultType</code> で指定されたタイプを利用します。
544 DefaultType image/gif
547 <p>これは <code>.gif</code> という拡張子がファイル名に含まれていない
548 多くの GIF 画像が含まれているディレクトリに適しているでしょう。</p>
550 <p>サーバでも管理者でも判定することができない (例えばプロクシの) 場合、
551 誤った情報を与えるよりは MIME タイプの指定がない状態が望ましいことも
552 あります。この場合は次のようにします :</p>
556 <p><code>DefaultType None</code> は httpd-2.2.7
559 <p><directive module="core">ForceType</directive> ディレクティブと
560 違って、このディレクティブはデフォルトの MIME タイプを提供するだけで
561 あることに注意してください。ファイル名の拡張子を含め、
562 メディアタイプを決定できる他の MIME タイプの定義があれば
569 <description>変数の存在を宣言する</description>
570 <syntax>Define <var>parameter-name</var></syntax>
571 <contextlist><context>server config</context></contextlist>
574 <p><program>httpd</program> の <code>-D</code>
576 <p>このディレクティブを使うと、スタートアップスクリプトに
577 記載されている <code>-D</code> 引数を書き換える必要なく、
578 <directive module="core" type="section">IfDefine</directive>
579 セクションを切り替えることができます。</p>
583 <directivesynopsis type="section">
584 <name>Directory</name>
585 <description>指定のファイルシステムのディレクトリとサブディレクトリとのみに
586 適用されるディレクティブを囲む</description>
587 <syntax><Directory <var>directory-path</var>>
588 ... </Directory></syntax>
589 <contextlist><context>server config</context><context>virtual host</context>
593 <p>指定されたディレクトリとそのサブディレクトリにのみ
595 <directive type="section">Directory</directive> と
596 <code></Directory></code> を対として、ディレクティブ群を囲います。
597 その中には、ディレクトリコンテキストで許可された全てのディレクティブを
599 <var>directive-path</var> は、フルパスもしくは Unix のシェル形式の
601 <code>?</code> は任意の 1 文字、<code>*</code> は任意の文字列にマッチします。
602 シェルにおける指定同様、文字の範囲を <code>[]</code> で指定できます。
603 ワイルドカードは `/' 文字にはマッチしませんので、
604 <code>/home/user/public_html</code> には
605 <code><Directory /*/public_html></code> はマッチしませんが、
606 <code><Directory /home/*/public_html></code> はマッチします。
610 <Directory /usr/local/httpd/htdocs><br />
612 Options Indexes FollowSymLinks<br />
618 <p><var>directory-path</var> 引数には注意してください: その引数は
619 Apache がファイルをアクセスするために使うファイルシステムのパスに
620 そのままマッチする必要があります。ある <code><Directory></code> に
621 適用されるディレクティブは、別のシンボリックリンクをたどったりして
622 同じディレクトリを違うパスでアクセスした場合には適用されません。</p>
625 <p><code>~</code> という文字を
626 付加することで<glossary ref="regex">正規表現</glossary>を利用することもできます。
630 <Directory ~ "^/www/.*/[0-9]{3}">
633 <p>といった指定の場合、<code>/www/</code> 以下にある数字
634 3 文字のディレクトリにマッチします。</p>
636 <p>もし複数の (正規表現以外の) <directive type="section"
637 >Directory</directive>セクションが
638 ドキュメントを含むディレクトリ (やその上位ディレクトリのどれか) とマッチしたならば、
640 href="#accessfilename">.htaccess</a> ファイルのディレクティブも読み込みつつ、
645 <Directory /><br />
647 AllowOverride None<br />
649 </Directory><br />
651 <Directory /home/><br />
653 AllowOverride FileInfo<br />
658 <p>と設定し、ドキュメント <code>/home/web/dir/doc.html</code> への
659 アクセスがあった場合には以下のように動作します:</p>
662 <li><code>AllowOverride None</code> が適用される。
663 (<code>.htaccess</code> ファイルは無効になる)</li>
665 <li><code>AllowOverride FileInfo</code> が適用される
666 (<code>/home</code> ディレクトリに対して)。</li>
668 <li><code>/home/.htaccess</code>, <code>/home/web/.htaccess</code>,
669 <code>/home/web/dir/.htaccess</code> の順にそれらのファイル中の
670 FileInfo ディレクティブが適用される。</li>
673 <p>正規表現は、通常のセクションがすべて適用されるまで
675 その後、全ての正規表現が設定ファイルに現れた順で試されます。
679 <Directory ~ abc$><br />
681 # ... directives here ...<br />
686 <p>正規表現のセクションはすべての通常の <directive
687 type="section">Directory</directive> と
688 <code>.htaccess</code> の適用が終わるまで考慮されません。
689 その後で、正規表現は <code>/home/abc/public_html/abc</code> にマッチし、
690 対応する <directive type="section">Directory</directive> が適用されます。</p>
692 <p><strong>Apache のデフォルトでは <code><Directory /></code> へのアクセスは
693 <code>Allow from All</code> になっていることに注意してください。
694 これは、URL からマップされたどのファイルでも Apache は送るということです。
695 これは以下のようにして変更することが推奨されています。</strong></p>
698 <Directory /><br />
700 Order Deny,Allow<br />
706 <p><strong>そしてアクセスを<em>可能にしたい</em>ディレクトリに対して
709 href="../misc/security_tips.html">セキュリティに関するコツ</a>を
710 参照してください。</strong></p>
712 <p>ディレクトリセクションは <code>httpd.conf</code> ファイルに書きます。
713 <directive type="section">Directory</directive>
714 ディレクティブは入れ子にすることができず、
715 <directive module="core" type="section">Limit</directive> や <directive
716 module="core" type="section">LimitExcept</directive> セクションの中にも
720 <seealso>リクエストを受けた際にこれらの異なるセクションが
721 組み合わされる方法については <a href="../sections.html">
722 <Directory>, <Location>, <Files> セクションの動作法</a></seealso>
725 <directivesynopsis type="section">
726 <name>DirectoryMatch</name>
727 <description>正規表現にマッチするファイルシステムのディレクトリと
728 サブディレクトリとのみに適用されるディレクティブを囲む</description>
729 <syntax><DirectoryMatch <var>regex</var>>
730 ... </DirectoryMatch></syntax>
731 <contextlist><context>server config</context><context>virtual host</context>
735 <p><directive module="core" type="section">Directory</directive>
736 ディレクティブと同様に、<directive type="section">DirectoryMatch</directive>
737 と <code></DirectoryMatch></code> は指定されたディレクトリと
738 そのサブディレクトリにのみ適用されるディレクティブ群を囲います。
739 しかし、このディレクティブは引数として<glossary
740 ref="regex">正規表現</glossary>をとります。例えば:</p>
743 <DirectoryMatch "^/www/(.+/)?[0-9]{3}">
746 <p>は <code>/www/</code> 以下にある数字 3 文字のディレクトリにマッチします。</p>
749 <seealso>通常の <directive type="section">Directory</directive> と正規表現の指定が
750 適用される順番については <directive type="section"
751 module="core">Directory</directive></seealso>
752 <seealso>リクエストを受けた際にこれらの異なるセクションが
753 組み合わされる方法については <a href="../sections.html">
754 <Directory>, <Location>, <Files> セクションの動作法</a></seealso>
758 <name>DocumentRoot</name>
759 <description>ウェブから見えるメインのドキュメントツリーになる
761 <syntax>DocumentRoot <var>directory-path</var></syntax>
762 <default>DocumentRoot /usr/local/apache/htdocs</default>
763 <contextlist><context>server config</context><context>virtual host</context>
767 <p>このディレクティブは、<program>httpd</program>
768 がファイルを提供するディレクトリを設定します。
769 <directive module="mod_alias">Alias</directive> のようなディレクティブにマッチしない場合には、
770 ドキュメントの (訳注:ファイルシステム上の) パスを生成するために、
771 リクエストされた URL のパス部分をドキュメントルートに付与します。
775 DocumentRoot /usr/web
779 <code>http://www.my.host.com/index.html</code> へのアクセスがあれば
780 <code>/usr/web/index.html</code> が返されます。
781 <var>directory-path</var> が絶対パスでない場合は、
782 <directive module="core">ServerRoot</directive>
785 <p><directive>DocumentRoot</directive> は最後のスラッシュ無しで
788 <seealso><a href="../urlmapping.html#documentroot">URL をファイルシステムの位置に
793 <name>EnableMMAP</name>
794 <description>配送中にファイルを読み込むためにメモリマッピングを
796 <syntax>EnableMMAP On|Off</syntax>
797 <default>EnableMMAP On</default>
798 <contextlist><context>server config</context><context>virtual host</context>
799 <context>directory</context><context>.htaccess</context>
801 <override>FileInfo</override>
804 <p>このディレクティブは配送中にファイルの内容を読み込む必要があるときに
805 <program>httpd</program> がメモリマッピングを使うかどうかを制御します。
807 例えば、<module>mod_include</module> を使って SSI ファイルを配送
808 するときのように、ファイルの途中のデータをアクセスする必要があるときには
809 Apache は OS がサポートしていればファイルをメモリにマップします。</p>
812 このメモリマップは性能の向上をもたらすことがあります。
813 しかし、環境によっては運用上の問題を防ぐためにメモリマッピングを
814 使用しないようにした方が良い場合もあります:</p>
817 <li>マルチプロセッサシステムの中にはメモリマッピングをすると
818 <program>httpd</program> の性能が落ちるものがあります。</li>
819 <li>NFS マウントされた <directive module="core">DocumentRoot</directive>
820 では、<program>httpd</program> がメモリマップしている間にファイルが削除されたり
821 短くなったりしたときに起こるセグメンテーションフォールトのために
822 <program>httpd</program> がクラッシュする可能性があります。</li>
825 <p>これらの問題に当てはまるサーバの設定の場合は、以下のようにして
826 ファイルの配送時のメモリマッピングを使用不可にしてください:</p>
832 <p>NFS マウントされたファイルには、問題のあるファイルにのみ明示的に
836 <Directory "/path-to-nfs-files">
846 <name>EnableSendfile</name>
847 <description>ファイルのクライアントへの配送時にカーネルの sendfile サポートを
849 <syntax>EnableSendfile On|Off</syntax>
850 <default>EnableSendfile On</default>
851 <contextlist><context>server config</context><context>virtual host</context>
852 <context>directory</context><context>.htaccess</context>
854 <override>FileInfo</override>
855 <compatibility>バージョン 2.0.44 以降で使用可能</compatibility>
858 <p>このディレクティブはクライアントにファイルの内容を送るときに
859 <program>httpd</program> がカーネルの
860 sendfile サポートを使うかどうかを制御します。デフォルトでは、
861 例えば静的なファイルの配送のように、リクエストの処理にファイルの
862 途中のデータのアクセスを必要としないときには、Apache は OS が
863 サポートしていればファイルを読み込むことなく sendfile を使って
866 <p>sendfile は read と send を別々に行なうことと、バッファの割り当てを
867 回避します。しかし、プラットフォームやファイルシステムの中には
868 運用上の問題を避けるためにこの機能を使用不可にした方が良い場合があります:</p>
871 <li>プラットフォームの中にはビルドシステムが検知できなかった、壊れた
872 sendfile のサポートが存在するものがあります。これは特に
873 バイナリが別のマシンでビルドされ、壊れた sendfile のあるマシンに
875 <li>Linux では、sendfile を用いると、
876 IPv6 使用時に存在する特定ネットワークカードの TCP-checksum
877 オフロードのバグを踏んでしまいます。</li>
878 <li>Itanium 上の Linux では、sendfile では 2GB 以上の
879 ファイルを扱うことができません。</li>
880 <li>ネットワークマウントされた <directive module="core">DocumentRoot</directive>
882 では、カーネルは自身のキャッシュを使ってネットワークからのファイルを
883 送ることができないことがあります。</li>
886 <p>これらの問題に当てはまるサーバの設定の場合は、以下のようにして
887 この機能を使用不可にしてください:</p>
894 <p>NFS や SMB マウントされたファイルには、問題のあるファイルにのみ明示的に
898 <Directory "/path-to-nfs-files">
908 <name>ErrorDocument</name>
909 <description>エラーが発生したときにサーバがクライアントに送るもの</description>
910 <syntax>ErrorDocument <var>error-code document</var></syntax>
911 <contextlist><context>server config</context><context>virtual host</context>
912 <context>directory</context><context>.htaccess</context>
914 <override>FileInfo</override>
917 <p>問題やエラーが発生したときの動作として、
918 Apache には以下の四つのうち一つの動作を設定することができます。</p>
921 <li>Apache 標準の簡単なエラーメッセージを表示</li>
923 <li>自分で指定したメッセージを表示</li>
925 <li>問題やエラーの処理をする為に、自サーバ内の
926 <var>URL-path</var> へリダイレクト</li>
928 <li>問題やエラーの処理をする為に、外部の <var>URL</var> へリダイレクト</li>
931 <p>最初のものがデフォルトの動作で、2 番目から 4 番目は、
932 <directive>ErrorDocument</directive>ディレクティブにより、
933 HTTP のレスポンスコードと、メッセージか URL を指定することで設定します。
934 Apache が問題もしくはエラーに関する追加情報を提供することがあります。</p>
936 <p>URL の場合は、スラッシュで始まる (/) ローカルの web-path (
937 <directive module="core">DocumentRoot</directive> からの相対パス
938 ) か、クライアントが解決できる完全な URL を指定します。
939 もしくは、ブラウザに表示されるメッセージを指定できます。
943 ErrorDocument 500 http://foo.example.com/cgi-bin/tester<br />
944 ErrorDocument 404 /cgi-bin/bad_urls.pl<br />
945 ErrorDocument 401 /subscription_info.html<br />
946 ErrorDocument 403 "Sorry can't allow you access today"
949 <p>加えて、特別な値 <code>default</code> を使って Apache に
950 ハードコードされている簡単なメッセージを指定することができます。
951 通常は必要ではありませんが、<code>default</code> を使うと
952 既存の <directive>ErrorDocument</directive> ディレクティブの設定を
953 継承するところで、Apache のハードコードされた簡単なメッセージに
957 ErrorDocument 404 /cgi-bin/bad_urls.pl<br /><br />
958 <Directory /web/docs><br />
960 ErrorDocument 404 default<br />
965 <p>リモート URL (例えば、頭に <code>http</code> と付与した方法) を
966 <directive>ErrorDocument</directive> に指定するとき、
967 たとえ文書が同じサーバにあろうとも、ドキュメントがどこにあるかを通知するために、
968 Apache はリダイレクトをクライアントに送出するということに、注意してください。
969 これにはいろいろと関連して起こる問題があります。
970 中でも最も重要なのは、クライアントは元々のエラーステータスコードを受け取らず、
971 代わりにリダイレクトのステータスコードを受け取るということです。
972 これにより、ステータスコードを使って URL が有効であるかどうかを決定しようとする
973 ウェブロボットやその他クライアントを、混乱させるかもしれません。
974 さらに、<code>ErrorDocument 401</code> にリモートの URL を指定すると、
975 クライアントは 401 というステータスコードを受け取らないため、
976 パスワードをユーザーに入力要求しなければならないことがわかりません。
977 従って、<strong><code>ErrorDocument 401</code> というディレクティブを使う場合は、
978 必ずローカルな文書を参照しなければなりません。</strong></p>
980 <p>Microsoft Internet Explorer (MSIE) はデフォルトではサーバが生成したエラーメッセージが
981 「小さすぎる」ときには無視をして自分自身の「やさしい」エラーメッセージで
982 置換します。サイズのしきい値はエラーの種類によって異なりますが、
983 一般的にはエラーの文書を 512 バイトよりも大きくすると、MSIE は
984 サーバが生成したエラーを隠さずに表示します。詳しい情報は Microsoft
985 Knowledge Base の記事 <a
986 href="http://support.microsoft.com/default.aspx?scid=kb;en-us;Q294807">Q294807</a>
989 <p>ほとんどのエラーメッセージを上書きすることができますが、特定の状況下では
990 <directive module="core">ErrorDocument</directive> の設定にかかわらず
992 特に、不正な形式のリクエストが検出された場合、通常のリクエスト処理は
993 即座に中止され、内蔵のエラーメッセージが返されます。
994 この処置は不正なリクエストによって引き起こされる、セキュリティ問題から
997 <p>2.0 より前のバージョンでは、対になっていない二重引用符を
998 先頭に付けることによりメッセージであることを指定していました。</p>
1002 <seealso><a href="../custom-error.html">カスタマイズ可能な
1003 エラー応答のドキュメンテーション</a></seealso>
1004 </directivesynopsis>
1007 <name>ErrorLog</name>
1008 <description>サーバがエラーをログ収集する場所</description>
1009 <syntax> ErrorLog <var>file-path</var>|syslog[:<var>facility</var>]</syntax>
1010 <default>ErrorLog logs/error_log (Unix) ErrorLog logs/error.log (Windows and OS/2)</default>
1011 <contextlist><context>server config</context><context>virtual host</context>
1015 <p><directive>ErrorLog</directive> ディレクティブは、
1017 記録する為のファイルの名前を設定します。
1018 <var>file-path</var> が絶対パスでないときは、<directive
1019 module="core">ServerRoot</directive> からの相対パスとみなされます。</p>
1021 <example><title>例</title>
1022 ErrorLog /var/log/httpd/error_log
1025 <p><var>file-path</var> がパイプ (|) から始まる場合は、
1026 エラーログを処理するために実行されるコマンドが
1029 <example><title>例</title>
1030 ErrorLog "|/usr/local/bin/httpd_errors"
1033 <p>ファイル名の変わりに <code>syslog</code> と指定することによって、
1034 システムがサポートしていれば syslogd(8) を利用したロギングが有効になります。
1035 デフォルトでは、<code>local7</code> ファシリティとなりますが、
1036 <code>syslog:<var>facility</var></code> といった形で記述することにより、
1037 通常 syslog(1) のドキュメントで説明されているファシリティの一つを使うように
1040 <example><title>例</title>
1041 ErrorLog syslog:user
1045 ログファイルを格納するディレクトリが、サーバを起動したユーザ以外の
1046 ユーザによって書き込める場合にセキュリティが破られる可能性があることに
1048 href="../misc/security_tips.html#serverroot">セキュリティに関するコツ</a> を
1050 <note type="warning"><title>注</title>
1051 <p>Unix 以外のプラットフォームでファイルのパスを入力するときは、
1052 プラットフォームがバックスラッシュの使用を許していたとしても、
1053 確実にスラッシュのみが使用されるように注意してください。一般的には、
1054 設定ファイル全般でスラッシュのみを使う方が良いでしょう。</p>
1057 <seealso><directive module="core">LogLevel</directive></seealso>
1058 <seealso><a href="../logs.html">Apache ログファイル</a></seealso>
1059 </directivesynopsis>
1062 <name>FileETag</name>
1063 <description>ETag HTTP 応答ヘッダを作成するために使用される
1064 ファイルの属性</description>
1065 <syntax>FileETag <var>component</var> ...</syntax>
1066 <default>FileETag INode MTime Size</default>
1067 <contextlist><context>server config</context><context>virtual host</context>
1068 <context>directory</context><context>.htaccess</context>
1070 <override>FileInfo</override>
1074 <directive>FileETag</directive> ディレクティブは
1075 ドキュメントがファイルに基づいたものであるときに、
1076 <code>ETag</code> (エンティティタグ) 応答ヘッダフィールドを作成するときに使用する
1077 ファイルの属性を設定します。 (<code>ETag</code> の値はネットワークの帯域を節約するための
1078 キャッシュの管理で使われます。) Apache 1.3.22 以前では、<code>ETag</code> の値は
1079 <em>常に</em>ファイルの inode, サイズ、最終修正時刻 (mtime) から作成
1080 されていました。<directive>FileETag</directive> ディレクティブにより、これらのどれを使うかを
1081 選ぶことができます。認識されるキーワードは:
1085 <dt><strong>INode</strong></dt>
1086 <dd>ファイルの inode 番号を計算に使います</dd>
1087 <dt><strong>MTime</strong></dt>
1088 <dd>ファイルの最終修正時刻を使います</dd>
1089 <dt><strong>Size</strong></dt>
1090 <dd>ファイルの中身のバイト数を使います</dd>
1091 <dt><strong>All</strong></dt>
1092 <dd>使用可能なすべてのフィールドを使います。
1093 これは <example>FileETag INode MTime Size</example> と等価です。</dd>
1094 <dt><strong>None</strong></dt>
1095 <dd>ドキュメントがファイルに基づいたものでも、<code>ETag</code> フィールドを
1099 <p><code>INode</code>, <code>MTime</code>, <code>Size</code> キーワードには
1100 <code>+</code> や <code>-</code> を前に付けて
1101 指定することもできます。この場合は、より広い範囲から継承された
1102 デフォルトの設定に変更を加えるようになります。そのような接頭辞の
1103 無いキーワードを指定すると、即座に継承した設定を無効にします。</p>
1106 <code>FileETag INode MTime Size</code> があり、
1107 サブディレクトリの設定に <code>FileETag -INode</code> があるときは、
1108 そのサブディレクトリの設定は (設定が上書きされなければサブディレクトリの
1109 サブディレクトリにも継承されます) <code>FileETag MTime Size</code>
1111 <note type="warning"><title>警告</title>
1112 WebDAV を使っていて、<module>mod_dav_fs</module> をストレージプロバイダとして
1113 使っているような Directory や Location では、デフォルト値を変更しないでください。
1114 <module>mod_dav_fs</module> では、条件付リクエストでの比較演算に
1115 <code>INode MTime Size</code>
1117 <directive>FileETag</directive> で <code>ETag</code> フォーマットを
1118 変更してしまうと、条件付リクエストでうまく動作しなくなります。
1121 </directivesynopsis>
1123 <directivesynopsis type="section">
1125 <description>マッチするファイル名に適用されるディレクティブを囲む</description>
1126 <syntax><Files <var>filename</var>> ... </Files></syntax>
1127 <contextlist><context>server config</context><context>virtual host</context>
1128 <context>directory</context><context>.htaccess</context>
1130 <override>All</override>
1133 <p><directive type="section">Files</directive> ディレクティブは、
1134 その中にあるディレクティブの適用範囲をファイル名で制限します。
1135 <directive module="core"
1136 type="section">Directory</directive> ディレクティブや <directive
1137 module="core" type="section">Location</directive> ディレクティブと
1139 これは、<code></Files></code> ディレクティブと対に
1141 このセクション中のディレクティブは、ベース名 (ファイル名の最後の部分)
1142 が指定されたファイル名にマッチするすべてのオブジェクトに適用されます。
1143 <directive type="section">Files</directive> セクションは
1144 <directive type="section">Directory</directive> セクションと
1145 <code>.htaccess</code> が読み込まれた後、
1146 <directive type="section">Location</directive> セクションよりは先に
1148 <directive type="section">Files</directive> は、
1149 <directive type="section">Directory</directive> セクション内に
1151 ファイルシステムの一部にのみ限定して適用させることができます。</p>
1153 <p><var>filename</var> 引数は、ファイル名かワイルドカード文字列
1154 で、ワイルドカードでは <code>?</code> は一つの文字、<code>*</code> は任意の文字列にマッチします。
1155 <code>~</code> という文字を付加することで<glossary ref="regex">正規表現</glossary>を使うこともできます。
1159 <Files ~ "\.(gif|jpe?g|png)$">
1162 <p>とすることにより、一般的なインターネットの画像フォーマットにマッチします。
1164 <directive module="core" type="section">FilesMatch</directive> を使う方が
1167 <p>ちなみに、<directive module="core" type="section"
1168 >Directory</directive> と <directive module="core" type="section"
1169 >Location</directive> セクションとは異なり、
1170 <directive type="section">Files</directive>
1171 は <code>.htaccess</code> ファイル内で利用することができます。
1172 これにより、ユーザがファイル毎にアクセスの制御を行なうことができるように
1176 <seealso>リクエストを受けた際にこれらの異なるセクションが
1177 組み合わされる方法については <a href="../sections.html">
1178 <Directory>, <Location>, <Files> セクションの動作法</a></seealso>
1179 </directivesynopsis>
1181 <directivesynopsis type="section">
1182 <name>FilesMatch</name>
1183 <description>正規表現にマッチするファイル名に適用される
1184 ディレクティブを囲む</description>
1185 <syntax><FilesMatch <var>regex</var>> ... </FilesMatch></syntax>
1186 <contextlist><context>server config</context><context>virtual host</context>
1187 <context>directory</context><context>.htaccess</context>
1189 <override>All</override>
1192 <p><directive type="section">FilesMatch</directive> ディレクティブは、
1193 <directive module="core" type="section">Files</directive>
1194 ディレクティブ同様にその中にあるディレクティブの適用範囲をファイル名で制限します。ただし、
1195 このディレクティブには<glossary ref="regex">正規表現</glossary>を指定します。
1199 <FilesMatch "\.(gif|jpe?g|png)$">
1202 <p>は一般的なインターネットの画像形式にマッチします。</p>
1205 <seealso>リクエストを受けた際にこれらの異なるセクションが
1206 組み合わされる方法については <a href="../sections.html">
1207 <Directory>, <Location>, <Files> セクションの動作法</a></seealso>
1208 </directivesynopsis>
1211 <name>ForceType</name>
1212 <description>すべてのマッチするファイルが指定の MIME コンテントタイプで
1213 送られるようにする</description>
1214 <syntax>ForceType <var>MIME-type</var>|None</syntax>
1215 <contextlist><context>directory</context><context>.htaccess</context>
1217 <override>FileInfo</override>
1218 <compatibility>Apache 2.0 で core に移動</compatibility>
1221 <p><code>.htaccess</code> や <directive type="section" module="core"
1222 >Directory</directive> セクション、
1223 <directive type="section" module="core">Location</directive> セクション、
1224 <directive type="section" module="core">Files</directive> セクションに
1225 書かれた場合、このディレクティブはそこにあるすべてのファイルが
1226 <var>MIME-type</var>
1227 で指定されたコンテントタイプとして扱われるようにします。たとえば、
1228 GIF ファイルばかりのディレクトリがあって、すべてのファイルを <code>.gif</code>
1229 で終わらせたくはないときに、以下のものを使用します:</p>
1235 <p><directive module="core">DefaultType</directive> と違って
1236 このディレクティブはメディアタイプを決めることができるかもしれない
1237 ファイルの拡張子も含め、すべての MIME タイプの関連付けを
1238 上書きすることに注意してください。</p>
1240 <p><code>None</code> という値を使うことで <directive>ForceType</directive> の
1244 # force all files to be image/gif:<br />
1245 <Location /images><br />
1247 ForceType image/gif<br />
1249 </Location><br />
1251 # but normal mime-type associations here:<br />
1252 <Location /images/mixed><br />
1254 ForceType None<br />
1259 </directivesynopsis>
1262 <name>HostnameLookups</name>
1263 <description>クライアントの IP アドレスの DNS ルックアップを
1265 <syntax>HostnameLookups On|Off|Double</syntax>
1266 <default>HostnameLookups Off</default>
1267 <contextlist><context>server config</context><context>virtual host</context>
1268 <context>directory</context></contextlist>
1271 <p>このディレクティブは、ホスト名をログ収集できるように
1273 (さらに、CGI/SSI に <code>REMOTE_HOST</code> 変数として渡します)。
1274 <code>Double</code>を指定した場合、2 重の逆引きを行ないます。
1275 つまり、逆引きの後に、その結果に対して正引きを行ないます。正引きの
1276 結果の IP アドレスの中にオリジナルのアドレスと一致するものがなければ
1277 なりません。("tcpwrappers" の用語では <code>PARANOID</code> と呼ばれています。)</p>
1279 <p><module>mod_authz_host</module> でホスト名によるアクセス
1281 設定の如何によらず 2 重の逆引きが実行されます。
1282 これは、セキュリティを保つために必要です。
1283 <code>HostnameLookups Double</code> を設定しない限り、
1284 他の部分はこの 2 重逆引きの結果を使うことはできません。
1285 例えば、<code>HostnameLookups On</code> と設定してある状態で、
1286 ホスト名によるアクセス制限を行なったオブジェクトへの
1287 リクエストを受けたとすると、2 重の逆引きが成功するか否かによらず、
1288 <code>REMOTE_HOST</code> には通常の逆引き結果が渡されます。</p>
1291 本当に逆引きを必要としているわけではないサイトの
1292 ネットワークトラフィックを低減させるために、<code>Off</code> になっています。
1293 ルックアップによる余計な遅延がなくなるため、
1295 DNS のルックアップには、かなりの時間が必要となる場合が多く、
1296 負荷の高いサイトではこのディレクティブは <code>Off</code> にすべきです。
1297 なお、<var>/support</var> ディレクトリに含まれ、デフォルトでは
1298 インストールディレクトリの <code>bin</code> サブディレクトリに
1299 インストールされる <program>logresolve</program> ユーティリティにより、
1300 Apache の動作とは別に、ログに残されている IP アドレスからホスト名を
1301 ルックアップすることが可能です。</p>
1303 </directivesynopsis>
1305 <directivesynopsis type="section">
1307 <description>実行時、リクエストが条件を満たした場合にのみ適用される
1308 ディレクティブを包含する</description>
1309 <syntax><If <var>expression</var>> ... </If></syntax>
1310 <contextlist><context>server config</context><context>virtual host</context>
1311 <context>directory</context><context>.htaccess</context>
1313 <override>All</override>
1316 <p><directive type="section">If</directive> ディレクティブは
1317 実行時に式を評価し、条件式が真になるときにのみ
1322 <If "$req{Host} = ''">
1325 <p>上記例は <var>Host:</var> ヘッダの存在しない HTTP/1.0 のリクエストに
1329 <seealso><a href="../sections.html">どのように <Directory>, <Location>,
1330 <Files> セクションが動作するか</a> では、リクエストを受けたときに、
1331 これらの異なるセクションがどのように組み合わさるかについて記載されています。
1332 <directive type="section">If</directive> は
1333 <directive type="section">Files</directive>
1334 と同じ処理順と用法になっています。</seealso>
1335 </directivesynopsis>
1337 <directivesynopsis type="section">
1338 <name>IfDefine</name>
1339 <description>起動時にテストが真であるときのみに処理されるディレクティブを
1341 <syntax><IfDefine [!]<var>parameter-name</var>> ...
1342 </IfDefine></syntax>
1343 <contextlist><context>server config</context><context>virtual host</context>
1344 <context>directory</context><context>.htaccess</context>
1346 <override>All</override>
1349 <p><code><IfDefine <var>test</var>>...</IfDefine></code>
1351 ディレクティブを条件付きで指定するために利用します。
1352 <directive type="section">IfDefine</directive> セクションに
1353 含まれるディレクティブは、<var>test</var>が
1355 もし <var>test</var> が定義されていなければ、
1356 開始と終了の指定の間のディレクティブは無視されます。</p>
1358 <p><directive type="section">IfDefine</directive> セクションディレクティブに
1359 指定する <var>test</var> は、
1360 次の二つの形式のうちの一つをとります:</p>
1363 <li><var>parameter-name</var></li>
1365 <li><code>!</code><var>parameter-name</var></li>
1368 <p>前者の場合には、<var>parameter-name</var> と名付けられたパラメータが
1369 定義されていれば開始と終了の間のディレクティブが処理されます。
1370 後者の場合は逆で、<em>parameter-name</em> が指定されて<strong>いない</strong>
1373 <p><var>parameter-name</var> 引数は、サーバを起動する際に
1374 <program>httpd</program> のコマンドラインに
1375 <code>-D<var>parameter</var></code> という形で指定するか
1376 あるいは <directive module="core">Define</directive>
1377 ディレクティブで指定されると定義されます。 </p>
1379 <p><directive type="section">IfDefine</directive> セクションは
1380 入れ子にすることができ、複数のパラメータによるテストをするために使用できます。
1384 httpd -DReverseProxy -DUseCache -DMemCache ...<br />
1387 <IfDefine ReverseProxy><br />
1389 LoadModule proxy_module modules/mod_proxy.so<br />
1390 LoadModule proxy_http_module modules/mod_proxy_http.so<br />
1391 <IfDefine UseCache><br />
1393 LoadModule cache_module modules/mod_cache.so<br />
1394 <IfDefine MemCache><br />
1396 LoadModule mem_cache_module modules/mod_mem_cache.so<br />
1398 </IfDefine><br />
1399 <IfDefine !MemCache><br />
1401 LoadModule cache_disk_module modules/mod_cache_disk.so<br />
1410 </directivesynopsis>
1412 <directivesynopsis type="section">
1413 <name>IfModule</name>
1414 <description>モジュールの存在するかしないかに応じて処理される
1415 ディレクティブを囲む</description>
1416 <syntax><IfModule [!]<var>module-file</var>|<var>module-identifier</var>> ...
1417 </IfModule></syntax>
1418 <contextlist><context>server config</context><context>virtual host</context>
1419 <context>directory</context><context>.htaccess</context>
1421 <override>All</override>
1422 <compatibility>モジュール識別子はバージョン 2.1 以降で使用可能。</compatibility>
1425 <p><code><IfModule <var>test</var>>...</IfModule></code>
1426 セクションは、モジュールが存在するときに処理されるディレクティブを
1428 <directive type="section">IfModule</directive> セクションに
1429 含まれるディレクティブは、<var>test</var>
1430 で指定するモジュールが組み込まれているときのみ処理されます。
1431 もし <var>test</var> が組み込まれていなければ、開始と終了の間のディレクティブ
1434 <p><directive type="section">IfModule</directive> セクションディレクティブに
1435 指定する <var>test</var> は、
1436 次の二つの形式のうちの一つをとります。</p>
1439 <li><var>module</var></li>
1441 <li>!<var>module</var></li>
1444 <p>前者の場合は、<var>module</var> と名付けられたモジュールが
1446 (コンパイル済みのものと、<directive
1447 module="mod_so">LoadModule</directive> を利用して
1449 開始と終了の間のディレクティブが処理されます。
1450 後者の場合は逆で、<var>module</var> が組み込まれて<strong>いない</strong>
1453 <p><var>module</var> 引数は、モジュール識別子か
1454 コンパイルをした時のモジュールのファイル名です。
1455 例えば、<code>rewrite_module</code> は識別子で
1456 <code>mod_rewrite.c</code> はファイル名です。
1457 モジュールが複数のソースファイルから構成されている場合は、文字列
1458 <code>STANDARD20_MODULE_STUFF</code> があるファイルの名前を
1461 <p><directive type="section">IfModule</directive> セクションは
1463 複数のモジュールのテストを行なうために使用できます。</p>
1465 <note>特定のモジュールの存在に関わらず動作する
1466 設定ファイルの原本が必要なときにのみこのセクションを使用してください。
1468 <directive type="section">IfModule</directive> セクションの中に
1471 </directivesynopsis>
1474 <name>Include</name>
1475 <description>サーバ設定ファイル中から他の設定ファイルを取り込む</description>
1476 <syntax>Include <var>file-path</var>|<var>directory-path</var></syntax>
1477 <contextlist><context>server config</context><context>virtual host</context>
1478 <context>directory</context>
1480 <compatibility>ワイルドカードによるマッチは 2.0.41 以降で使用可能</compatibility>
1483 <p>このディレクティブにより、サーバの設定ファイルから
1484 他の設定ファイルをインクルードすることができます。</p>
1486 <p>複数のファイルをアルファベット順に一度に読み込むために、
1487 シェル形式 (<code>fnmatch</code>) のワイルドカード文字を使うことができます。
1488 さらに、<directive>Include</directive> にディレクトリを指定した場合は、
1489 ディレクトリとそのサブディレクトリ内の全てのファイルを
1490 アルファベット順に読み込んで、設定ファイルとして処理します。
1491 しかし、ディレクトリ全体を読み込むのはお勧めできません。
1492 ふとしたことから <code>httpd</code> が読み込みに失敗するような
1493 一時ファイルをディレクトリに残してしまうようなことがよくあるからです。</p>
1495 <p>指定するファイルパスは絶対パスか、
1496 <directive module="core">ServerRoot</directive> ディレクトリからの
1502 Include /usr/local/apache2/conf/ssl.conf<br />
1503 Include /usr/local/apache2/conf/vhosts/*.conf
1506 <p><directive module="core">ServerRoot</directive> からの相対パスの場合は:</p>
1509 Include conf/ssl.conf<br />
1510 Include conf/vhosts/*.conf
1514 <seealso><program>apachectl</program></seealso>
1515 </directivesynopsis>
1518 <name>KeepAlive</name>
1519 <description>HTTP の持続的な接続を有効にする</description>
1520 <syntax>KeepAlive On|Off</syntax>
1521 <default>KeepAlive On</default>
1522 <contextlist><context>server config</context><context>virtual host</context>
1526 <p>HTTP/1.0 の Keep-Alive 拡張と HTTP/1.1 の持続的接続の機能は、
1527 複数のリクエストが同じ TCP の接続で送られる、長時間持続する
1528 HTTP セッションを提供します。たくさんの画像が
1529 含まれる HTML ドキュメントでは場合によっては遅延時間が 50% 短縮される結果も
1530 でています。Keep-Alive 接続を有効にするには
1531 <code>KeepAlive On</code> と設定します。</p>
1533 <p>HTTP/1.0 に対応したクライアントの際には、
1534 クライアントより特に要求があった場合のみ Keep-Alive 接続となります。
1535 さらに、HTTP/1.0 クライアントでは、コンテンツの容量が先に
1536 (訳注: 要求に対して応答を返す前に) わかる場合のみ Keep-Alive
1538 これは、CGI の出力や SSI のページ、
1539 サーバが生成したディレクトリのリストのような動的コンテンツを
1540 HTTP/1.0 クライアントに送る場合には Keep-Alive 接続を使えないことを意味します。
1541 HTTP/1.1 に対応したクライアントの際には、
1542 特に指定されない限りはデフォルトとして持続的な接続が行なわれます。
1543 クライアントが要求すれば、コンテンツの容量を判別できないものを
1544 持続的な接続を通して送るために、チャンクエンコーディングが用いられます。</p>
1546 <p>クライアントが Keep-Alive コネクションを使用している場合、
1547 そのコネクションを通してどれだけたくさんのリクエストが処理されても、
1548 それは「リクエスト」1 つとして、MaxRequestsPerChild ディレクティブでは
1552 <seealso><directive module="core">MaxKeepAliveRequests</directive></seealso>
1553 </directivesynopsis>
1556 <name>KeepAliveTimeout</name>
1557 <description>持続的な接続で次のリクエストが来るまでサーバが待つ時間</description>
1558 <syntax>KeepAliveTimeout <var>seconds</var></syntax>
1559 <default>KeepAliveTimeout 5</default>
1560 <contextlist><context>server config</context><context>virtual host</context>
1564 <p>接続を閉じる前に、Apache が次のリクエストを何秒待つかを指定します。
1565 リクエストを受け付けた後は、<directive
1566 module="core">Timeout</directive> ディレクティブによって
1567 指定されたタイムアウト値が使われます。</p>
1569 <p><directive>KeepAliveTimeout</directive> を大きな値に設定すると、
1570 負荷の高いサーバにおいてはパフォーマンスの問題を引き起こす場合があります。
1571 タイムアウトが長ければ長いほど、より多くのサーバプロセスが
1572 活性でないクライアントからの接続の終了を待ち続けることになります。</p>
1574 <p>名前ベースのバーチャルホストコンテキストでは、
1575 <directive module="core">NameVirtualHost</directive>
1576 のセットの中で最初に定義されたバーチャルホストの値
1580 </directivesynopsis>
1582 <directivesynopsis type="section">
1584 <description>囲いの中にあるアクセス制御の適用を特定の HTTP メソッドのみに
1586 <syntax><Limit <var>method</var> [<var>method</var>] ... > ...
1587 </Limit></syntax>
1588 <contextlist><context>server config</context><context>virtual host</context>
1589 <context>directory</context><context>.htaccess</context>
1591 <override>All</override>
1594 <p>アクセス制御は、通常<strong>全ての</strong>アクセスメソッドに対して
1596 <strong>そうしたことから、大部分の場合にはアクセス制御に関わるディレクティブを
1597 <directive type="section">Limit</directive> セクション内に
1598 書くべきではありません。 </strong></p>
1600 <p><directive type="section">Limit</directive> ディレクティブの
1602 指定された HTTP メソッドに限定するためです。
1603 それ以外のメソッドは、<directive type="section">Limit</directive> で囲われたアクセス制御の
1604 <strong>影響を受けません</strong>。
1605 以下の例は、<code>POST</code>, <code>PUT</code>, <code>DELETE</code> のメソッドに対してのみアクセスの制御を行ない、
1606 それ以外のメソッドについては制限しません:</p>
1609 <Limit POST PUT DELETE><br />
1611 Require valid-user<br />
1616 <p>メソッド名には以下の中から一つ以上を列挙することができます:
1618 <code>POST</code>, <code>PUT</code>, <code>DELETE</code>,
1619 <code>CONNECT</code>, <code>OPTIONS</code>,
1620 <code>PATCH</code>, <code>PROPFIND</code>, <code>PROPPATCH</code>,
1621 <code>MKCOL</code>, <code>COPY</code>, <code>MOVE</code>,
1622 <code>LOCK</code>, <code>UNLOCK</code>. <strong>メソッド名は
1623 大文字小文字を区別します。</strong> <code>GET</code> を指定した場合には
1624 <code>HEAD</code> リクエストにも制限がかかります。<code>TRACE</code>
1626 (<directive type="section" module="core">TraceEnable</directive> 参照)。</p>
1628 <note type="warning">アクセス制御が目的の場合は
1629 <directive type="section" module="core">Limit</directive>
1630 セクションの代わりに <directive type="section"
1631 module="core">LimitExcept</directive> セクションを使用した方が良いでしょう。
1632 <directive type="section" module="core">LimitExcept</directive>
1633 セクションでは不特定のメソッドに対しても防御できるからです。</note>
1636 </directivesynopsis>
1638 <directivesynopsis type="section">
1639 <name>LimitExcept</name>
1640 <description>指定されたもの以外の HTTP メソッドにアクセス制御を
1642 <syntax><LimitExcept <var>method</var> [<var>method</var>] ... > ...
1643 </LimitExcept></syntax>
1644 <contextlist><context>server config</context><context>virtual host</context>
1645 <context>directory</context><context>.htaccess</context>
1647 <override>All</override>
1650 <p><directive type="section">LimitExcept</directive> と
1651 <code></LimitExcept></code> は、引数に
1652 <strong>含まれていない</strong>
1653 HTTP のアクセスメソッドに適用するためのアクセス制御
1655 つまり、<directive type="section" module="core"
1656 >Limit</directive> セクションの反対の動作をし、
1657 標準のメソッドと標準外や未認識のメソッドの場合の両方を設定できます。
1658 <directive type="section" module="core">Limit</directive> のドキュメントも
1664 <LimitExcept POST GET><br />
1666 Require valid-user<br />
1668 </LimitExcept>
1672 </directivesynopsis>
1675 <name>LimitInternalRecursion</name>
1676 <description>内部リダイレクトと入れ子になったサブリクエストの最大数を決定する</description>
1677 <syntax>LimitInternalRecursion <var>number</var> [<var>number</var>]</syntax>
1678 <default>LimitInternalRecursion 10</default>
1679 <contextlist><context>server config</context><context>virtual host</context>
1681 <compatibility>Apache 2.0.47 以降で使用可能</compatibility>
1684 <p>内部リダイレクトは例えば <directive>Action</directive> ディレクティブを
1685 使っているときに起こります。<directive>Action</directive> ディレクティブは
1686 元々のリクエストを CGI スクリプトに内部リダイレクトを行ないます。
1687 サブリクエストはいくつかの URI に対して、リクエストされたときに
1688 何が起こるかを調べるための Apache の機構です。例えば、<module>mod_dir</module>
1689 は <directive module="mod_dir">DirectoryIndex</directive> ディレクティブ
1690 がリストするファイルを調べるためにサブリクエストを使います。</p>
1692 <p><directive>LimitInternalRecursion</directive> は内部リダイレクトや
1693 サブリクエストが無限ループに陥ったときのサーバクラッシュを防ぎます。
1694 普通、そのようなループは設定に失敗したときに発生します。</p>
1696 <p>このディレクティブは、リクエスト毎に評価される、二つの違う限界値を
1697 設定します。最初の <var>number</var> は、起こり得る
1698 内部リクエストの最大値を設定します。二つめの <var>number</var> は
1699 サブリクエストが入れ子にできる深さを設定します。<var>number</var> を
1700 一つだけ指定したときは、両方の限界値にその値が設定されます。</p>
1702 <example><title>例</title>
1703 LimitInternalRecursion 5
1706 </directivesynopsis>
1709 <name>LimitRequestBody</name>
1710 <description>クライアントから送られる HTTP リクエストのボディの
1711 総量を制限する</description>
1712 <syntax>LimitRequestBody <var>bytes</var></syntax>
1713 <default>LimitRequestBody 0</default>
1714 <contextlist><context>server config</context><context>virtual host</context>
1715 <context>directory</context><context>.htaccess</context>
1717 <override>All</override>
1720 <p>このディレクティブは、リクエストボディに許されるバイト数、<var>bytes</var>
1721 を 0 (無制限を意味します) から 2147483647 (2GB) までの数値で指定します。</p>
1723 <p><directive>LimitRequestBody</directive> ディレクティブは、
1725 (サーバ全体、ディレクトリ、ファイル、ロケーション) 内で
1726 許容する HTTP リクエストメッセージボディのサイズに制限をかけることができます。
1727 クライアントのリクエストがその制限値を越えていれば、
1728 サーバはリクエストを処理せずにエラーを返します。
1729 普通のリクエストメッセージボディのサイズは、リソースの種類や
1730 許可されているメソッドによって大きく変わります。
1731 CGI スクリプトは、よく情報を受信するために
1733 <code>PUT</code> メソッドの実装は、このディレクティブの値として
1734 少なくともあるリソースに対してサーバが受け付けようとする
1735 表現の大きさほどの値を必要とします。</p>
1738 管理者にクライアントからの異常なリクエストを制御できるようにし、
1739 何らかの形のサービス拒否攻撃 (訳注:DoS) を避けるのに有効です。</p>
1741 <p>ある場所へのファイルアップロードを許可する場合に、
1742 アップロードできるファイルのサイズを 100K に制限したければ、
1746 LimitRequestBody 102400
1750 </directivesynopsis>
1753 <name>LimitRequestFields</name>
1754 <description>クライアントからの HTTP リクエストのヘッダフィールドの数を
1756 <syntax>LimitRequestFields <var>number</var></syntax>
1757 <default>LimitRequestFields 100</default>
1758 <contextlist><context>server config</context></contextlist>
1761 <p><var>number</var> には、0 (無制限を意味します) から 32767
1763 デフォルト値は、定数 <code>DEFAULT_LIMIT_REQUEST_FIELDS</code>
1764 によりコンパイル時に定義されます (配布時には 100 と指定されています)。</p>
1766 <p><directive>LimitRequestBody</directive> ディレクティブは、
1767 サーバ管理者が HTTP リクエスト中において許可するリクエストヘッダフィールド数を
1769 サーバはこの値には通常のクライアントからのリクエストに含まれるであろう
1770 フィールドの数より大きな値が必要とします。
1771 クライアントにより使われた要求ヘッダーフィールドの数が
1772 20 を超えることはほとんどありませんが、
1773 これは種々のクライアントの実装によって変わり、
1774 詳細なコンテントネゴシエーションをするためのブラウザの設定までにも
1776 オプションの HTTP 拡張はリクエストヘッダフィールドを使って表される場合が
1780 管理者にクライアントからの異常なリクエストを制御できるようにし、
1781 何らかの形のサービス拒否攻撃 (訳注:DoS) を避けるのに有効です。
1782 リクエストのフィールドが多過ぎることを意味するエラー応答が
1783 普通のクライアントに返されるような時はこの値を増やしてください。</p>
1788 LimitRequestFields 50
1792 </directivesynopsis>
1795 <name>LimitRequestFieldSize</name>
1796 <description>クライアントからの HTTP リクエストのヘッダの
1797 サイズを制限する</description>
1798 <syntax>LimitRequestFieldSize <var>bytes</var></syntax>
1799 <default>LimitRequestFieldSize 8190</default>
1800 <contextlist><context>server config</context></contextlist>
1803 <p>このディレクティブは、HTTP リクエストヘッダ一つで受付ける
1804 バイト数 <var>bytes</var> を指定します。</p>
1806 <p><directive>LimitRequestFieldSize</directive> ディレクティブは、
1807 HTTP リクエストヘッダで許容されるサイズを増減させることができます。
1808 サーバは、このディレクティブの値として、
1809 一般的なクライアントからリクエストが送られた際に、そのリクエストに
1810 付属しているどのヘッダフィールドについても、
1811 十分足りる大きさになっていなければなりません。
1812 一般的なリクエストヘッダのサイズといっても、その大きさは個々の
1813 クライアントの実装によって大きく異なり、
1814 詳細なコンテントネゴシエーションをサポートするかどうかの、
1816 SPNEGO 認証ヘッダでは 12392 バイトにまで及ぶことすらあります。</p>
1819 管理者にクライアントからの異常なリクエストを制御できるようにし、
1820 何らかの形のサービス拒否攻撃 (訳注:DoS) を避けるのに有効です。</p>
1825 LimitRequestFieldSize 4094
1828 <note>通常はデフォルトから変更する必要はありません。</note>
1831 </directivesynopsis>
1834 <name>LimitRequestLine</name>
1835 <description>クライアントからの HTTP リクエスト行のサイズを制限する</description>
1836 <syntax>LimitRequestLine <var>bytes</var></syntax>
1837 <default>LimitRequestLine 8190</default>
1838 <contextlist><context>server config</context></contextlist>
1841 <p>このディレクティブは、HTTP リクエスト行内で許容されるバイト数
1842 <var>bytes</var> を指定します。</p>
1844 <p><directive>LimitRequestLine</directive> ディレクティブにより、
1845 クライアントからの HTTP リクエスト行の許容サイズを増減できます。
1846 リクエスト行は、HTTPメソッド、URI、プロトコルバージョンから成っており、
1847 <directive>LimitRequestLine</directive> はサーバへのリクエストに対して
1848 許容するリクエスト URI の長さを制限することになります。
1849 サーバは、<code>GET</code> リクエストのクエリ部分も含めて、リソースの名前が入るに足る
1853 管理者にクライアントからの異常なリクエストを制御できるようにし、
1854 何らかの形のサービス拒否攻撃 (訳注:DoS) を避けるのに有効です。</p>
1859 LimitRequestLine 4094
1862 <note>通常はデフォルトから変更する必要はありません。</note>
1864 </directivesynopsis>
1867 <name>LimitXMLRequestBody</name>
1868 <description>XML 形式のリクエストのボディのサイズを制限する</description>
1869 <syntax>LimitXMLRequestBody <var>bytes</var></syntax>
1870 <default>LimitXMLRequestBody 1000000</default>
1871 <contextlist><context>server config</context><context>virtual host</context>
1872 <context>directory</context><context>.htaccess</context></contextlist>
1873 <override>All</override>
1876 <p>XML 形式のリクエストのボディの最大値を (バイト単位で) 制限します。
1877 値に <code>0</code> を指定するとチェックを無効にします。</p>
1882 LimitXMLRequestBody 0
1886 </directivesynopsis>
1888 <directivesynopsis type="section">
1889 <name>Location</name>
1890 <description>囲んだディレクティブをマッチする URL のみに適用</description>
1891 <syntax><Location
1892 <var>URL-path</var>|<var>URL</var>> ... </Location></syntax>
1893 <contextlist><context>server config</context><context>virtual host</context>
1897 <p><directive type="section">Location</directive> ディレクティブは、
1898 URL により中に書かれたディレクティブの適用範囲を制限します。
1899 <directive type="section" module="core">Directory</directive>
1901 <code></Location></code> ディレクティブで終了する
1903 <directive type="section">Location</directive> セクションは、
1904 <directive type="section" module="core">Directory</directive> セクションと
1905 <code>.htaccess</code> の読み込みの後、
1906 <directive type="section" module="core">Files</directive> セクションを
1907 適用した後に、設定ファイルに現れた順に処理されます。</p>
1909 <p><directive type="section">Location</directive> セクションは
1910 完全にファイルシステムと関連せずに動作します。このことから導かれる
1911 結果にはいくつか注意する点があります。最も重要なものは、
1912 ファイルシステムの位置へのアクセス制御に <directive
1913 type="section">Location</directive> ディレクティブを使うべきではない
1914 ということです。複数の URL がファイルシステムの同じ位置にマップされる
1915 可能がありますので、そのようなアクセス制御は回避されてしまう可能性が
1918 <note><title>いつ <directive
1919 type="section">Location</directive> を使うか</title>
1921 <p><directive type="section">Location</directive> ディレクティブは
1922 ファイルシステム外のコンテンツにディレクティブを適用するときに
1923 使用してください。ファイルシステムに存在するコンテンツに対しては、
1925 type="section" module="core">Directory</directive> と <directive
1926 type="section" module="core">Files</directive> を使ってください。
1927 例外は、<code><Location /></code> で、これはサーバ全体に対して
1931 <p>全ての (プロキシ以外の) リクエストに対し、
1932 URL は <code>/path/</code> という、
1933 接頭辞 <code>http://servername</code> を含まない形でマッチします。
1934 プロキシリクエストの場合には、<code>scheme://servername/path</code>
1935 という接頭辞を含む形でマッチし、接頭辞を含めて指定する必要があります。</p>
1937 <p>URL にはワイルドカードを利用することができます。
1938 <code>?</code> は任意の一文字、<code>*</code> は任意の文字列にマッチします。
1939 どちらのワイルドカードも URL パス中の / にはマッチしません。</p>
1941 <p><code>~</code> という文字を追加することで、<glossary ref="regex">正規表現</glossary>を
1946 <Location ~ "/(extra|special)/data">
1949 <p>は URL に <code>/extra/data</code> か <code>/special/data</code> という文字列が
1951 <directive type="section" module="core"
1952 >LocationMatch</directive> ディレクティブは
1953 <directive type="section">Location</directive> の正規表現
1956 <p><directive type="section">Location</directive> 機能は、<directive
1957 module="core">SetHandler</directive> ディレクティブと
1959 例えば、<code>example.com</code> のブラウザからのみステータスの参照を有効にしたければ、
1963 <Location /status><br />
1965 SetHandler server-status<br />
1966 Order Deny,Allow<br />
1968 Allow from .example.com<br />
1973 <note><title>/ (スラッシュ) に関する注</title>
1974 <p>スラッシュ文字は、URL 内に現れる場所に応じて変化する
1976 ファイルシステムにおいて利用する場合には複数のスラッシュでも一つの
1977 スラッシュとして扱われることが多いですが、
1978 (<em>すなわち</em>、<code>/home///foo</code> は
1979 <code>/home/foo</code> と同じといったように)
1980 URL においては必ずしもそうなるわけではありません。
1981 <directive type="section" module="core">LocationMatch</directive>
1983 <directive type="section">Location</directive> ディレクティブで、
1984 複数のスラッシュにマッチさせたいときには、明示的に記述する
1987 <p>例えば、<code><LocationMatch ^/abc></code> は、
1988 <code>/abc</code> というリクエスト URL にマッチしますが、
1989 <code>//abc</code> というリクエスト URL にはマッチしません。
1990 (正規表現でない) <directive type="section">Location</directive>
1992 proxy リクエストに対して利用する際には同様の振る舞いをしますが、
1993 (正規表現でない) <directive type="section">Location</directive> を proxy
1994 でないリクエストに対して利用する際には、
1995 一つのスラッシュで複数のスラッシュにマッチします。
1996 例えば、<code><Location /abc/def></code> と指定し、
1997 <code>/abc//def</code> というリクエストがあれば、
1998 マッチすることになります。</p></note>
2001 <seealso>リクエストを受けた際にこれらの異なるセクションが
2002 組み合わされる方法については <a href="../sections.html">
2003 <Directory>, <Location>, <Files> セクションの動作法</a></seealso>
2004 </directivesynopsis>
2006 <directivesynopsis type="section">
2007 <name>LocationMatch</name>
2008 <description>囲んだディレクティブを正規表現にマッチする URL のみに
2010 <syntax><LocationMatch
2011 <var>regex</var>> ... </LocationMatch></syntax>
2012 <contextlist><context>server config</context><context>virtual host</context>
2016 <p><directive type="section">LocationMatch</directive> ディレクティブは、
2017 <directive type="section" module="core">Location</directive> と同じ様に
2018 URL により中に書かれたディレクティブの適用範囲を制限します。
2019 但し、引数は普通の文字列ではなく、<glossary ref="regex">正規表現</glossary>となります。
2023 <LocationMatch "/(extra|special)/data">
2026 <p>は URL に <code>/extra/data</code> か <code>/special/data</code>
2027 という文字列が含まれている場合にマッチします。</p>
2030 <seealso>リクエストを受けた際にこれらの異なるセクションが
2031 組み合わされる方法については <a href="../sections.html">
2032 <Directory>, <Location>, <Files> セクションの動作法</a></seealso>
2033 </directivesynopsis>
2036 <name>LogLevel</name>
2037 <description>ErrorLog の冗長性を制御する</description>
2038 <syntax>LogLevel <var>level</var></syntax>
2039 <default>LogLevel warn</default>
2040 <contextlist><context>server config</context><context>virtual host</context>
2044 <p><directive>LogLevel</directive> は、エラーログ (<directive module="core"
2045 >ErrorLog</directive> ディレクティブを
2046 見てください) へ記録するメッセージの冗長性を調整します。
2047 以下の <var>level</var> を指定でき、順に重要度が下がっていきます。</p>
2051 <th><strong>レベル</strong> </th>
2053 <th><strong>説明</strong> </th>
2055 <th><strong>例</strong> </th>
2059 <td><code>emerg</code> </td>
2061 <td>緊急 - システムが利用できない</td>
2063 <td>Child cannot open lock file. Exiting
2064 (子プロセスがロックファイルを開けないため終了した)</td>
2068 <td><code>alert</code> </td>
2072 <td>getpwuid: couldn't determine user name from uid
2073 (getpwuid: UID からユーザ名を特定できなかった)</td>
2077 <td><code>crit</code> </td>
2081 <td>socket: Failed to get a socket, exiting child
2082 (socket: ソケットが得られないため、子プロセスを終了させた)</td>
2086 <td><code>error</code> </td>
2090 <td>Premature end of script headers
2091 (スクリプトのヘッダが足りないままで終わった)</td>
2095 <td><code>warn</code> </td>
2099 <td>child process 1234 did not exit, sending another SIGHUP
2100 (子プロセス 1234 が終了しなかった。もう一度 SIGHUP を送る)</td>
2104 <td><code>notice</code> </td>
2108 <td>httpd: caught SIGBUS, attempting to dump core in ...
2109 (httpd: SIGBUS シグナルを受け、... へコアダンプをした)</td>
2113 <td><code>info</code> </td>
2117 <td>"Server seems busy, (you may need to increase
2118 StartServers, or Min/MaxSpareServers)..." (「サーバは負荷が高い、
2119 (StartServers や Min/MaxSpareServers の値を増やす必要があるかも)」)</td>
2123 <td><code>debug</code> </td>
2127 <td>"Opening config file ..." (設定ファイルを開いている...)</td>
2131 <p>特定のレベルが指定された場合、それより高いレベルの全てのメッセージが
2133 <em>例えば</em>、<code>LogLevel info</code> に指定すると、
2134 <code>notice</code> と <code>warn</code> も報告されます。</p>
2136 <p>なお <code>crit</code> 以上のレベルを指定することが推奨されます。</p>
2144 <note><title>注</title>
2145 <p>ファイルにログを出力する場合、<code>notice</code>
2146 レベルのメッセージは抑制されず、すべてログに出力されます。
2147 しかし <code>syslog</code> を使用している場合は、
2151 </directivesynopsis>
2154 <name>MaxKeepAliveRequests</name>
2155 <description>持続的な接続上で許可されるリクエストの数</description>
2156 <syntax>MaxKeepAliveRequests <var>number</var></syntax>
2157 <default>MaxKeepAliveRequests 100</default>
2158 <contextlist><context>server config</context><context>virtual host</context>
2162 <p><directive>MaxKeepAliveRequests</directive> ディレクティブは、
2163 <directive module="core">KeepAlive</directive> が有効な場合に、
2164 一回の接続で受け付け可能なリクエストの数を制限します。
2165 <code>0</code> に設定していれば、受け付けるリクエストは無制限になります。
2166 この設定は、サーバ性能を向上させるために、大きな数値を指定することを勧めます。
2172 MaxKeepAliveRequests 500
2175 </directivesynopsis>
2178 <name>NameVirtualHost</name>
2179 <description>名前ベースのバーチャルホストのための IP アドレスを指定</description>
2180 <syntax>NameVirtualHost <var>addr</var>[:<var>port</var>]</syntax>
2181 <contextlist><context>server config</context></contextlist>
2184 <p><directive>NameVirtualHost</directive> ディレクティブは、
2185 <a href="../vhosts/">名前ベースのバーチャルホスト</a>の設定を行ないたい場合に
2188 <p><var>addr</var> にはホスト名を指定できますが、
2189 常に IP アドレスを指定するのが推奨されます。
2193 NameVirtualHost 111.22.33.44
2196 <p><directive>NameVirtualHost</directive> ディレクティブは、
2198 利用してリクエストを受け付ける IP アドレスを指定します。
2199 これは、普通は名前ベースのバーチャルホストアドレスです。
2200 ただし、ファイアーウォールや他のプロキシがリクエストを受け付け、
2201 違う IP アドレスのサーバにフォワードするという場合は、
2202 リクエストを提供したいマシン上の物理インターフェースの
2203 IP アドレスを指定する必要があります。
2204 複数のアドレスで複数の名前ベースのバーチャルホストを指定する場合は
2205 各アドレスに対してディレクティブを書いてください。</p>
2207 <note><title>中</title>
2208 <p>「主サーバ」や、どの <code>_default_</code> サーバも、
2209 <directive>NameVirtualHost</directive> で指定した IP アドレスへのリクエスト
2210 を処理することは<strong>ありません</strong> (なぜか
2211 <directive>NameVirtualHost</directive> を
2212 指定したけどそのアドレスに <directive>VirtualHost</directive> を定義しなかった場合を除く)。</p>
2215 <p>名前ベースのバーチャルホストにポート番号を指定することも可能です。
2219 NameVirtualHost 111.22.33.44:8080
2222 <p>IPV6 のアドレスは次の例のように角括弧で囲む必要があります:</p>
2225 NameVirtualHost [2001:db8::a00:20ff:fea7:ccea]:8080
2228 <p>すべてのインタフェースへのリクエストを受け取るようにするためには、
2229 引数として <code>*</code> を使います。</p>
2235 <note><title><directive type="section">VirtualHost</directive> ディレクティブの引数</title>
2236 <p><directive type="section">VirtualHost</directive> ディレクティブの引数は <directive
2237 >NameVirtualHost</directive> ディレクティブの引数に正確に
2238 合っている必要があることに注意してください。</p>
2241 NameVirtualHost 1.2.3.4<br />
2242 <VirtualHost 1.2.3.4><br />
2244 </VirtualHost><br />
2250 <seealso><a href="../vhosts/">バーチャルホスト説明書
2253 </directivesynopsis>
2256 <name>Options</name>
2257 <description>ディレクトリに対して使用可能な機能を設定する</description>
2259 [+|-]<var>option</var> [[+|-]<var>option</var>] ...</syntax>
2260 <default>Options All</default>
2261 <contextlist><context>server config</context><context>virtual host</context>
2262 <context>directory</context><context>.htaccess</context>
2264 <override>Options</override>
2267 <p><directive>Options</directive> ディレクティブは、特定のディレクトリに対して
2268 どの機能が使用可能かを制御します。</p>
2270 <p><var>option</var> を <code>None</code>に指定すると、
2272 また、以下の示す 1 個以上のものを指定できます。</p>
2275 <dt><code>All</code></dt>
2277 <dd><code>MultiViews</code> を除いた全ての機能が有効となります。
2280 <dt><code>ExecCGI</code></dt>
2283 <module>mod_cgi</module> による CGI スクリプトの実行を許可します。</dd>
2285 <dt><code>FollowSymLinks</code></dt>
2288 サーバが、このディレクトリ内でシンボリックリンクをたどれるようにします。
2289 <note><p>サーバがシンボリックリンクをたどる場合でも、
2290 <directive type="section" module="core">Directory</directive> セクションに
2292 パス名は<em>変更されません</em>。</p>
2293 <p><directive type="section" module="core">Location</directive> 内に
2294 このオプションを指定しても<strong>無視される</strong>ことに
2296 <p>このオプションを省略したからといってセキュリティの強化にはなりません。
2297 なぜなら symlink の検査はレースコンディションを引き起こす可能性があり、
2298 そのため回避可能になるからです。</p>
2301 <dt><code>Includes</code></dt>
2304 <module>mod_include</module> が提供する SSI を有効にします。</dd>
2306 <dt><code>IncludesNOEXEC</code></dt>
2309 SSI は有効になりますが、<code>#exec</code> コマンド と <code>#exec CGI</code> は無効になります。
2310 ただし、<code>#include virtual</code> により、<directive module="mod_alias">ScriptAlias</directive> されたディレクトリで
2311 CGI を実行することは可能です。</dd>
2313 <dt><code>Indexes</code></dt>
2316 もし、URL がディレクトリにマップするリクエストであって、
2317 且つ <directive module="mod_dir">DirectoryIndex</directive> で指定したファイル (例えば、<code>index.html</code>) が
2318 ディレクトリ内に無ければ、<module>mod_autoindex</module> が
2319 ディレクトリ内の一覧を整形して返します。</dd>
2321 <dt><code>MultiViews</code></dt>
2324 <module>mod_negotiation</module> による
2325 <a href="../content-negotiation.html">コンテントネゴシエーション</a>
2326 された "MultiViews" を許可します。</dd>
2328 <dt><code>SymLinksIfOwnerMatch</code></dt>
2331 シンボリック先のファイルまたはディレクトリが、
2332 シンボリックリンクの所有ユーザ ID と同じ場合にのみシンボリックリンクを
2335 <note><title>注</title> <p><directive type="section" module="core"
2336 >Location</directive> 内にこのオプションを
2338 <p>このオプションはセキュリティの強化にはなりません。
2339 なぜなら symlink の検査はレースコンディションを引き起こす可能性があり、
2340 そのため回避可能になるからです。</p>
2345 <p>通常、ディレクトリに対して複数の <directive>Options</directive> が
2347 最も近いもの一つのみが適用され、他のものは無視されます。
2348 複数の指定がマージされるわけではありません。(<a
2349 href="../sections.html#mergin">セクションのマージ方法</a>を参照してください。)
2350 しかし、すべての <directive>Options</directive> ディレクティブが <code>+</code> や <code>-</code> 付きで
2351 指定された場合はオプションの値はマージされます。
2352 <code>+</code> を頭につければ現在の設定に加えられ、
2353 <code>-</code> を付ければ現在の設定から削除されます。</p>
2355 <note type="warning"><title>警告</title>
2356 <p><directive>Options</directive> で <code>+</code> や
2357 <code>-</code> のついたものを、つけないものと組み合わせて
2358 指定する構文は正しい構文ではありませんので、期待する結果に
2362 <p>例えば、<code>+</code> や <code>-</code> を利用しない場合は:</p>
2365 <Directory /web/docs><br />
2367 Options Indexes FollowSymLinks<br />
2369 </Directory><br />
2371 <Directory /web/docs/spec><br />
2373 Options Includes<br />
2378 <p><code>/web/docs/spec</code> というディレクトリには、
2379 <code>Includes</code> だけが適用されます。
2380 しかし、2 番目の <directive>Options</directive> で <code>+</code> や <code>-</code> を利用してみると:</p>
2383 <Directory /web/docs><br />
2385 Options Indexes FollowSymLinks<br />
2387 </Directory><br />
2389 <Directory /web/docs/spec><br />
2391 Options +Includes -Indexes<br />
2396 <p><code>/web/docs/spec</code> というディレクトリには、 <code>FollowSymLinks</code> と
2397 <code>Includes</code> が適用されます。</p>
2399 <note><title>注</title>
2400 <p><code>-IncludesNOEXEC</code> もしくは
2401 <code>-Includes</code> を指定すると、
2402 前の設定がどのようになっていようとも SSI は無効となります。</p>
2405 <p>どのような設定もされていなければ、デフォルトでは <code>All</code> に
2408 </directivesynopsis>
2411 <name>RLimitCPU</name>
2412 <description>Apache の子プロセスから起動されたプロセスの CPU 消費量を
2414 <syntax>RLimitCPU <var>seconds</var>|max [<var>seconds</var>|max]</syntax>
2415 <default>未設定。オペレーティングシステムのデフォルトを使用</default>
2416 <contextlist><context>server config</context><context>virtual host</context>
2417 <context>directory</context><context>.htaccess</context></contextlist>
2418 <override>All</override>
2421 <p>一つか二つのパラメータをとります。
2422 最初のパラメータは全プロセスに対するリソースのソフトリミットを設定し、
2423 2 番目のパラメータは最大のリソースリミットを設定します。
2424 パラメータには数字か、オペレーティングシステムの最大となる
2425 <code>max</code> のどちらかを指定することができます。
2426 最大のリソースリミットを上げるためには、サーバを
2427 <code>root</code> で実行するか起動されなければいけません。</p>
2429 <p>ちなみに、この設定は Apache の子プロセス自体ではなく、
2430 リクエストを受け付けた Apache の子プロセスから fork されたプロセスに
2432 これには CGI や SSI から実行されたコマンドが含まれますが、Apache の
2433 親プロセスから fork されたログのパイププロセスなどには適用されません。</p>
2435 <p>CPU リソースのリミットはプロセスあたりの秒数で表わされます。</p>
2438 <seealso><directive module="core">RLimitMEM</directive></seealso>
2439 <seealso><directive module="core">RLimitNPROC</directive></seealso>
2440 </directivesynopsis>
2443 <name>RLimitMEM</name>
2444 <description>Apache の子プロセスから起動されたプロセスのメモリ消費量を
2446 <syntax>RLimitMEM <var>bytes</var>|max [<var>bytes</var>|max]</syntax>
2447 <default>未設定。オペレーティングシステムのデフォルトを使用</default>
2448 <contextlist><context>server config</context><context>virtual host</context>
2449 <context>directory</context><context>.htaccess</context></contextlist>
2450 <override>All</override>
2453 <p>一つか二つのパラメータをとります。
2454 最初のパラメータは全プロセスに対するリソースのソフトリミットを設定し、
2455 2 番目のパラメータは最大のリソースリミットを設定します。
2456 パラメータには数字か、オペレーティングシステムの最大となる
2457 <code>max</code> のどちらかを指定することができます。
2458 最大のリソースリミットを上げるためには、サーバを
2459 <code>root</code> で実行するか起動されなければいけません。</p>
2461 <p>この設定は Apache の子プロセス自体ではなく、
2462 リクエストを受け付けた Apache の子プロセスから fork されたプロセスに
2464 これには CGI や SSI から実行されたコマンドが含まれますが、Apache の
2465 親プロセスから fork されたログのパイププロセスなどには適用されません。</p>
2467 <p>メモリリソースのリミットはプロセスあたりのバイト数で表わされます。</p>
2469 <seealso><directive module="core">RLimitCPU</directive></seealso>
2470 <seealso><directive module="core">RLimitNPROC</directive></seealso>
2471 </directivesynopsis>
2474 <name>RLimitNPROC</name>
2475 <description>Apache の子プロセスから起動されたプロセスが起動するプロセスの
2476 数を制限する</description>
2477 <syntax>RLimitNPROC <var>number</var>|max [<var>number</var>|max]</syntax>
2478 <default>未設定。オペレーティングシステムのデフォルトを使用</default>
2479 <contextlist><context>server config</context><context>virtual host</context>
2480 <context>directory</context><context>.htaccess</context></contextlist>
2481 <override>All</override>
2484 <p>一つか二つのパラメータをとります。
2485 最初のパラメータは全プロセスに対するリソースのソフトリミットを設定し、
2486 2 番目のパラメータは最大のリソースリミットを設定します。
2487 パラメータには数字か、オペレーティングシステムの最大となる
2488 <code>max</code> のどちらかを指定することができます。
2489 最大のリソースリミットを上げるためには、サーバを
2490 <code>root</code> で実行するか起動されなければいけません。</p>
2492 <p>この設定は Apache の子プロセス自体ではなく、
2493 リクエストを受け付けた Apache の子プロセスから fork されたプロセスに
2495 これには CGI や SSI から実行されたコマンドが含まれますが、Apache の
2496 親プロセスから fork されたログのパイププロセスなどには適用されません。</p>
2498 <p>プロセスの制限は、ユーザあたりのプロセス数で制御されます。</p>
2500 <note><title>注</title>
2501 <p> CGI プロセスがウェブサーバのユーザ ID 以外で実行されるので
2502 <strong>無ければ</strong>、
2503 このディレクティブは、サーバ自身が生成できるプロセスの数を制限することになります。
2504 そのような状況になっているかどうかは、<code>error_log</code> 中の
2505 <strong><code>cannot fork</code></strong> というメッセージにより
2509 <seealso><directive module="core">RLimitMEM</directive></seealso>
2510 <seealso><directive module="core">RLimitCPU</directive></seealso>
2511 </directivesynopsis>
2514 <name>ScriptInterpreterSource</name>
2515 <description>CGI スクリプトのインタープリタの位置を調べるための手法</description>
2516 <syntax>ScriptInterpreterSource Registry|Registry-Strict|Script</syntax>
2517 <default>ScriptInterpreterSource Script</default>
2518 <contextlist><context>server config</context><context>virtual host</context>
2519 <context>directory</context><context>.htaccess</context></contextlist>
2520 <override>FileInfo</override>
2521 <compatibility>Win32 のみ。
2522 オプション <code>Registry-Strict</code> は Apache 2.0 以降で使用可能</compatibility>
2525 <p>このディレクティブは、Apache で CGI スクリプトを
2526 実行する場合に利用するインタープリタを、
2527 どのように探し出すかについて制御するために使用します。
2528 デフォルトの設定は <code>Script</code> です。これはスクリプトの
2529 shebang 行 (最初の行で <code>#!</code> から始まるもの)
2530 に指されているインタープリタを使用します。Win32 ではその行は
2534 #!C:/Perl/bin/perl.exe
2537 <p>もしくは、<code>perl</code> が <code>PATH</code> にある場合は単に:</p>
2543 <p><code>ScriptInterpreterSource Registry</code> を指定すると、
2544 スクリプトファイルの拡張子 (例えば、<code>.pl</code>) を
2545 キーとして、Windows のレジストリツリー <code>HKEY_CLASSES_ROOT</code>
2546 を検索するようになります。レジストリのサブキー
2547 <code>Shell\ExecCGI\Command</code> か、それが存在しない場合は
2548 <code>Shell\Open\Command</code> がスクリプトファイルを開くために
2549 使われます。レジストリキーが見つからないときは、Apache は <code>Script</code>
2550 オプションが指定されたときの動作に戻ります。</p>
2552 <note type="warning"><title>セキュリティ</title>
2553 <p><code>ScriptInterpreterSource Registry</code> を <directive
2554 module="mod_alias">ScriptAlias</directive> されたディレクトリで使うときは
2555 注意してください。Apache はそのディレクトリ中の<em>すべての</em>ファイルを
2556 実行しようとします。<code>Registry</code> という設定は通常は実行されない
2557 ファイルに対して望ましくないプログラムの実行が発生する可能性があります。
2558 例えば、ほとんどの Windows システムで、
2559 <code>.htm</code> ファイルのデフォルトの「開く」コマンドは
2560 Microsoft Internet Explorer を実行しますので、スクリプトに指定された
2561 ディレクトリにある <code>.htm</code> ファイルへのリクエストはサーバの
2562 バックグラウンドでブラウザを実行することになります。これは、一分内くらいで
2563 システムをクラッシュさるための良い方法です。</p>
2566 <p>Apache 2.0 から導入されたオプション <code>Registry-Strict</code> は
2567 <code>Registry</code> と同じことを行ないますが、サブキー
2568 <code>Shell\ExecCGI\Command</code> のみを使います。
2569 <code>ExecCGI</code> キーは普通に使われるキーではありません。Windows
2570 レジストリに手動で設定する必要がありますので、システムでの偶発的なプログラムの
2573 </directivesynopsis>
2576 <name>ServerAdmin</name>
2577 <description>サーバがクライアントに送るエラーメッセージに含める電子メールの
2579 <syntax>ServerAdmin <var>email-address</var>|<var>URL</var></syntax>
2580 <contextlist><context>server config</context><context>virtual host</context>
2584 <p><directive>ServerAdmin</directive> は、クライアントに返すさまざまな
2586 問合せアドレスを設定します。与えられた引数を <code>httpd</code> が
2587 URL と認識しない場合は、<var>email-address</var> だと解釈して、
2588 ハイパーリンクのターゲットに <code>mailto:</code> を付けます。
2589 実際には、ここには電子メールアドレスを使うことが推奨されています。
2590 多くの CGI スクリプトはそうなっていることを仮定しています。
2591 URL を使う場合は、あなたの管理下にある別サーバを指すようにしてください。
2592 そうでないと、エラーが起こったときに連絡をすることができなくなって
2596 <p>その際、これのために専用のアドレスを設定するのが良いでしょう。
2600 ServerAdmin www-admin@foo.example.com
2603 <p>といったようにします。ユーザはいつもサーバに関する話であるということを
2604 明記してくるわけではありませんので。</p>
2607 </directivesynopsis>
2610 <name>ServerAlias</name>
2611 <description>リクエストを名前ベースのバーチャルホストにマッチさせているときに
2612 使用されるホストの別名</description>
2613 <syntax>ServerAlias <var>hostname</var> [<var>hostname</var>] ...</syntax>
2614 <contextlist><context>virtual host</context></contextlist>
2617 <p><directive>ServerAlias</directive> ディレクティブは、<a
2618 href="../vhosts/name-based.html">ネームベースのバーチャルホスト</a>において
2620 適切であれば、<directive>ServerAlias</directive> ディレクティブでは
2621 ワイルドカードを使うこともできます。</p>
2624 <VirtualHost *><br />
2625 ServerName server.domain.com<br />
2626 ServerAlias server server2.domain.com server2<br />
2628 </VirtualHost>
2631 <seealso><a href="../vhosts/">Apache バーチャルホスト説明書</a></seealso>
2632 </directivesynopsis>
2635 <name>ServerName</name>
2636 <description>サーバが自分自身を示すときに使うホスト名とポート</description>
2637 <syntax>ServerName [<var>scheme</var>://]<var>fully-qualified-domain-name</var>[:<var>port</var>]</syntax>
2638 <contextlist><context>server config</context><context>virtual host</context>
2640 <compatibility>このディレクティブはバージョン 2.0 ではバージョン 1.3 の
2641 <directive>Port</directive> ディレクティブの機能も含みます。</compatibility>
2644 <p><directive>ServerName</directive> ディレクティブは、
2645 サーバが自分自身を示すスキーム名、ホスト名とポート番号を設定します。
2646 これは、リダイレクトする URL を生成する際に利用されます。
2647 例えば、ウェブサーバを動かしているマシンは <code>simple.example.com</code>
2648 で、DNS のエイリアス <code>www.example.com</code> もあるときに、
2649 ウェブサーバが後者として認識されて欲しいときは、以下のようにディレクティブを
2653 ServerName www.example.com:80
2656 <p><directive>ServerName</directive> が指定されていないときは、
2657 サーバは IP アドレスから逆引きを行なうことでホスト名を知ろうとします。
2658 <directive>ServerName</directive> にポートが指定されていないときは、
2660 ポートを使います。最高の信頼性と確実性をもたらすためには、
2661 <directive>ServerName</directive> を使ってホスト名とポートを明示的に
2664 <p><a href="../vhosts/name-based.html">名前ベースのバーチャルホスト</a>
2665 を利用している場合、<directive type="section" module="core"
2666 >VirtualHost</directive> セクション内の
2667 <directive>ServerName</directive> はこのバーチャルホストにマッチするために
2668 何がリクエストの Host: ヘッダに現れる必要があるのかを指定します。</p>
2670 <p>SSL を処理するデバイス、例えばリバースプロクシやロードバランサや
2671 SSL 処理軽減アプライアンスの裏側でサーバが稼動する場合もあるでしょう。
2672 そういった場合では、クライアントが接続するときに使う
2673 <code>https://</code> スキームとポート番号を <directive>ServerName</directive>
2674 ディレクティブで指定して、自己参照 URL が正しく生成できるようにします。</p>
2676 <p>自己参照 URL (例えば <module>mod_dir</module> モジュールによるものなど)
2677 が指定されたポートを使うか、クライアントのリクエストのポート番号を使うかを
2678 決定する設定は <directive module="core">UseCanonicalName</directive>
2680 module="core">UseCanonicalPhysicalPort</directive>
2681 ディレクティブを参照してください。</p>
2685 <seealso><a href="../dns-caveats.html">DNS と Apache に関する話</a></seealso>
2686 <seealso><a href="../vhosts/">Apache バーチャルホスト説明書</a></seealso>
2687 <seealso><directive module="core">UseCanonicalName</directive></seealso>
2688 <seealso><directive module="core">UseCanonicalPhysicalPort</directive></seealso>
2689 <seealso><directive module="core">NameVirtualHost</directive></seealso>
2690 <seealso><directive module="core">ServerAlias</directive></seealso>
2691 </directivesynopsis>
2694 <name>ServerPath</name>
2695 <description>非互換のブラウザが名前ベースのバーチャルホストにアクセスしたときの
2696 ための互換用 URL パス名</description>
2697 <syntax>ServerPath <var>URL-path</var></syntax>
2698 <contextlist><context>virtual host</context></contextlist>
2701 <p><directive>ServerPath</directive> ディレクティブは、<a
2702 href="../vhosts/">ネームベースのバーチャルホスト</a>において利用する
2703 互換用 URL パス名を設定します。</p>
2705 <seealso><a href="../vhosts/">Apache バーチャルホスト説明書</a></seealso>
2706 </directivesynopsis>
2709 <name>ServerRoot</name>
2710 <description>インストールされたサーバのベースディレクトリ</description>
2711 <syntax>ServerRoot <var>directory-path</var></syntax>
2712 <default>ServerRoot /usr/local/apache</default>
2713 <contextlist><context>server config</context></contextlist>
2716 <p><directive>ServerRoot</directive> ディレクティブは、
2717 サーバが存在するディレクトリを設定します。
2718 通常、<code>conf/</code> や <code>logs/</code> といったサブディレクトリが
2720 また、他の設定ディレクティブ (例えば <directive
2721 module="core">Include</directive> や <directive
2722 module="mod_so">LoadModule</directive> など) における相対パスは、
2723 このディレクトリからの相対位置となります。</p>
2725 <example><title>例</title>
2726 ServerRoot /home/httpd
2731 <seealso><a href="../invoking.html"><code>httpd</code> の <code>-d</code>
2733 <seealso><directive>ServerRoot</directive> の権限を適切に設定する方法は<a
2734 href="../misc/security_tips.html#serverroot">セキュリティのこつ</a></seealso>
2735 </directivesynopsis>
2738 <name>ServerSignature</name>
2739 <description>サーバが生成するドキュメントのフッタを設定</description>
2740 <syntax>ServerSignature On|Off|EMail</syntax>
2741 <default>ServerSignature Off</default>
2742 <contextlist><context>server config</context><context>virtual host</context>
2743 <context>directory</context><context>.htaccess</context>
2745 <override>All</override>
2748 <p><directive>ServerSignature</directive> ディレクティブは、
2750 (エラーメッセージ、<module>mod_proxy</module> における FTP のディレクトリリスト、
2751 <module>mod_info</module> の出力、等々)
2752 の最下行に付与するフッタの設定を行ないます。
2753 そのようなフッタ行を有効にしたい理由には、
2754 プロキシが複数連なっている場合に、ユーザはどのサーバが返した
2755 エラーメッセージかを知る手段がほとんど無いというものがあります。</p>
2758 <p>デフォルトである <code>Off</code> に設定をすると、フッタ行が抑制されます
2759 (そして、Apache-1.2 以前と互換の動作をします)。
2760 <code>On</code> に設定した場合は、単にドキュメントの中に、サーバのバージョン、
2762 href="#servername">ServerName</a> の書かれた行を追加し、
2763 <code>EMail</code> にした場合はさらに参照されたドキュメントに対する <a
2764 href="#serveradmin">ServerAdmin</a> を指す "mailto:" が追加されます。</p>
2766 <p>バージョン 2.0.44 以降では、表示されるサーバーのバージョン番号の詳細は<directive
2767 module="core">ServerTokens</directive>
2768 ディレクティブにより制御されます。</p>
2770 <seealso><directive module="core">ServerTokens</directive></seealso>
2771 </directivesynopsis>
2774 <name>ServerTokens</name>
2775 <description><code>Server</code> HTTP 応答ヘッダを設定する</description>
2776 <syntax>ServerTokens Major|Minor|Min[imal]|Prod[uctOnly]|OS|Full</syntax>
2777 <default>ServerTokens Full</default>
2778 <contextlist><context>server config</context></contextlist>
2781 <p>このディレクティブは、クライアントに送り返す <code>Server</code>
2782 応答ヘッダ内に、サーバの一般的な OS 種別や、
2783 コンパイルされて組み込まれているモジュールの情報を
2787 <dt><code>ServerTokens Prod[uctOnly]</code></dt>
2789 <dd>サーバは (例えば): <code>Server:
2790 Apache</code> といったように送ります。</dd>
2792 <dt><code>ServerTokens Major</code></dt>
2794 <dd>Server sends (<em>e.g.</em>): <code>Server:
2795 Apache/2</code></dd>
2797 <dt><code>ServerTokens Minor</code></dt>
2799 <dd>Server sends (<em>e.g.</em>): <code>Server:
2800 Apache/2.0</code></dd>
2802 <dt><code>ServerTokens Min[imal]</code></dt>
2804 <dd>サーバは (例えば): <code>Server:
2805 Apache/2.0.41</code> といったように送ります。</dd>
2807 <dt><code>ServerTokens OS</code></dt>
2809 <dd>サーバは (例えば): <code>Server: Apache/2.0.41
2810 (Unix)</code> といったように送ります。</dd>
2812 <dt><code>ServerTokens Full</code> (もしくは未指定)</dt>
2814 <dd>サーバは (例えば): <code>Server: Apache/2.0.41
2815 (Unix) PHP/4.2.2 MyMod/1.2</code> といったように送ります。</dd>
2818 <p>この設定はサーバ全体に適用され、バーチャルホスト上で有効にしたり
2821 <p>バージョン 2.0.44 以降ではこのディレクティブは <directive
2822 module="core">ServerSignature</directive>
2823 ディレクティブにより表示される情報も制御します。</p>
2825 <seealso><directive module="core">ServerSignature</directive></seealso>
2826 </directivesynopsis>
2829 <name>SetHandler</name>
2830 <description>マッチするファイルがハンドラで処理されるようにする</description>
2831 <syntax>SetHandler <var>handler-name</var>|None</syntax>
2832 <contextlist><context>server config</context><context>virtual host</context>
2833 <context>directory</context><context>.htaccess</context>
2835 <override>FileInfo</override>
2836 <compatibility>Apache 2.0 で core に移動</compatibility>
2839 <p><code>.htaccess</code> や <directive type="section" module="core"
2840 >Directory</directive>
2841 セクション、<directive type="section" module="core">Location</directive>
2843 このディレクティブはそこにあるすべてのファイルが
2844 <var>handler-name</var> で指定された<a href="../handler.html"
2845 >ハンドラ</a>で扱われることを強制します。例えば、拡張子に関わらず、
2846 ディレクトリ全体がイメージマップファイルとして解析して欲しい場合には、
2847 以下をそのディレクトリの <code>.htaccess</code>
2851 SetHandler imap-file
2854 <p>別の例: URL <code>http://servername/status</code>
2855 が指定されたときにサーバが状態報告をするようにしたいときは、以下を
2856 <code>httpd.conf</code> に記述します:</p>
2859 <Location /status><br />
2861 SetHandler server-status<br />
2866 <p><code>None</code> という値を設定することで、
2867 前の方の <directive>SetHandler</directive> で定義された設定を無効にすることが
2869 <p><strong>注意:</strong>SetHandler はデフォルトのハンドラをオーバーライド
2870 しますので、通常の挙動、たとえば、スラッシュ (/) で終わる URL が
2871 リクエストされたときにディレクトリやインデックスファイルを返すよう取り扱う挙動は、
2877 <seealso><directive module="mod_mime">AddHandler</directive></seealso>
2879 </directivesynopsis>
2882 <name>SetInputFilter</name>
2883 <description>クライアントのリクエストや POST の入力を処理するフィルタを設定する</description>
2884 <syntax>SetInputFilter <var>filter</var>[;<var>filter</var>...]</syntax>
2885 <contextlist><context>server config</context><context>virtual host</context>
2886 <context>directory</context><context>.htaccess</context>
2888 <override>FileInfo</override>
2891 <p><directive>SetInputFilter</directive> ディレクティブはクライアントの
2892 リクエストや POST の入力をサーバが受け取ったときに処理するフィルタを
2893 設定します。これは <directive module="mod_mime">AddInputFilter</directive>
2894 ディレクティブを含め、他の場所で定義されているフィルタの設定に
2897 <p>複数のフィルタを指定するときは、データを処理する順番に
2898 セミコロンで区切る必要があります。</p>
2901 <seealso><a href="../filter.html">フィルタ</a>説明書</seealso>
2902 </directivesynopsis>
2905 <name>SetOutputFilter</name>
2906 <description>サーバの応答を処理するフィルタを設定する</description>
2907 <syntax>SetOutputFilter <var>filter</var>[;<var>filter</var>...]</syntax>
2908 <contextlist><context>server config</context><context>virtual host</context>
2909 <context>directory</context><context>.htaccess</context>
2911 <override>FileInfo</override>
2914 <p><directive>SetOutputFilter</directive> ディレクティブは
2915 サーバの応答をクライアントに送り返される前に処理するフィルタを設定します。
2916 これは <directive module="mod_mime">AddOutputFilter</directive>
2917 ディレクティブを含め、他の場所で定義されているフィルタの設定に
2920 <p>例えば、以下の設定は <code>/www/data/</code> ディレクトリのすべての
2921 ファイルを SSI で処理します。</p>
2924 <Directory /www/data/><br />
2926 SetOutputFilter INCLUDES<br />
2931 <p>複数のフィルタを指定するときは、データを処理する順番に
2932 セミコロンで区切る必要があります。</p>
2934 <seealso><a href="../filter.html">フィルタ</a>説明書</seealso>
2935 </directivesynopsis>
2938 <name>TimeOut</name>
2939 <description>各イベントについて、リクエストを失敗させるまでにサーバが
2940 待つ時間を設定</description>
2941 <syntax>TimeOut <var>seconds</var></syntax>
2942 <default>TimeOut 60</default>
2943 <contextlist><context>server config</context><context>virtual host</context></contextlist>
2946 <p><directive>TimeOut</directive> ディレクティブは、
2947 様々な条件下での I/O 待ち時間を定義します:</p>
2950 <li>クライアントからのデータを読み込む時。
2951 受信バッファが空になっていて、TCP パケットが届くまで
2954 <li>クライアントに対してデータを送り出す時。
2955 送信バッファがいっぱいで、パケットの受信完了 <transnote>ACK</transnote>
2958 <li><module>mod_cgi</module> 内で、CGI スクリプトが出力を
2961 <li><module>mod_ext_filter</module> 内で、フィルタ処理で出力を
2964 <li><module>mod_proxy</module> 内で、
2965 <directive module="mod_proxy">ProxyTimeout</directive>
2966 が設定されていない場合のデフォルトの待ち時間</li>
2970 </directivesynopsis>
2973 <name>TraceEnable</name>
2974 <description><code>TRACE</code> メソッドのリクエストに対する応答方法を決める
2976 <syntax>TraceEnable <var>[on|off|extended]</var></syntax>
2977 <default>TraceEnable on</default>
2978 <contextlist><context>server config</context></contextlist>
2979 <compatibility>Apache 1.3.34, 2.0.55 以降</compatibility>
2982 <p>Apache のコア機能<transnote><module>core</module></transnote>と
2983 <module>mod_proxy</module> 両方の <code>TRACE</code>
2984 の挙動をオーバーライドします。デフォルトの <code>TraceEnable on</code>
2985 は、リクエストボディを受け入れないような、RFC2616 に準拠した
2986 <code>TRACE</code> リクエストを受け付けます。
2987 <code>TraceEnable off</code> と設定すると、コアサーバと
2988 <module>mod_proxy</module> は <code>405</code> (メソッド不許可)
2989 エラーをクライアントに返します。</p>
2991 <p>最後に、テストや調査目的などの限定用途として、仕様に準拠しない
2992 <code>TraceEnable extended</code> を使って、リクエストボディを
2993 受け付けるように挙動を変更できます。(オリジンサーバとしての)
2994 Apache のコアでは、リクエストボディのサイズは 64k (
2995 <code>Transfer-Encoding: chunked</code> が使われている場合は
2996 chunk ヘッダ用に +8k) に制限されます。
2997 Apache のコアは、ヘッダと全ての chunk ヘッダをレスポンスの
2999 proxy サーバとしては、リクエストボディのサイズは 64k に制限されません。</p>
3001 </directivesynopsis>
3004 <name>UseCanonicalName</name>
3005 <description>サーバが自分自身の名前とポートを決定する方法を設定する</description>
3006 <syntax>UseCanonicalName On|Off|Dns</syntax>
3007 <default>UseCanonicalName Off</default>
3008 <contextlist><context>server config</context><context>virtual host</context>
3009 <context>directory</context></contextlist>
3012 <p>多くの状況で Apache は<em>自己参照</em> URL、すなわち
3013 同じサーバを指す URL、を作成する必要があります。
3014 <code>UseCanonicalName On</code> の場合は、<directive
3015 module="core">ServerName</directive> ディレクティブで指定されている
3016 ホスト名とポート番号を使って、その正規名 (自己参照の名前) を生成します。
3017 この名前は、すべての自己参照 URL で使われますし、CGI の
3018 <code>SERVER_NAME</code> と <code>SERVER_PORT</code> でも使われます。</p>
3020 <p><code>UseCanonicalName Off</code> の場合、
3021 クライアントがホスト名とポートを指定したときには、
3022 それらを元に自己参照 URL を作成します (指定がなかったときは
3023 上の定義と同様にして正規名を解決します)。
3024 これらの値は<a href="../vhosts/name-based.html">名前ベースの
3025 バーチャルホスト</a>を実装で使われているのと同じ値で、
3026 同じクライアントで取得できる値になっています。
3027 CGI 変数 <code>SERVER_NAME</code> と <code>SERVER_PORT</code>
3028 もクライアントから与えられた値から作成されます。</p>
3030 <p>このような挙動が便利な例は、イントラネットのサーバで <code>www</code>
3031 のような短い名前でユーザがマシンに接続するときです。
3032 ユーザの入力で短いホスト名が使われていて、URL が<em>最後のスラッシュ無しの</em>
3033 ディレクトリになっている <code>http://www/splat</code> のようなとき、
3034 Apache はリクエストを <code>http://www.domain.com/splat/</code>
3036 認証をするように設定していると、この場合
3037 ユーザは 2 回認証をしなければならなくなります (<code>www</code> に
3038 対して 1 回、<code>www.domain.com</code> に対してもう 1 回 --
3040 href="http://httpd.apache.org/docs/misc/FAQ.html#prompted-twice">この話題の
3042 しかし <directive>UseCanonicalName</directive> が <code>Off</code> になっていると、
3043 Apache は <code>http://www/splat/</code> にリダイレクトします。</p>
3045 <p>三つ目のオプション <code>UseCanonicalName DNS</code> は、
3046 大規模な IP ベースのバーチャルホスティングで、
3047 <code>Host:</code> ヘッダを提供しない古いクライアントを
3049 このオプションでは Apache は、クライアントが接続した IP アドレスに対して
3050 DNS の逆引きを行なって、自己参照 URL を作成します。</p>
3052 <note type="warning"><title>警告</title>
3053 <p>CGI が <code>SERVER_NAME</code> に関して何らかの前提条件を
3054 仮定しているときには、このオプションの設定によっては動作しなく
3055 なるかもしれません。クライアントは実質的にはホスト名として
3056 何でも望みの値を指定することができます。CGI が
3057 <code>SERVER_NAME</code> を使って自己参照 URL を作成することしかしない
3058 場合は、どの設定を行なっても大丈夫なはずです。</p></note>
3060 <seealso><directive module="core">UseCanonicalPhysicalPort</directive></seealso>
3061 <seealso><directive module="core">ServerName</directive></seealso>
3062 <seealso><directive module="mpm_common">Listen</directive></seealso>
3063 </directivesynopsis>
3066 <name>UseCanonicalPhysicalPort</name>
3067 <description>自分自身の名前とポート番号を解決する方法を設定する
3069 <syntax>UseCanonicalPhysicalPort On|Off</syntax>
3070 <default>UseCanonicalPhysicalPort Off</default>
3071 <contextlist><context>server config</context><context>virtual host</context>
3072 <context>directory</context></contextlist>
3075 <p>さまざまな局面で <em>自己参照</em> URL -- それ自体のサーバを参照する URL
3076 を作ることになります。<code>UseCanonicalPhysicalPort On</code> と設定すると、
3077 <directive module="core">UseCanonicalName</directive> に従って別名を
3078 生成する場合に、実際の物理ポート番号を使って構成するようになります。
3079 <code>UseCanonicalPhysicalPort Off</code> の場合は、実際の物理ポート番号は
3080 使用せず、設定された情報を元にポート番号を決めます。</p>
3082 <note><title>注意</title>
3083 <p>物理ポートが使われる場合の順番は次のようになっています:<br /><br />
3084 <code>UseCanonicalName On</code></p>
3086 <li><code>ServerName</code> で指定されているポート番号</li>
3088 <li>デフォルトのポート番号</li>
3090 <code>UseCanonicalName Off | DNS</code>
3092 <li><code>Host:</code> ヘッダをパースして取得されるポート番号</li>
3094 <li><code>ServerName</code> で指定されているポート番号</li>
3095 <li>デフォルトのポート番号</li>
3098 <p><code>UseCanonicalPhysicalPort Off</code> で、
3099 物理ポート番号が上記の順序付けから除外されます。</p>
3103 <seealso><directive module="core">UseCanonicalName</directive></seealso>
3104 <seealso><directive module="core">ServerName</directive></seealso>
3105 <seealso><directive module="mpm_common">Listen</directive></seealso>
3106 </directivesynopsis>
3108 <directivesynopsis type="section">
3109 <name>VirtualHost</name>
3110 <description>特定のホスト名や IP アドレスのみに適用されるディレクティブを
3112 <syntax><VirtualHost
3113 <var>addr</var>[:<var>port</var>] [<var>addr</var>[:<var>port</var>]]
3114 ...> ... </VirtualHost></syntax>
3115 <contextlist><context>server config</context></contextlist>
3118 <p><directive type="section">VirtualHost</directive> 及び
3119 <code></VirtualHost></code> は、
3120 特定のバーチャルホストに対してのみ適用されるディレクティブ群を括る
3122 バーチャルホストコンテキストで許可される全てのディレクティブを指定可能です。
3123 サーバが、指定されたバーチャルホストにあるドキュメントへの
3125 <directive type="section">VirtualHost</directive> セクションの中にある
3127 <var>Addr</var>は、次のものが利用できます:</p>
3130 <li>バーチャルホストの IP アドレス</li>
3132 <li>バーチャルホストの IP に対応する完全なドメイン名 (非推奨)</li>
3134 <li><code>NameVirtualHost *</code> と共に使われる、
3135 すべての IP アドレスにマッチする文字 <code>*</code></li>
3137 <li>IP ベースのバーチャルホストで他のものにマッチしない IP アドレス
3138 のための文字列 <code>_default_</code></li>
3141 <example><title>例</title>
3142 <VirtualHost 10.1.2.3><br />
3144 ServerAdmin webmaster@host.example.com<br />
3145 DocumentRoot /www/docs/host.example.com<br />
3146 ServerName host.example.com<br />
3147 ErrorLog logs/host.example.com-error_log<br />
3148 TransferLog logs/host.example.com-access_log<br />
3150 </VirtualHost>
3153 <p>IPv6 アドレスはオプションのポート番号の指定と区別するために、
3154 角括弧で括って指定する必要があります。次は IPv6 の例です:</p>
3157 <VirtualHost [2001:db8::a00:20ff:fea7:ccea]><br />
3159 ServerAdmin webmaster@host.example.com<br />
3160 DocumentRoot /www/docs/host.example.com<br />
3161 ServerName host.example.com<br />
3162 ErrorLog logs/host.example.com-error_log<br />
3163 TransferLog logs/host.example.com-access_log<br />
3165 </VirtualHost>
3168 <p>各々のバーチャルホストにはそれぞれ違う IP アドレス、ポート番号
3170 1 番目の場合には複数のアドレスで IP パケットを受信できるように
3171 サーバマシンを設定しなければなりません。
3172 (もし、マシンが複数のネットワークインターフェースを持たない場合は、
3173 (OSがサポートしていれば) <code>ifconfig alias</code> コマンドにより
3176 <note><title>注意点</title>
3177 <p><directive type="section">VirtualHost</directive> は Apache が Listen する
3178 IP アドレスには影響を与え<strong>ません</strong>。
3179 <directive module="mpm_common">Listen</directive> を
3180 使って Apache が正しいアドレスを listen するように設定する必要があります。</p>
3183 <p>IP ベースのバーチャルホストを使っている場合は、特別な名前
3184 <code>_default_</code> を指定することができます。その場合は
3185 そのバーチャルホストは他のバーチャルホストで明示的に挙げられていない
3186 すべての IP アドレスにマッチします。<code>_default_</code> バーチャルホストが無い
3187 場合に IP がバーチャルホストで指定されたものにマッチしないときは、
3188 VirtualHost セクションの外のすべての定義からなる「主」サーバ設定が
3189 使われます。(ただし、<directive
3190 module="core">NameVirtualHost</directive> ディレクティブにマッチする
3191 すべての IP アドレスは「主」サーバ設定も <code>_default_</code> バーチャルホストも
3192 使わないことに注意してください。詳しくは <a
3193 href="../vhosts/name-based.html">ネームベースのバーチャルホスト</a> を
3196 <p><code>:port</code> といった形式で記述することにより、
3198 この指定をしない場合には、主サーバ設定における
3199 一番最後に <code><a href="#port">Port</a></code> で指定されたポートが
3201 <code>:*</code> を指定することにより、
3202 アドレス上の全てのポートにマッチします。(<code>_default_</code> のときは
3203 これを使うことが推奨されています。)</p>
3205 <p><directive type="section">VirtualHost</directive> ブロックごとに
3206 <directive module="core">ServerName</directive> を指定すべきです。
3208 <directive module="core">ServerName</directive>
3211 <note type="warning"><title>セキュリティ</title>
3212 <p>サーバーを起動した以外のユーザがログファイルが保管されるディレクトリに
3213 書き込み可能なときになぜセキュリティが破られる可能性があるかの詳細は
3214 <a href="../misc/security_tips.html">セキュリティに関するコツ</a> を
3215 参照してください。</p></note>
3217 <seealso><a href="../vhosts/">Apache バーチャルホスト説明書</a></seealso>
3218 <seealso><a href="../dns-caveats.html">DNS と Apache に関する話</a></seealso>
3219 <seealso><a href="../bind.html">Apache が使用するアドレスとポートの設定</a></seealso>
3220 <seealso>リクエストを受けた際にこれらの異なるセクションが
3221 組み合わされる方法については <a href="../sections.html">
3222 <Directory>, <Location>, <Files> セクションの動作法</a></seealso>
3223 </directivesynopsis>