]> granicus.if.org Git - apache/blob - docs/manual/mod/core.xml.ja
update transformation
[apache] / docs / manual / mod / core.xml.ja
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:1188095 (outdated) -->
5
6 <!--
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
13
14      http://www.apache.org/licenses/LICENSE-2.0
15
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.
21 -->
22
23 <modulesynopsis metafile="core.xml.meta">
24
25 <name>core</name>
26 <description>常に使用可能な Apache HTTP サーバのコア機能</description>
27 <status>Core</status>
28
29 <directivesynopsis>
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>
35
36 <usage>
37     <p>Listen しているソケットに対して、OS が固有に持っているプロトコルについての最適化を
38        有効にするディレクティブです。大前提となる条件は、データが受信されるか
39        HTTP リクエスト全体がバッファされるかするまで、カーネルがサーバプロセスに
40        ソケットを送らないようになっている、ということです。現在サポートされているのは、
41        <a href="http://www.freebsd.org/cgi/man.cgi?query=accept_filter&amp;sektion=9">
42        FreeBSD の Accept Filter</a> と Linux のプリミティブな
43        <code>TCP_DEFER_ACCEPT</code> のみです。</p>
44
45     <p>FreeBSD のデフォルト値は :</p>
46     <example>
47         AcceptFilter http httpready <br/>
48         AcceptFilter https dataready
49     </example>
50     
51     <p><code>httpready</code> Accept Filter は HTTP リクエスト全体を、
52        カーネルレベルでバッファリングします。リクエスト全体を受信し終わると、
53        その後サーバプロセスにそれを送ります。詳細については <a 
54        href="http://www.freebsd.org/cgi/man.cgi?query=accf_http&amp;sektion=9">accf_http(9)</a> 
55        を参照してください。HTTPS のリクエストは暗号化されているので <a 
56        href="http://www.freebsd.org/cgi/man.cgi?query=accf_data&amp;sektion=9">accf_data(9)</a>
57        フィルタのみが使用されます。</p>
58
59     <p>Linux でのデフォルト値は :</p>
60     <example>
61         AcceptFilter http data <br/>
62         AcceptFilter https data
63     </example>
64
65     <p>Linux の <code>TCP_DEFER_ACCEPT</code> は HTTP リクエストのバッファリングを
66        サポートしていません。<code>none</code> 以外の値で
67        <code>TCP_DEFER_ACCEPT</code> が有効になります。詳細については Linux 
68        man ページ <a 
69        href="http://homepages.cwi.nl/~aeb/linux/man2html/man7/tcp.7.html">tcp(7)</a>
70        を参照してください。</p>
71
72     <p>引数に <code>none</code> を指定すると、プロトコルに対する全ての Accept 
73        Filter が無効になります。<code>nntp</code> といった、先にサーバにデータを
74        送る必要のあるプロトコルに有効です :</p>
75     <example>AcceptFilter nntp none</example>
76
77 </usage>
78 </directivesynopsis>
79
80 <directivesynopsis>
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>
90
91 <usage>
92
93     <p>このディレクティブは実際のファイル名 (もしくは存在するディレクトリの
94     存在しないファイル) の後に続くパス名情報があるリクエストを受け付けるか
95     拒否するかを制御します。続きのパス名情報はスクリプトには <code>PATH_INFO</code>
96     環境変数として利用可能になります。</p>
97
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>
102
103     <p><directive>AcceptPathInfo</directive> ディレクティブに指定可能な
104     三つの引数は:</p>
105
106     <dl>
107     <dt><code>Off</code></dt><dd>リクエストは存在するパスにそのまま
108     マップされる場合にのみ受け付けられます。ですから、上の例の
109     <code>/test/here.html/more</code> のように、本当のファイル名の
110     後にパス名情報が続くリクエストには 404 NOT FOUND エラーが返ります。</dd>
111
112     <dt><code>On</code></dt><dd>前の方のパスが存在するファイルにマップする場合は
113     リクエストが受け付けられます。上の例の <code>/test/here.html/more</code>
114     は <code>/test/here.html</code> が有効なファイルにマップすれば
115     受け付けられます。</dd>
116     
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>
123     </dl>
124
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     基づいてコンテンツを生成しているときに必要になります。</p>
130
131     <example>
132       &lt;Files "mypaths.shtml"&gt;<br />
133       <indent>
134         Options +Includes<br />
135         SetOutputFilter INCLUDES<br />
136         AcceptPathInfo On<br />
137       </indent>
138       &lt;/Files&gt;
139     </example>
140 </usage>
141 </directivesynopsis>
142
143 <directivesynopsis>
144 <name>AccessFileName</name>
145 <description>分散設定ファイルの名前</description>
146 <syntax>AccessFileName <var>filename</var> [<var>filename</var>] ...</syntax>
147 <default>AccessFileName .htaccess</default>
148 <contextlist><context>server config</context><context>virtual host</context>
149 </contextlist>
150
151 <usage>
152     <p>リクエストを処理するとき、サーバはディレクトリに
153     対して分散設定ファイルが<a href="#allowoverride">有効になっていれば</a>、
154     そのドキュメントへの
155     パス上にある全てのディレクトリから、ここで指定された名前の一覧の中で
156     最初に見つかったファイルをそれぞれ設定ファイルとして読み込みます。例えば:</p>
157
158     <example>
159       AccessFileName .acl
160     </example>
161
162     <p>という設定があると、以下のようにして無効にされていない限り、
163     ドキュメント <code>/usr/local/web/index.html</code>
164     を返す前に、サーバは <code>/.acl</code>, <code>/usr/.acl</code>,
165     <code>/usr/local/.acl</code>, <code>/usr/local/web/.acl</code> から
166     ディレクティブを読み込みます。</p>
167
168     <example>
169       &lt;Directory /&gt;<br />
170       <indent>
171         AllowOverride None<br />
172       </indent>
173       &lt;/Directory&gt;
174     </example>
175 </usage>
176 <seealso><directive module="core">AllowOverride</directive></seealso>
177 <seealso><a href="../configuring.html">設定ファイル</a></seealso>
178 <seealso><a href="../howto/htaccess.html">.htaccess ファイル</a></seealso>
179 </directivesynopsis>
180
181 <directivesynopsis>
182 <name>AddDefaultCharset</name>
183 <description>レスポンスのコンテントタイプが <code>text/plain</code> あるいは
184 <code>text/html</code> の場合に追加するデフォルトの charset パラメータ</description>
185 <syntax>AddDefaultCharset On|Off|<var>charset</var></syntax>
186 <default>AddDefaultCharset Off</default>
187 <contextlist><context>server config</context>
188 <context>virtual host</context><context>directory</context>
189 <context>.htaccess</context></contextlist>
190 <override>FileInfo</override>
191
192 <usage>
193     <p>レスポンスのコンテントタイプが <code>text/plain</code> 
194     あるいは <code>text/html</code> 
195     の場合に限りますが、レスポンスに追加するメディアタイプの文字セットパラメータ
196     (文字エンコーディングの名前) のデフォルト値を、このディレクティブで指定します。
197     これはレスポンス <transnote>レスポンスの HTML</transnote> 内で <code>META</code> 
198     要素で指定された、どのような文字セットも無効にしますが、
199     最終的な挙動はユーザのクライアント側の設定で決まります。
200     この機能は <code>AddDefaultCharset Off</code> という設定で無効になります。
201     <code>AddDefaultCharset On</code> にすれば、
202     Apache 内部のデフォルト文字セット <code>iso-8859-1</code> に設定されます。
203     その他 <var>charset</var> に指定できる値であれば、どんな値でも使えます。
204     指定する値は、MIME メディアタイプとして使われる
205     <a href="http://www.iana.org/assignments/character-sets">IANA 
206     に登録されている文字セット名</a>のうちの一つにすべきです。
207     例えば:</p>
208
209     <example>
210       AddDefaultCharset utf-8
211     </example>
212
213     <p><directive>AddDefaultCharset</directive> を使うときは、全てのテキストリソースが
214     指定する文字エンコードになっていると分かっていて、かつ、
215     リソースの個々に文字セットを指定するのが大変な場合のみです。
216     例を挙げると、レガシーな CGI スクリプトなどの、動的に生成される
217     コンテンツを含むリソースに文字セットパラメータを追加する場合で、
218     ユーザの入力データが出力に入り、クロスサイトスクリプティングが
219     引き起こされうる場合です。デフォルト文字セットをセットしたとしても、
220     ブラウザの "文字エンコードの自動選択" 機能が有効になっているユーザを
221     守ることにはならないので、もちろんより良い解決策は単にスクリプトを修正
222     (あるいは削除) することです。</p>
223 </usage>
224 <seealso><directive module="mod_mime">AddCharset</directive></seealso>
225 </directivesynopsis>
226
227 <directivesynopsis>
228 <name>AddOutputFilterByType</name>
229 <description>MIME-type に出力フィルタを割り当てる</description>
230 <syntax>AddOutputFilterByType <var>filter</var>[;<var>filter</var>...] <var>MIME-type</var>
231 [<var>MIME-type</var>] ...</syntax>
232 <contextlist><context>server config</context>
233 <context>virtual host</context><context>directory</context>
234 <context>.htaccess</context></contextlist>
235 <override>FileInfo</override>
236 <compatibility>Apache 2.0.33 以降で使用可能; Apache 2.1 以降非推奨</compatibility>
237
238 <usage>
239     <p>このディレクティブは応答の <glossary ref="mime-type">MIME タイプ</glossary> に応じて出力<a
240     href="../filter.html">フィルタ</a>を使用するようにします。
241     しかし後述する問題のため、このディレクティブは非推奨です。
242     同等の機能は <module>mod_filter</module> で実現可能です。</p>
243
244     <p>次の例は <module>mod_deflate</module> の <code>DEFLATE</code> フィルタを
245     使っています。<code>text/html</code> と <code>text/plain</code> の
246     すべての出力 (静的なものも動的なものも) をクライアントに送られる前に
247     圧縮します。</p>
248
249     <example>
250       AddOutputFilterByType DEFLATE text/html text/plain
251     </example>
252
253     <p>複数のフィルタでコンテンツを処理させたいときは、それぞれの名前をセミコロンで
254     分ける必要があります。各フィルタに対して
255     <directive>AddOutputFilterByType</directive> を一つずつ書くこともできます。</p>
256
257     <p>次の例は <code>text/html</code> のスクリプトのすべての出力を
258     まず <code>INCLUDES</code> フィルタで処理し、さらに <code>DEFLATE</code> フィルタにかけます。</p>
259
260     <example>
261     &lt;Location /cgi-bin/&gt;<br />
262     <indent>
263       Options Includes<br />
264       AddOutputFilterByType INCLUDES;DEFLATE text/html<br />
265     </indent>
266     &lt;/Location&gt;
267     </example>
268
269     <note type="warning"><title>注:</title>
270       <p><directive>AddOutputFilterByType</directive> ディレクティブにより
271       有効にしたフィルタは場合によっては、部分的もしくは完全に適用されないことが
272       あります。例えば、<glossary ref="mime-type">MIME タイプ</glossary> が決定できないときには
273       <directive module="core">DefaultType</directive> の設定が同じだったとしても、
274       <directive module="core">DefaultType</directive> 設定を使うようになります。</p>
275       <p>しかし、確実にフィルタが適用されるようにしたいときは、リソースに
276       明示的にコンテントタイプを割り当てることができます。これには例えば
277       <directive module="mod_mime">AddType</directive> ディレクティブや
278       <directive module="core">ForceType</directive> ディレクティブを使います。
279       (nphでない) CGI スクリプトでコンテントタイプを設定するというものでも
280       大丈夫です。</p>
281     </note>
282 </usage>
283
284 <seealso><directive module="mod_mime">AddOutputFilter</directive></seealso>
285 <seealso><directive module="core">SetOutputFilter</directive></seealso>
286 <seealso><a href="../filter.html">フィルタ</a></seealso>
287 </directivesynopsis>
288
289 <directivesynopsis>
290 <name>AllowEncodedSlashes</name>
291 <description>URL 中の符号化されたパス分離文字が先に伝えられるのを許可するかどうかを
292 決定する</description>
293 <syntax>AllowEncodedSlashes On|Off</syntax>
294 <default>AllowEncodedSlashes Off</default>
295 <contextlist><context>server config</context><context>virtual host</context>
296 </contextlist>
297 <compatibility>Apache 2.0.46 以降で使用可能</compatibility>
298
299 <usage>
300     <p><directive>AllowEncodedSlashes</directive> ディレクティブは符号化された
301     パス分離文字 (<code>/</code> は <code>%2F</code>、さらにシステムによっては
302     <code>\</code> に対応する <code>%5C</code>) が存在する URL の使用を
303     許可するかどうかを決定します。通常はそのような URL は 404 (Not found) エラー
304     で拒否されます。</p>
305
306     <p><directive>AllowEncodedSlashes</directive> <code>On</code> による
307     パス分離文字の使用は、<code>PATH_INFO</code> と合わせて
308     使うときに一番役に立ちます。</p>
309
310     <note><title>注</title>
311       <p>符号化されたスラッシュを許可することは、<em>復号</em>をすることを
312        意味<em>しません</em>。<code>%2F</code> や (関係するシステムでの)
313        <code>%5C</code> は、他の部分が復号された URL の中でもそのままの形式で
314        残されます。</p>
315     </note>
316 </usage>
317 <seealso><directive module="core">AcceptPathInfo</directive></seealso>
318 </directivesynopsis>
319
320
321 <directivesynopsis>
322 <name>AllowOverride</name>
323 <description><code>.htaccess</code> で許可されるディレクティブの種類</description>
324 <syntax>AllowOverride All|None|<var>directive-type</var> 
325 [<var>directive-type</var>] ...</syntax>
326 <default>AllowOverride All</default>
327 <contextlist><context>directory</context></contextlist>
328
329 <usage>
330     <p>サーバが (<directive
331     module="core">AccessFileName</directive> によって指定された)
332     <code>.htaccess</code> ファイルを見つけた時、そのファイルの中で
333     宣言されたどのディレクティブがより前に定義された設定ディレクティブを
334     上書きできるかを知る必要があります。</p>
335
336     <note><title>&lt;Directory&gt; セクションでのみ使用可能</title>
337     <directive>AllowOverride</directive> は正規表現無しの<directive
338     type="section" module="core">Directory</directive>
339     セクションでのみ有効で、<directive type="section"
340     module="core">Location</directive> や <directive
341     module="core" type="section">DirectoryMatch</directive>
342     や <directive type="section"
343     module="core">Files</directive> セクションでは無効です。
344     </note>
345
346     <p>このディレクティブを <code>None</code> に設定すると、<a href="#accessfilename">.htaccess</a> ファイルは完全に
347     無視されます。
348     この場合、サーバはファイルシステムの <code>.htaccess</code> ファイルを読むことを
349     試みさえしません。</p>
350
351     <p>このディレクティブが <code>All</code> に設定されている時には、
352     <code>.htaccess</code> という <a
353     href="directive-dict.html#Context">コンテキスト</a> を持つ
354     全てのディレクティブが利用できます。</p>
355
356     <p><var>directive-type</var> には、以下のディレクティブ群の
357     キーワードのどれかを指定します。</p>
358
359     <dl>
360       <dt>AuthConfig</dt>
361
362       <dd>
363
364       認証に関するディレクティブの使用を許可する (<directive
365       module="mod_authn_dbm">AuthDBMGroupFile</directive>,
366       <directive module="mod_authn_dbm">AuthDBMUserFile</directive>,
367       <directive module="mod_authz_groupfile">AuthGroupFile</directive>,
368       <directive module="mod_authn_core">AuthName</directive>, 
369       <directive module="mod_authn_core">AuthType</directive>, <directive
370       module="mod_authn_file">AuthUserFile</directive>, <directive
371       module="mod_authz_core">Require</directive> <em>など</em>)。</dd>
372
373       <dt>FileInfo</dt>
374
375       <dd>
376       ドキュメントタイプを制御するためのディレクティブの使用を許可する (<directive
377       module="core">DefaultType</directive>, <directive
378       module="core">ErrorDocument</directive>, <directive
379       module="core">ForceType</directive>, <directive
380       module="mod_negotiation">LanguagePriority</directive>,
381       <directive module="core">SetHandler</directive>, <directive
382       module="core">SetInputFilter</directive>, <directive
383       module="core">SetOutputFilter</directive>, 
384       <module>mod_mime</module> の Add* と Remove*
385       ディレクティブ<em>など</em>),
386       ドキュメントのメタデータ (<directive
387       module="mod_headers">Header</directive>, <directive
388       module="mod_headers">RequestHeader</directive>, <directive
389       module="mod_setenvif">SetEnvIf</directive>, <directive
390       module="mod_setenvif">SetEnvIfNoCase</directive>, <directive
391       module="mod_setenvif">BrowserMatch</directive>, <directive
392       module="mod_usertrack">CookieExpires</directive>, <directive
393       module="mod_usertrack">CookieDomain</directive>, <directive
394       module="mod_usertrack">CookieStyle</directive>, <directive
395       module="mod_usertrack">CookieTracking</directive>, <directive
396       module="mod_usertrack">CookieName</directive>),
397       <module>mod_rewrite</module> のディレクティブ <directive
398       module="mod_rewrite">RewriteEngine</directive>, <directive
399       module="mod_rewrite">RewriteOptions</directive>, <directive
400       module="mod_rewrite">RewriteBase</directive>, <directive
401       module="mod_rewrite">RewriteCond</directive>, <directive
402       module="mod_rewrite">RewriteRule</directive>) と
403       <module>mod_actions</module> の
404       <directive module="mod_actions">Action</directive>
405       ディレクティブ。
406       </dd>
407
408       <dt>Indexes</dt>
409
410       <dd>
411       ディレクトリインデックスを制御するためのディレクティブの使用を許可する
412       (<directive
413       module="mod_autoindex">AddDescription</directive>,
414       <directive module="mod_autoindex">AddIcon</directive>, <directive
415       module="mod_autoindex">AddIconByEncoding</directive>,
416       <directive module="mod_autoindex">AddIconByType</directive>,
417       <directive module="mod_autoindex">DefaultIcon</directive>, <directive
418       module="mod_dir">DirectoryIndex</directive>, <directive
419       module="mod_autoindex">FancyIndexing</directive>, <directive
420       module="mod_autoindex">HeaderName</directive>, <directive
421       module="mod_autoindex">IndexIgnore</directive>, <directive
422       module="mod_autoindex">IndexOptions</directive>, <directive
423       module="mod_autoindex">ReadmeName</directive>
424       <em>など</em>)。</dd>
425
426       <dt>Limit</dt>
427
428       <dd>
429       ホストへのアクセス制御を行うためのディレクティブの使用を許可する (<directive
430       module="mod_authz_host">Allow</directive>, <directive
431       module="mod_authz_host">Deny</directive>, <directive
432       module="mod_authz_host">Order</directive>).</dd>
433
434       <dt>Options[=<var>Option</var>,...]</dt>
435
436       <dd>
437       特定のディレクトリにおける機能を指定するためのディレクティブの使用を許可する
438       (<directive module="core">Options</directive> と
439       <directive module="mod_include">XBitHack</directive>)。
440       <directive module="core">Options</directive> で設定するオプション
441       を、(空白を含めない) コンマ区切りのリストにして等号の後に続けることで
442       設定できます。</dd>
443     </dl>
444
445     <p>例:</p>
446
447     <example>
448       AllowOverride AuthConfig Indexes
449     </example>
450
451     <p>上の例では <code>AuthConfig</code> と <code>Indexes</code> のどちらにも
452     属さないディレクティブはすべて内部サーバエラーを引き起こします。</p>
453 </usage>
454
455 <seealso><directive module="core">AccessFileName</directive></seealso>
456 <seealso><a href="../configuring.html">設定ファイル</a></seealso>
457 <seealso><a href="../howto/htaccess.html">.htaccess ファイル</a></seealso>
458 </directivesynopsis>
459
460 <directivesynopsis>
461 <name>CGIMapExtension</name>
462 <description>CGI スクリプトのインタープリタの位置を調べるための手法</description>
463 <syntax>CGIMapExtension <var>cgi-path</var> <var>.extension</var></syntax>
464 <contextlist><context>directory</context><context>.htaccess</context>
465 </contextlist>
466 <override>FileInfo</override>
467 <compatibility>NetWare のみ</compatibility>
468
469 <usage>
470     <p>このディレクティブは Apache が CGI スクリプトを実行するための
471     インタープリタを探す方法を制御します。
472     例えば、<code>CGIMapExtension sys:\foo.nlm .foo</code> と設定すると
473     <code>.foo</code> という拡張子のすべての CGI スクリプトは FOO インタープリタに
474     渡されます。</p>
475 </usage>
476 </directivesynopsis>
477
478 <directivesynopsis>
479 <name>ContentDigest</name>
480 <description><code>Content-MD5</code> HTTP 応答ヘッダの生成を有効にする</description> 
481 <syntax>ContentDigest On|Off</syntax>
482 <default>ContentDigest Off</default>
483 <contextlist><context>server config</context><context>virtual host</context>
484 <context>directory</context><context>.htaccess</context>
485 </contextlist>
486 <override>Options</override>
487 <status>Experimental</status>
488
489 <usage>
490     <p>このディレクティブは、RFC1864 及び RFC2616 において定義されている
491     <code>Content-MD5</code> ヘッダーの生成を有効にします。</p>
492
493     <p>MD5 は、任意長のデータの「メッセージダイジェスト」(「指紋」
494     と表現されることもある) を計算するアルゴリズムで、
495     データの変更があった場合には非常に高い信頼度でメッセージダイジェストに変更が
496     反映されます。</p>
497
498     <p><code>Content-MD5</code> ヘッダは、エンドツーエンドで
499     エンティティボディーに含まれるメッセージの完全性チェック
500     (Message Integrity Check - MIC)を提供します。
501     このヘッダを調べることで、プロキシやクライアントは、
502     途中経路におけるエンティティボディの予期せぬ変更などを
503     検出することができます。ヘッダの例:</p>
504
505     <example>
506       Content-MD5: AuLb7Dp1rqtRtxz2m9kRpA==
507     </example>
508
509     <p>リクエスト毎にメッセージダイジェストを計算する (値はキャッシュされません)
510     ことから、
511     サーバパフォーマンスが低下することについて注意してください。</p>
512
513     <p><code>Content-MD5</code >は、<module>core</module> 機能により処理された
514     ドキュメントを送るときのみ有効であり、
515     SSI ドキュメントや CGI スクリプトの出力、バイトレンジを指定した
516     応答の場合にはこのヘッダは付与されません。
517     </p>
518 </usage>
519 </directivesynopsis>
520
521 <directivesynopsis>
522 <name>DefaultType</name>
523 <description>サーバがコンテントタイプを決定できないときに
524 送られる MIME コンテントタイプ</description>
525 <syntax>DefaultType <var>MIME-type|none</var></syntax>
526 <default>DefaultType text/plain</default>
527 <contextlist><context>server config</context><context>virtual host</context>
528 <context>directory</context><context>.htaccess</context>
529 </contextlist>
530 <override>FileInfo</override>
531 <compatibility>引数 <code>none</code> は Apache 2.2.7 以降で利用可能</compatibility>
532 <usage>
533     <p>サーバは、<glossary ref="mime-type">MIME タイプ</glossary>
534     のマップからは決定できないドキュメントの送信を要求されることがあります。</p>
535
536     <p>サーバは、ドキュメントのコンテントタイプをクライアントに通知するべきです。
537     サーバで通常の方法ではこれが判定できない場合は、
538     <code>DefaultType</code> で指定されたタイプを利用します。
539     例:</p>
540
541     <example>
542       DefaultType image/gif
543     </example>
544
545     <p>これは <code>.gif</code> という拡張子がファイル名に含まれていない
546     多くの GIF 画像が含まれているディレクトリに適しているでしょう。</p>
547
548     <p>サーバでも管理者でも判定することができない (例えばプロクシの) 場合、
549     誤った情報を与えるよりは MIME タイプの指定がない状態が望ましいことも
550     あります。この場合は次のようにします :</p>
551     <example>
552       DefaultType None
553     </example>
554     <p><code>DefaultType None</code> は httpd-2.2.7 
555     以降でのみ利用できます。</p>
556
557     <p><directive module="core">ForceType</directive> ディレクティブと
558     違って、このディレクティブはデフォルトの MIME タイプを提供するだけで
559     あることに注意してください。ファイル名の拡張子を含め、
560     メディアタイプを決定できる他の MIME タイプの定義があれば
561     このデフォルトは上書きされます。</p>
562 </usage>
563 </directivesynopsis>
564
565 <directivesynopsis>
566 <name>Define</name>
567 <description>変数の存在を宣言する</description>
568 <syntax>Define <var>parameter-name</var></syntax>
569 <contextlist><context>server config</context></contextlist>
570
571 <usage>
572     <p><program>httpd</program> の <code>-D</code>
573     引数と同じものです。</p>
574     <p>このディレクティブを使うと、スタートアップスクリプトに
575     記載されている <code>-D</code> 引数を書き換える必要なく、
576     <directive module="core" type="section">IfDefine</directive>
577     セクションを切り替えることができます。</p>
578 </usage>
579 </directivesynopsis>
580
581 <directivesynopsis type="section">
582 <name>Directory</name>
583 <description>指定のファイルシステムのディレクトリとサブディレクトリとのみに
584 適用されるディレクティブを囲む</description>
585 <syntax>&lt;Directory <var>directory-path</var>&gt;
586 ... &lt;/Directory&gt;</syntax>
587 <contextlist><context>server config</context><context>virtual host</context>
588 </contextlist>
589
590 <usage>
591     <p>指定されたディレクトリとそのサブディレクトリにのみ
592     ディレクティブを適用させるためには、
593     <directive type="section">Directory</directive> と 
594     <code>&lt;/Directory&gt;</code> を対として、ディレクティブ群を囲います。
595     その中には、ディレクトリコンテキストで許可された全てのディレクティブを
596     利用できます。
597     <var>directive-path</var> は、フルパスもしくは Unix のシェル形式の
598     ワイルドカードを指定します。
599     <code>?</code> は任意の 1 文字、<code>*</code> は任意の文字列にマッチします。
600     シェルにおける指定同様、文字の範囲を <code>[]</code> で指定できます。
601     ワイルドカードは `/' 文字にはマッチしませんので、
602     <code>/home/user/public_html</code> には
603     <code>&lt;Directory /*/public_html&gt;</code> はマッチしませんが、
604     <code>&lt;Directory /home/*/public_html&gt;</code> はマッチします。
605     例:</p>
606
607     <example>
608       &lt;Directory /usr/local/httpd/htdocs&gt;<br />
609       <indent>
610         Options Indexes FollowSymLinks<br />
611       </indent>
612       &lt;/Directory&gt;
613     </example>
614
615     <note>
616       <p><var>directory-path</var> 引数には注意してください: その引数は
617       Apache がファイルをアクセスするために使うファイルシステムのパスに
618       そのままマッチする必要があります。ある <code>&lt;Directory&gt;</code> に
619       適用されるディレクティブは、別のシンボリックリンクをたどったりして
620       同じディレクトリを違うパスでアクセスした場合には適用されません。</p>
621     </note>
622
623     <p><code>~</code> という文字を
624     付加することで<glossary ref="regex">正規表現</glossary>を利用することもできます。
625     例えば:</p>
626
627     <example>
628       &lt;Directory ~ "^/www/.*/[0-9]{3}"&gt;
629     </example>
630
631     <p>といった指定の場合、<code>/www/</code> 以下にある数字
632     3 文字のディレクトリにマッチします。</p>
633
634     <p>もし複数の (正規表現以外の) <directive type="section"
635     >Directory</directive>セクションが
636     ドキュメントを含むディレクトリ (やその上位ディレクトリのどれか) とマッチしたならば、
637     <a
638     href="#accessfilename">.htaccess</a> ファイルのディレクティブも読み込みつつ、
639     短いパスから順に適用されます。
640     例えば、</p>
641
642     <example>
643       &lt;Directory /&gt;<br />
644       <indent>
645         AllowOverride None<br />
646       </indent>
647       &lt;/Directory&gt;<br />
648       <br />
649       &lt;Directory /home/&gt;<br />
650       <indent>
651         AllowOverride FileInfo<br />
652       </indent>
653       &lt;/Directory&gt;
654     </example>
655
656     <p>と設定し、ドキュメント <code>/home/web/dir/doc.html</code> への
657     アクセスがあった場合には以下のように動作します:</p>
658
659     <ul>
660       <li><code>AllowOverride None</code> が適用される。
661       (<code>.htaccess</code> ファイルは無効になる)</li>
662
663       <li><code>AllowOverride FileInfo</code> が適用される
664       (<code>/home</code> ディレクトリに対して)。</li>
665
666       <li><code>/home/.htaccess</code>, <code>/home/web/.htaccess</code>,
667       <code>/home/web/dir/.htaccess</code> の順にそれらのファイル中の
668        FileInfo ディレクティブが適用される。</li>
669     </ul>
670
671     <p>正規表現は、通常のセクションがすべて適用されるまで
672     考慮されません。
673     その後、全ての正規表現が設定ファイルに現れた順で試されます。
674     例えば、以下のような場合に</p>
675
676     <example>
677       &lt;Directory ~ abc$&gt;<br />
678       <indent>
679         # ... directives here ...<br />
680       </indent>
681       &lt;/Directory&gt;
682     </example>
683
684     <p>正規表現のセクションはすべての通常の <directive
685     type="section">Directory</directive> と
686     <code>.htaccess</code> の適用が終わるまで考慮されません。
687     その後で、正規表現は <code>/home/abc/public_html/abc</code> にマッチし、
688     対応する <directive type="section">Directory</directive> が適用されます。</p>
689
690     <p><strong>Apache のデフォルトでは <code>&lt;Directory /&gt;</code> へのアクセスは
691     <code>Allow from All</code> になっていることに注意してください。
692     これは、URL からマップされたどのファイルでも Apache は送るということです。
693     これは以下のようにして変更することが推奨されています。</strong></p>
694
695     <example>
696       &lt;Directory /&gt;<br />
697       <indent>
698         Order Deny,Allow<br />
699         Deny from All<br />
700       </indent>
701       &lt;/Directory&gt;
702     </example>
703
704     <p><strong>そしてアクセスを<em>可能にしたい</em>ディレクトリに対して
705     個別に設定すればよいでしょう。
706     このあたりについては、<a
707     href="../misc/security_tips.html">セキュリティに関するコツ</a>を
708     参照してください。</strong></p>
709
710     <p>ディレクトリセクションは <code>httpd.conf</code> ファイルに書きます。
711     <directive type="section">Directory</directive>
712     ディレクティブは入れ子にすることができず、
713     <directive module="core" type="section">Limit</directive> や <directive
714     module="core" type="section">LimitExcept</directive> セクションの中にも
715     記述できません。</p>
716
717 </usage>
718 <seealso>リクエストを受けた際にこれらの異なるセクションが
719     組み合わされる方法については <a href="../sections.html">
720     &lt;Directory&gt;, &lt;Location&gt;, &lt;Files&gt; セクションの動作法</a></seealso>
721 </directivesynopsis>
722
723 <directivesynopsis type="section">
724 <name>DirectoryMatch</name>
725 <description>正規表現にマッチするファイルシステムのディレクトリと
726 サブディレクトリとのみに適用されるディレクティブを囲む</description>
727 <syntax>&lt;DirectoryMatch <var>regex</var>&gt;
728 ... &lt;/DirectoryMatch&gt;</syntax>
729 <contextlist><context>server config</context><context>virtual host</context>
730 </contextlist>
731
732 <usage>
733     <p><directive module="core" type="section">Directory</directive>
734     ディレクティブと同様に、<directive type="section">DirectoryMatch</directive>
735     と <code>&lt;/DirectoryMatch&gt;</code> は指定されたディレクトリと
736     そのサブディレクトリにのみ適用されるディレクティブ群を囲います。
737     しかし、このディレクティブは引数として<glossary 
738     ref="regex">正規表現</glossary>をとります。例えば:</p>
739
740     <example>
741       &lt;DirectoryMatch "^/www/(.+/)?[0-9]{3}"&gt;
742     </example>
743
744     <p>は <code>/www/</code> 以下にある数字 3 文字のディレクトリにマッチします。</p>
745
746 </usage>
747 <seealso>通常の <directive type="section">Directory</directive> と正規表現の指定が
748 適用される順番については <directive type="section"
749 module="core">Directory</directive></seealso>
750 <seealso>リクエストを受けた際にこれらの異なるセクションが
751     組み合わされる方法については <a href="../sections.html">
752     &lt;Directory&gt;, &lt;Location&gt;, &lt;Files&gt; セクションの動作法</a></seealso>
753 </directivesynopsis>
754
755 <directivesynopsis>
756 <name>DocumentRoot</name>
757 <description>ウェブから見えるメインのドキュメントツリーになる
758 ディレクトリ</description>
759 <syntax>DocumentRoot <var>directory-path</var></syntax>
760 <default>DocumentRoot /usr/local/apache/htdocs</default>
761 <contextlist><context>server config</context><context>virtual host</context>
762 </contextlist>
763
764 <usage>
765     <p>このディレクティブは、<program>httpd</program>
766     がファイルを提供するディレクトリを設定します。
767      <directive module="mod_alias">Alias</directive> のようなディレクティブにマッチしない場合には、
768     ドキュメントの (訳注:ファイルシステム上の) パスを生成するために、
769     リクエストされた URL のパス部分をドキュメントルートに付与します。
770     例:</p>
771
772     <example>
773       DocumentRoot /usr/web
774     </example>
775
776     <p>この場合、
777     <code>http://www.my.host.com/index.html</code> へのアクセスがあれば
778     <code>/usr/web/index.html</code> が返されます。
779     <var>directory-path</var> が絶対パスでない場合は、
780     <directive module="core">ServerRoot</directive> 
781     からの相対パスとみなされます。</p>
782
783     <p><directive>DocumentRoot</directive> は最後のスラッシュ無しで
784     指定する必要があります。</p>
785 </usage>
786 <seealso><a href="../urlmapping.html#documentroot">URL をファイルシステムの位置に
787 マップする</a></seealso>
788 </directivesynopsis>
789
790 <directivesynopsis>
791 <name>EnableMMAP</name>
792 <description>配送中にファイルを読み込むためにメモリマッピングを
793 使うかどうか</description>
794 <syntax>EnableMMAP On|Off</syntax>
795 <default>EnableMMAP On</default>
796 <contextlist><context>server config</context><context>virtual host</context>
797 <context>directory</context><context>.htaccess</context>
798 </contextlist>
799 <override>FileInfo</override>
800
801 <usage>
802     <p>このディレクティブは配送中にファイルの内容を読み込む必要があるときに
803     <program>httpd</program> がメモリマッピングを使うかどうかを制御します。
804     デフォルトでは、
805     例えば、<module>mod_include</module> を使って SSI ファイルを配送
806     するときのように、ファイルの途中のデータをアクセスする必要があるときには
807     Apache は OS がサポートしていればファイルをメモリにマップします。</p>
808
809     <p>
810     このメモリマップは性能の向上を持たらすことがあります。
811     しかし、環境によっては運用上の問題を防ぐためにメモリマッピングを
812     使用しないようにした方が良い場合もあります:</p>
813
814     <ul>
815     <li>マルチプロセッサシステムの中にはメモリマッピングをすると
816     <program>httpd</program> の性能が落ちるものがあります。</li>
817     <li>NFS マウントされた <directive module="core">DocumentRoot</directive>
818     では、<program>httpd</program> がメモリマップしている間にファイルが削除されたり
819     短くなったりしたときに起こるセグメンテーションフォールトのために
820     <program>httpd</program> がクラッシュする可能性があります。</li>
821     </ul>
822
823     <p>これらの問題に当てはまるサーバの設定の場合は、以下のようにして
824     ファイルの配送時のメモリマッピングを使用不可にしてください:</p>
825
826     <example>
827       EnableMMAP Off
828     </example>
829
830     <p>NFS マウントされたファイルには、問題のあるファイルにのみ明示的に
831     この機能を使用不可にします:</p>
832
833     <example>
834       &lt;Directory "/path-to-nfs-files"&gt;
835       <indent>
836         EnableMMAP Off
837       </indent>
838       &lt;/Directory&gt;
839     </example>
840 </usage>
841 </directivesynopsis>
842
843 <directivesynopsis>
844 <name>EnableSendfile</name>
845 <description>ファイルのクライアントへの配送時にカーネルの sendfile サポートを
846 使うかどうか</description>
847 <syntax>EnableSendfile On|Off</syntax>
848 <default>EnableSendfile On</default>
849 <contextlist><context>server config</context><context>virtual host</context>
850 <context>directory</context><context>.htaccess</context>
851 </contextlist>
852 <override>FileInfo</override>
853 <compatibility>バージョン 2.0.44 以降で使用可能</compatibility>
854
855 <usage>
856     <p>このディレクティブはクライアントにファイルの内容を送るときに
857     <program>httpd</program> がカーネルの
858     sendfile サポートを使うかどうかを制御します。デフォルトでは、
859     例えば静的なファイルの配送のように、リクエストの処理にファイルの
860     途中のデータのアクセスを必要としないときには、Apache は OS が
861     サポートしていればファイルを読み込むことなく sendfile を使って
862     ファイルの内容を送ります。</p>
863
864     <p>sendfile は read と send を別々に行なうことと、バッファの割り当てを
865     回避します。しかし、プラットフォームやファイルシステムの中には
866     運用上の問題を避けるためにこの機能を使用不可にした方が良い場合があります:</p>
867
868     <ul>
869     <li>プラットフォームの中にはビルドシステムが検知できなかった、壊れた
870     sendfile のサポートが存在するものがあります。これは特に
871     バイナリが別のマシンでビルドされ、壊れた sendfile のあるマシンに
872     移動したときに起こります。</li>
873     <li>Linux では、sendfile を用いると、
874     IPv6 使用時に存在する特定ネットワークカードの TCP-checksum
875     オフロードのバグを踏んでしまいます。</li>
876     <li>Itanium 上の Linux では、sendfile では 2GB 以上の
877     ファイルを扱うことができません。</li>
878     <li>ネットワークマウントされた <directive module="core">DocumentRoot</directive>
879     (例えば NFS や SMB)
880     では、カーネルは自身のキャッシュを使ってネットワークからのファイルを
881     送ることができないことがあります。</li>
882     </ul>
883
884     <p>これらの問題に当てはまるサーバの設定の場合は、以下のようにして
885     この機能を使用不可にしてください:</p>
886
887
888     <example>
889       EnableSendfile Off
890     </example>
891
892     <p>NFS や SMB マウントされたファイルには、問題のあるファイルにのみ明示的に
893     この機能を使用不可にします:</p>
894
895     <example>
896       &lt;Directory "/path-to-nfs-files"&gt;
897       <indent>
898         EnableSendfile Off
899       </indent>
900       &lt;/Directory&gt;
901     </example>
902 </usage>
903 </directivesynopsis>
904
905 <directivesynopsis>
906 <name>ErrorDocument</name>
907 <description>エラーが発生したときにサーバがクライアントに送るもの</description>
908 <syntax>ErrorDocument <var>error-code document</var></syntax>
909 <contextlist><context>server config</context><context>virtual host</context>
910 <context>directory</context><context>.htaccess</context>
911 </contextlist>
912 <override>FileInfo</override>
913
914 <usage>
915     <p>問題やエラーが発生したときの動作として、
916     Apache には以下の四つのうち一つの動作を設定することができます。</p>
917
918     <ol>
919       <li>Apache 標準の簡単なエラーメッセージを表示</li>
920
921       <li>自分で指定したメッセージを表示</li>
922
923       <li>問題やエラーの処理をする為に、自サーバ内の
924       <var>URL-path</var> へリダイレクト</li>
925
926       <li>問題やエラーの処理をする為に、外部の <var>URL</var> へリダイレクト</li>
927     </ol>
928
929     <p>最初のものがデフォルトの動作で、2 番目から 4 番目は、
930     <directive>ErrorDocument</directive>ディレクティブにより、
931     HTTP のレスポンスコードと、メッセージか URL を指定することで設定します。
932     Apache が問題もしくはエラーに関する追加情報を提供することがあります。</p>
933
934     <p>URL の場合は、スラッシュで始まる (/) ローカルの web-path (
935     <directive module="core">DocumentRoot</directive> からの相対パス
936     ) か、クライアントが解決できる完全な URL を指定します。
937     もしくは、ブラウザに表示されるメッセージを指定できます。
938     例:</p>
939
940     <example>
941       ErrorDocument 500 http://foo.example.com/cgi-bin/tester<br />
942       ErrorDocument 404 /cgi-bin/bad_urls.pl<br />
943       ErrorDocument 401 /subscription_info.html<br />
944       ErrorDocument 403 "Sorry can't allow you access today"
945     </example>
946
947     <p>加えて、特別な値 <code>default</code> を使って Apache に
948     ハードコードされている簡単なメッセージを指定することができます。
949     通常は必要ではありませんが、<code>default</code> を使うと
950     既存の <directive>ErrorDocument</directive> ディレクティブの設定を
951     継承するところで、Apache のハードコードされた簡単なメッセージに
952     戻すことができます。</p>
953
954     <example>
955       ErrorDocument 404 /cgi-bin/bad_urls.pl<br /><br />
956       &lt;Directory /web/docs&gt;<br />
957       <indent>
958         ErrorDocument 404 default<br />
959       </indent>
960       &lt;/Directory&gt;
961     </example>
962
963     <p>リモート URL (例えば、頭に <code>http</code> と付与した方法) を
964     <directive>ErrorDocument</directive> に指定するとき、
965     たとえ文書が同じサーバにあろうとも、ドキュメントがどこにあるかを通知するために、
966     Apache はリダイレクトをクライアントに送出するということに、注意してください。
967     これにはいろいろと関連して起こる問題があります。
968     中でも最も重要なのは、クライアントは元々のエラーステータスコードを受け取らず、
969     代わりにリダイレクトのステータスコードを受け取るということです。
970     これにより、ステータスコードを使って URL が有効であるかどうかを決定しようとする
971     ウェブロボットやその他クライアントを、混乱させるかもしれません。
972     さらに、<code>ErrorDocument 401</code> にリモートの URL を指定すると、
973     クライアントは 401 というステータスコードを受け取らないため、
974     パスワードをユーザーに入力要求しなければならないことがわかりません。
975     従って、<strong><code>ErrorDocument 401</code> というディレクティブを使う場合は、
976     必ずローカルな文書を参照しなければなりません。</strong></p>
977
978     <p>Microsoft Internet Explorer (MSIE) はデフォルトではサーバが生成したエラーメッセージが
979     「小さすぎる」ときには無視をして自分自身の「やさしい」エラーメッセージで
980     置換します。サイズのしきい値はエラーの種類によって異なりますが、
981     一般的にはエラーの文書を 512 バイトよりも大きくすると、MSIE は
982     サーバが生成したエラーを隠さずに表示します。詳しい情報は Microsoft
983     Knowledge Base の記事 <a
984     href="http://support.microsoft.com/default.aspx?scid=kb;en-us;Q294807">Q294807</a>
985     にあります。</p>
986
987     <p>ほとんどのエラーメッセージを上書きすることができますが、特定の状況下では
988     <directive module="core">ErrorDocument</directive> の設定にかかわらず
989     内蔵のメッセージが使われます。
990     特に、不正な形式のリクエストが検出された場合、通常のリクエスト処理は
991     即座に中止され、内蔵のエラーメッセージが返されます。
992     この処置は不正なリクエストによって引き起こされる、セキュリティ問題から
993     守るために必要な措置です。</p>
994
995     <p>2.0 より前のバージョンでは、対になっていない二重引用符を
996     先頭に付けることによりメッセージであることを指定していました。</p>
997
998 </usage>
999
1000 <seealso><a href="../custom-error.html">カスタマイズ可能な
1001 エラー応答のドキュメンテーション</a></seealso>
1002 </directivesynopsis>
1003
1004 <directivesynopsis>
1005 <name>ErrorLog</name>
1006 <description>サーバがエラーをログ収集する場所</description>    
1007 <syntax> ErrorLog <var>file-path</var>|syslog[:<var>facility</var>]</syntax>
1008 <default>ErrorLog logs/error_log (Unix) ErrorLog logs/error.log (Windows and OS/2)</default>
1009 <contextlist><context>server config</context><context>virtual host</context>
1010 </contextlist>
1011
1012 <usage>
1013     <p><directive>ErrorLog</directive> ディレクティブは、
1014     サーバに生じたさまざまなエラーを
1015     記録する為のファイルの名前を設定します。
1016     <var>file-path</var> が絶対パスでないときは、<directive
1017     module="core">ServerRoot</directive> からの相対パスとみなされます。</p>
1018
1019     <example><title>例</title>
1020     ErrorLog /var/log/httpd/error_log
1021     </example>
1022     
1023     <p><var>file-path</var> がパイプ (|) から始まる場合は、
1024     エラーログを処理するために実行されるコマンドが
1025     指定されていると解釈されます。</p>
1026
1027     <example><title>例</title>
1028     ErrorLog "|/usr/local/bin/httpd_errors"
1029     </example>
1030
1031     <p>ファイル名の変わりに <code>syslog</code> と指定することによって、
1032     システムがサポートしていれば syslogd(8) を利用したロギングが有効になります。
1033     デフォルトでは、<code>local7</code> ファシリティとなりますが、
1034     <code>syslog:<var>facility</var></code> といった形で記述することにより、
1035     通常 syslog(1) のドキュメントで説明されているファシリティの一つを使うように
1036     することができます。</p>
1037
1038     <example><title>例</title>
1039     ErrorLog syslog:user
1040     </example>
1041
1042     <p>セキュリティ: 
1043     ログファイルを格納するディレクトリが、サーバを起動したユーザ以外の
1044     ユーザによって書き込める場合にセキュリティが破られる可能性があることに
1045     関する詳細は <a
1046     href="../misc/security_tips.html#serverroot">セキュリティに関するコツ</a> を
1047     参照してください。</p>
1048     <note type="warning"><title>注</title>
1049       <p>Unix 以外のプラットフォームでファイルのパスを入力するときは、
1050       プラットフォームがバックスラッシュの使用を許していたとしても、
1051       確実にスラッシュのみが使用されるように注意してください。一般的には、
1052       設定ファイル全般でスラッシュのみを使う方が良いでしょう。</p>
1053     </note>
1054 </usage>
1055 <seealso><directive module="core">LogLevel</directive></seealso>
1056 <seealso><a href="../logs.html">Apache ログファイル</a></seealso>
1057 </directivesynopsis>
1058
1059 <directivesynopsis>
1060 <name>FileETag</name>
1061 <description>ETag HTTP 応答ヘッダを作成するために使用される
1062 ファイルの属性</description>
1063 <syntax>FileETag <var>component</var> ...</syntax>
1064 <default>FileETag INode MTime Size</default>
1065 <contextlist><context>server config</context><context>virtual host</context>
1066 <context>directory</context><context>.htaccess</context>
1067 </contextlist>
1068 <override>FileInfo</override>
1069
1070 <usage>
1071     <p>
1072     <directive>FileETag</directive> ディレクティブは
1073     ドキュメントがファイルに基づいたものであるときに、
1074     <code>ETag</code> (エンティティタグ) 応答ヘッダフィールドを作成するときに使用する
1075     ファイルの属性を設定します。 (<code>ETag</code> の値はネットワークの帯域を節約するための
1076     キャッシュの管理で使われます。) Apache 1.3.22 以前では、<code>ETag</code> の値は
1077     <em>常に</em>ファイルの inode, サイズ、最終修正時刻 (mtime) から作成
1078     されていました。<directive>FileETag</directive> ディレクティブにより、これらのどれを使うかを
1079     選ぶことができます。認識されるキーワードは:
1080     </p>
1081
1082     <dl>
1083      <dt><strong>INode</strong></dt>
1084      <dd>ファイルの inode 番号を計算に使います</dd>
1085      <dt><strong>MTime</strong></dt>
1086      <dd>ファイルの最終修正時刻を使います</dd>
1087      <dt><strong>Size</strong></dt>
1088      <dd>ファイルの中身のバイト数を使います</dd>
1089      <dt><strong>All</strong></dt>
1090      <dd>使用可能なすべてのフィールドを使います。
1091      これは <example>FileETag INode MTime Size</example> と等価です。</dd>
1092      <dt><strong>None</strong></dt>
1093      <dd>ドキュメントがファイルに基づいたものでも、<code>ETag</code> フィールドを
1094     応答に付加しません</dd>
1095     </dl>
1096
1097     <p><code>INode</code>, <code>MTime</code>, <code>Size</code> キーワードには
1098     <code>+</code> や <code>-</code> を前に付けて
1099     指定することもできます。この場合は、より広い範囲から継承された
1100     デフォルトの設定に変更を加えるようになります。そのような接頭辞の
1101     無いキーワードを指定すると、即座に継承した設定を無効にします。</p>
1102
1103     <p>あるディレクトリの設定に
1104     <code>FileETag&nbsp;INode&nbsp;MTime&nbsp;Size</code> があり、
1105     サブディレクトリの設定に <code>FileETag&nbsp;-INode</code> があるときは、
1106     そのサブディレクトリの設定は (設定が上書きされなければサブディレクトリの
1107     サブディレクトリにも継承されます) <code>FileETag&nbsp;MTime&nbsp;Size</code>
1108     と同じになります。</p>
1109     <note type="warning"><title>警告</title>
1110     WebDAV を使っていて、<module>mod_dav_fs</module> をストレージプロバイダとして
1111     使っているような Directory や Location では、デフォルト値を変更しないでください。
1112     <module>mod_dav_fs</module> では、条件付リクエストでの比較演算に
1113     <code>INode&nbsp;MTime&nbsp;Size</code>
1114     の固定フォーマットを使っています。
1115     <directive>FileETag</directive> で <code>ETag</code> フォーマットを
1116     変更してしまうと、条件付リクエストでうまく動作しなくなります。
1117     </note>
1118 </usage>
1119 </directivesynopsis>
1120
1121 <directivesynopsis type="section">
1122 <name>Files</name>
1123 <description>マッチするファイル名に適用されるディレクティブを囲む</description>
1124 <syntax>&lt;Files <var>filename</var>&gt; ... &lt;/Files&gt;</syntax>
1125 <contextlist><context>server config</context><context>virtual host</context>
1126 <context>directory</context><context>.htaccess</context>
1127 </contextlist>
1128 <override>All</override>
1129
1130 <usage>
1131     <p><directive type="section">Files</directive> ディレクティブは、
1132     その中にあるディレクティブの適用範囲をファイル名で制限します。
1133     <directive module="core"
1134     type="section">Directory</directive> ディレクティブや <directive
1135     module="core" type="section">Location</directive> ディレクティブと
1136     同じような機能を持ちます。
1137     これは、<code>&lt;/Files&gt;</code> ディレクティブと対に
1138     なっていなければなりません。
1139     このセクション中のディレクティブは、ベース名 (ファイル名の最後の部分)
1140     が指定されたファイル名にマッチするすべてのオブジェクトに適用されます。
1141     <directive type="section">Files</directive> セクションは
1142     <directive type="section">Directory</directive> セクションと
1143     <code>.htaccess</code> が読み込まれた後、
1144     <directive type="section">Location</directive> セクションよりは先に
1145     設定ファイルに現れた順に適用されます。
1146     <directive type="section">Files</directive> は、
1147     <directive type="section">Directory</directive> セクション内に
1148     ネストさせることができ、
1149     ファイルシステムの一部にのみ限定して適用させることができます。</p>
1150
1151     <p><var>filename</var> 引数は、ファイル名かワイルドカード文字列
1152     で、ワイルドカードでは <code>?</code> は一つの文字、<code>*</code> は任意の文字列にマッチします。
1153     <code>~</code> という文字を付加することで<glossary ref="regex">正規表現</glossary>を使うこともできます。
1154     例えば、</p>
1155
1156     <example>
1157       &lt;Files ~ "\.(gif|jpe?g|png)$"&gt;
1158     </example>
1159
1160     <p>とすることにより、一般的なインターネットの画像フォーマットにマッチします。
1161     ただし、
1162     <directive module="core" type="section">FilesMatch</directive> を使う方が
1163     推奨されています。</p>
1164
1165     <p>ちなみに、<directive module="core" type="section"
1166     >Directory</directive> と <directive module="core" type="section"
1167     >Location</directive> セクションとは異なり、
1168     <directive type="section">Files</directive>
1169     は <code>.htaccess</code> ファイル内で利用することができます。
1170     これにより、ユーザがファイル毎にアクセスの制御を行なうことができるように
1171     なっています。</p>
1172
1173 </usage>
1174 <seealso>リクエストを受けた際にこれらの異なるセクションが
1175     組み合わされる方法については <a href="../sections.html">
1176     &lt;Directory&gt;, &lt;Location&gt;, &lt;Files&gt; セクションの動作法</a></seealso>
1177 </directivesynopsis>
1178
1179 <directivesynopsis type="section">
1180 <name>FilesMatch</name>
1181 <description>正規表現にマッチするファイル名に適用される
1182 ディレクティブを囲む</description>
1183 <syntax>&lt;FilesMatch <var>regex</var>&gt; ... &lt;/FilesMatch&gt;</syntax>
1184 <contextlist><context>server config</context><context>virtual host</context>
1185 <context>directory</context><context>.htaccess</context>
1186 </contextlist>
1187 <override>All</override>
1188
1189 <usage>
1190     <p><directive type="section">FilesMatch</directive> ディレクティブは、
1191     <directive module="core" type="section">Files</directive>
1192     ディレクティブ同様にその中にあるディレクティブの適用範囲をファイル名で制限します。ただし、
1193     このディレクティブには<glossary ref="regex">正規表現</glossary>を指定します。
1194     例えば:</p>
1195
1196     <example>
1197       &lt;FilesMatch "\.(gif|jpe?g|png)$"&gt;
1198     </example>
1199
1200     <p>は一般的なインターネットの画像形式にマッチします。</p>
1201 </usage>
1202
1203 <seealso>リクエストを受けた際にこれらの異なるセクションが
1204     組み合わされる方法については <a href="../sections.html">
1205     &lt;Directory&gt;, &lt;Location&gt;, &lt;Files&gt; セクションの動作法</a></seealso>
1206 </directivesynopsis>
1207
1208 <directivesynopsis>
1209 <name>ForceType</name>
1210 <description>すべてのマッチするファイルが指定の MIME コンテントタイプで
1211 送られるようにする</description>
1212 <syntax>ForceType <var>MIME-type</var>|None</syntax>
1213 <contextlist><context>directory</context><context>.htaccess</context>
1214 </contextlist>
1215 <override>FileInfo</override>
1216 <compatibility>Apache 2.0 で core に移動</compatibility>
1217
1218 <usage>
1219     <p><code>.htaccess</code> や <directive type="section" module="core"
1220     >Directory</directive> セクション、
1221     <directive type="section" module="core">Location</directive> セクション、
1222     <directive type="section" module="core">Files</directive> セクションに
1223     書かれた場合、このディレクティブはそこにあるすべてのファイルが
1224     <var>MIME-type</var>
1225     で指定されたコンテントタイプとして扱われるようにします。たとえば、
1226     GIF ファイルばかりのディレクトリがあって、すべてのファイルを <code>.gif</code>
1227     で終わらせたくはないときに、以下のものを使用します:</p>
1228
1229     <example>
1230       ForceType image/gif
1231     </example>
1232
1233     <p><directive module="core">DefaultType</directive> と違って
1234     このディレクティブはメディアタイプを決めることができるかもしれない
1235     ファイルの拡張子も含め、すべての MIME タイプの関連付けを
1236     上書きすることに注意してください。</p>
1237
1238     <p><code>None</code> という値を使うことで <directive>ForceType</directive> の
1239     設定を無効にできます:</p>
1240
1241     <example>
1242       # force all files to be image/gif:<br />
1243       &lt;Location /images&gt;<br />
1244         <indent>
1245           ForceType image/gif<br />
1246         </indent>
1247       &lt;/Location&gt;<br />
1248       <br />
1249       # but normal mime-type associations here:<br />
1250       &lt;Location /images/mixed&gt;<br />
1251       <indent>
1252         ForceType None<br />
1253       </indent>
1254       &lt;/Location&gt;
1255     </example>
1256 </usage>
1257 </directivesynopsis>
1258
1259 <directivesynopsis>
1260 <name>HostnameLookups</name>
1261 <description>クライアントの IP アドレスの DNS ルックアップを
1262 有効にする</description>
1263 <syntax>HostnameLookups On|Off|Double</syntax>
1264 <default>HostnameLookups Off</default>
1265 <contextlist><context>server config</context><context>virtual host</context>
1266 <context>directory</context></contextlist>
1267
1268 <usage>
1269     <p>このディレクティブは、ホスト名をログ収集できるように
1270     DNS ルックアップを有効にします
1271     (さらに、CGI/SSI に <code>REMOTE_HOST</code> 変数として渡します)。
1272     <code>Double</code>を指定した場合、2 重の逆引きを行ないます。
1273     つまり、逆引きの後に、その結果に対して正引きを行ないます。正引きの
1274     結果の IP アドレスの中にオリジナルのアドレスと一致するものがなければ
1275     なりません。("tcpwrappers" の用語では <code>PARANOID</code> と呼ばれています。)</p>
1276
1277     <p><module>mod_authz_host</module> でホスト名によるアクセス
1278     制御を行なう場合には、
1279     設定の如何によらず 2 重の逆引きが実行されます。
1280     これは、セキュリティを保つために必要です。
1281     <code>HostnameLookups Double</code> を設定しない限り、
1282     他の部分はこの 2 重逆引きの結果を使うことはできません。
1283     例えば、<code>HostnameLookups On</code> と設定してある状態で、
1284     ホスト名によるアクセス制限を行なったオブジェクトへの
1285     リクエストを受けたとすると、2 重の逆引きが成功するか否かによらず、
1286     <code>REMOTE_HOST</code> には通常の逆引き結果が渡されます。</p>
1287
1288     <p>ディレクティブのデフォルトは
1289     本当に逆引きを必要としているわけではないサイトの
1290     ネットワークトラフィックを低減させるために、<code>Off</code> になっています。
1291     ルックアップによる余計な遅延がなくなるため、
1292     エンドユーザにとっても良いでしょう。
1293     DNS のルックアップには、かなりの時間が必要となる場合が多く、
1294     負荷の高いサイトではこのディレクティブは <code>Off</code> にすべきです。
1295     なお、<var>/support</var> ディレクトリに含まれ、デフォルトでは
1296     インストールディレクトリの <code>bin</code> サブディレクトリに
1297     インストールされる <program>logresolve</program> ユーティリティにより、
1298     Apache の動作とは別に、ログに残されている IP アドレスからホスト名を
1299     ルックアップすることが可能です。</p>
1300 </usage>
1301 </directivesynopsis>
1302
1303 <directivesynopsis type="section">
1304 <name>If</name>
1305 <description>実行時、リクエストが条件を満たした場合にのみ適用される
1306 ディレクティブを包含する</description>
1307 <syntax>&lt;If <var>expression</var>&gt; ... &lt;/If&gt;</syntax>
1308 <contextlist><context>server config</context><context>virtual host</context>
1309 <context>directory</context><context>.htaccess</context>
1310 </contextlist>
1311 <override>All</override>
1312
1313 <usage>
1314     <p><directive type="section">If</directive> ディレクティブは
1315     実行時に式を評価し、条件式が真になるときにのみ
1316     内包するディレクティブを適用します。
1317     例えば</p>
1318
1319     <example>
1320         &lt;If "$req{Host} = ''"&gt;
1321     </example>
1322
1323     <p>上記例は <var>Host:</var> ヘッダの存在しない HTTP/1.0 のリクエストに
1324     マッチします。</p>
1325 </usage>
1326
1327 <seealso><a href="../sections.html">どのように &lt;Directory&gt;, &lt;Location&gt;,
1328     &lt;Files&gt; セクションが動作するか</a> では、リクエストを受けたときに、
1329     これらの異なるセクションがどのように組み合わさるかについて記載されています。
1330     <directive type="section">If</directive> は
1331     <directive type="section">Files</directive>
1332     と同じ処理順と用法になっています。</seealso>
1333 </directivesynopsis>
1334
1335 <directivesynopsis type="section">
1336 <name>IfDefine</name>
1337 <description>起動時にテストが真であるときのみに処理されるディレクティブを
1338 囲む</description>
1339 <syntax>&lt;IfDefine [!]<var>parameter-name</var>&gt; ...
1340     &lt;/IfDefine&gt;</syntax>
1341 <contextlist><context>server config</context><context>virtual host</context>
1342 <context>directory</context><context>.htaccess</context>
1343 </contextlist>
1344 <override>All</override>
1345
1346 <usage>
1347     <p><code>&lt;IfDefine <var>test</var>&gt;...&lt;/IfDefine&gt;</code>
1348     セクションは、
1349     ディレクティブを条件付きで指定するために利用します。
1350     <directive type="section">IfDefine</directive> セクションに
1351     含まれるディレクティブは、<var>test</var>が
1352     定義されているときのみ処理されます。
1353     もし <var>test</var> が定義されていなければ、
1354     開始と終了の指定の間のディレクティブは無視されます。</p>
1355
1356     <p><directive type="section">IfDefine</directive> セクションディレクティブに
1357     指定する <var>test</var> は、
1358     次の二つの形式のうちの一つをとります:</p>
1359
1360     <ul>
1361       <li><var>parameter-name</var></li>
1362
1363       <li><code>!</code><var>parameter-name</var></li>
1364     </ul>
1365
1366     <p>前者の場合には、<var>parameter-name</var> と名付けられたパラメータが
1367     定義されていれば開始と終了の間のディレクティブが処理されます。
1368     後者の場合は逆で、<em>parameter-name</em> が指定されて<strong>いない</strong>
1369     場合に処理されます。</p>
1370
1371     <p><var>parameter-name</var> 引数は、サーバを起動する際に
1372     <program>httpd</program> のコマンドラインに
1373     <code>-D<var>parameter</var></code> という形で指定するか
1374     あるいは <directive module="core">Define</directive>
1375     ディレクティブで指定されると定義されます。 </p>
1376
1377     <p><directive type="section">IfDefine</directive> セクションは
1378     入れ子にすることができ、複数のパラメータによるテストをするために使用できます。
1379     例:</p>
1380
1381     <example>
1382       httpd -DReverseProxy -DUseCache -DMemCache ...<br />
1383       <br />
1384       # httpd.conf<br />
1385       &lt;IfDefine ReverseProxy&gt;<br />
1386       <indent>
1387         LoadModule proxy_module   modules/mod_proxy.so<br />
1388         LoadModule proxy_http_module   modules/mod_proxy_http.so<br />
1389         &lt;IfDefine UseCache&gt;<br />
1390         <indent>
1391           LoadModule cache_module   modules/mod_cache.so<br />
1392           &lt;IfDefine MemCache&gt;<br />
1393           <indent>
1394             LoadModule mem_cache_module   modules/mod_mem_cache.so<br />
1395       </indent>
1396           &lt;/IfDefine&gt;<br />
1397           &lt;IfDefine !MemCache&gt;<br />
1398           <indent>
1399             LoadModule cache_disk_module   modules/mod_cache_disk.so<br />
1400           </indent>
1401       &lt;/IfDefine&gt;
1402         </indent>
1403         &lt;/IfDefine&gt;
1404       </indent>
1405       &lt;/IfDefine&gt;
1406     </example>
1407 </usage>
1408 </directivesynopsis>
1409
1410 <directivesynopsis type="section">
1411 <name>IfModule</name>
1412 <description>モジュールの存在するかしないかに応じて処理される
1413 ディレクティブを囲む</description>
1414 <syntax>&lt;IfModule [!]<var>module-file</var>|<var>module-identifier</var>&gt; ...
1415     &lt;/IfModule&gt;</syntax>     
1416 <contextlist><context>server config</context><context>virtual host</context>
1417 <context>directory</context><context>.htaccess</context>
1418 </contextlist>
1419 <override>All</override>
1420 <compatibility>モジュール識別子はバージョン 2.1 以降で使用可能。</compatibility>
1421
1422 <usage>
1423     <p><code>&lt;IfModule <var>test</var>&gt;...&lt;/IfModule&gt;</code>
1424     セクションは、モジュールが存在するときに処理されるディレクティブを
1425     指定するために利用します。
1426     <directive type="section">IfModule</directive> セクションに
1427     含まれるディレクティブは、<var>test</var>
1428     で指定するモジュールが組み込まれているときのみ処理されます。
1429     もし <var>test</var> が組み込まれていなければ、開始と終了の間のディレクティブ
1430     は無視されます。</p>
1431
1432     <p><directive type="section">IfModule</directive> セクションディレクティブに
1433     指定する <var>test</var> は、
1434     次の二つの形式のうちの一つをとります。</p>
1435
1436     <ul>
1437       <li><var>module</var></li>
1438
1439       <li>!<var>module</var></li>
1440     </ul>
1441
1442     <p>前者の場合は、<var>module</var> と名付けられたモジュールが
1443     Apache に組み込まれていれば
1444     (コンパイル済みのものと、<directive
1445     module="mod_so">LoadModule</directive> を利用して
1446     動的に読み込んだものの両方)、
1447     開始と終了の間のディレクティブが処理されます。
1448     後者の場合は逆で、<var>module</var> が組み込まれて<strong>いない</strong>
1449     場合に処理されます。</p>
1450
1451     <p><var>module</var> 引数は、モジュール識別子か
1452     コンパイルをした時のモジュールのファイル名です。
1453     例えば、<code>rewrite_module</code> は識別子で
1454     <code>mod_rewrite.c</code> はファイル名です。
1455     モジュールが複数のソースファイルから構成されている場合は、文字列
1456     <code>STANDARD20_MODULE_STUFF</code> があるファイルの名前を
1457     使ってください。</p>
1458
1459     <p><directive type="section">IfModule</directive> セクションは
1460     入れ子にすることが可能であり、
1461     複数のモジュールのテストを行なうために使用できます。</p>
1462
1463     <note>特定のモジュールの存在に関わらず動作する
1464     設定ファイルの原本が必要なときにのみこのセクションを使用してください。
1465     通常の動作では、ディレクティブを
1466     <directive type="section">IfModule</directive> セクションの中に
1467     入れる必要はありません。</note>
1468 </usage>
1469 </directivesynopsis>
1470
1471 <directivesynopsis>
1472 <name>Include</name>
1473 <description>サーバ設定ファイル中から他の設定ファイルを取り込む</description>
1474 <syntax>Include <var>file-path</var>|<var>directory-path</var></syntax>
1475 <contextlist><context>server config</context><context>virtual host</context>
1476 <context>directory</context>
1477 </contextlist>
1478 <compatibility>ワイルドカードによるマッチは 2.0.41 以降で使用可能</compatibility>
1479
1480 <usage>
1481     <p>このディレクティブにより、サーバの設定ファイルから
1482     他の設定ファイルをインクルードすることができます。</p>
1483
1484     <p>複数のファイルをアルファベット順に一度に読み込むために、
1485     シェル形式 (<code>fnmatch</code>) のワイルドカード文字を使うことができます。
1486     さらに、<directive>Include</directive> にディレクトリを指定した場合は、
1487     ディレクトリとそのサブディレクトリ内の全てのファイルを
1488     アルファベット順に読み込んで、設定ファイルとして処理します。
1489     しかし、ディレクトリ全体を読み込むのはお勧めできません。
1490     ふとしたことから <code>httpd</code> が読み込みに失敗するような
1491     一時ファイルをディレクトリに残してしまうようなことがよくあるからです。</p>
1492
1493     <p>指定するファイルパスは絶対パスか、
1494     <directive module="core">ServerRoot</directive> ディレクトリからの
1495     相対パスか、のどちらかです。</p>
1496
1497     <p>例:</p>
1498
1499     <example>
1500       Include /usr/local/apache2/conf/ssl.conf<br />
1501       Include /usr/local/apache2/conf/vhosts/*.conf
1502     </example>
1503
1504      <p><directive module="core">ServerRoot</directive> からの相対パスの場合は:</p>
1505
1506     <example>
1507       Include conf/ssl.conf<br />
1508       Include conf/vhosts/*.conf
1509     </example>
1510 </usage>
1511
1512 <seealso><program>apachectl</program></seealso>
1513 </directivesynopsis>
1514
1515 <directivesynopsis>
1516 <name>KeepAlive</name>
1517 <description>HTTP の持続的な接続を有効にする</description>
1518 <syntax>KeepAlive On|Off</syntax>
1519 <default>KeepAlive On</default>
1520 <contextlist><context>server config</context><context>virtual host</context>
1521 </contextlist>
1522
1523 <usage>
1524     <p>HTTP/1.0 の Keep-Alive 拡張と HTTP/1.1 の持続的接続の機能は、
1525     複数のリクエストが同じ TCP の接続で送られる、長時間持続する
1526     HTTP セッションを提供します。たくさんの画像が
1527     含まれる HTML ドキュメントでは場合によっては遅延時間が 50% 短縮される結果も
1528     でています。Keep-Alive 接続を有効にするには
1529     <code>KeepAlive On</code> と設定します。</p>
1530
1531     <p>HTTP/1.0 に対応したクライアントの際には、
1532     クライアントより特に要求があった場合のみ Keep-Alive 接続となります。
1533     さらに、HTTP/1.0 クライアントでは、コンテンツの容量が先に
1534     (訳注: 要求に対して応答を返す前に) わかる場合のみ Keep-Alive
1535     接続を利用できます。
1536     これは、CGI の出力や SSI のページ、
1537     サーバが生成したディレクトリのリストのような動的コンテンツを
1538     HTTP/1.0 クライアントに送る場合には Keep-Alive 接続を使えないことを意味します。
1539     HTTP/1.1 に対応したクライアントの際には、
1540     特に指定されない限りはデフォルトとして持続的な接続が行なわれます。
1541     クライアントが要求すれば、コンテンツの容量を判別できないものを
1542     持続的な接続を通して送るために、チャンクエンコーディングが用いられます。</p>
1543
1544     <p>クライアントが Keep-Alive コネクションを使用している場合、
1545     そのコネクションを通してどれだけたくさんのリクエストが処理されても、
1546     それは「リクエスト」1 つとして、MaxRequestsPerChild ディレクティブでは
1547     数えられます。</p>
1548 </usage>
1549
1550 <seealso><directive module="core">MaxKeepAliveRequests</directive></seealso>
1551 </directivesynopsis>
1552
1553 <directivesynopsis>
1554 <name>KeepAliveTimeout</name>
1555 <description>持続的な接続で次のリクエストが来るまでサーバが待つ時間</description>
1556 <syntax>KeepAliveTimeout <var>seconds</var></syntax>
1557 <default>KeepAliveTimeout 5</default>
1558 <contextlist><context>server config</context><context>virtual host</context>
1559 </contextlist>
1560
1561 <usage>
1562     <p>接続を閉じる前に、Apache が次のリクエストを何秒待つかを指定します。
1563     リクエストを受け付けた後は、<directive
1564     module="core">Timeout</directive> ディレクティブによって
1565     指定されたタイムアウト値が使われます。</p>
1566
1567     <p><directive>KeepAliveTimeout</directive> を大きな値に設定すると、
1568     負荷の高いサーバにおいてはパフォーマンスの問題を引き起こす場合があります。
1569     タイムアウトが長ければ長いほど、より多くのサーバプロセスが
1570     活性でないクライアントからの接続の終了を待ち続けることになります。</p>
1571     
1572     <p>名前ベースのバーチャルホストコンテキストでは、
1573     <directive module="core">NameVirtualHost</directive>
1574     のセットの中で最初に定義されたバーチャルホストの値
1575     (デフォルトホスト) が使われます。
1576     その他の値は無視されます。</p>
1577 </usage>
1578 </directivesynopsis>
1579
1580 <directivesynopsis type="section">
1581 <name>Limit</name>
1582 <description>囲いの中にあるアクセス制御の適用を特定の HTTP メソッドのみに
1583 制限する</description>    
1584 <syntax>&lt;Limit <var>method</var> [<var>method</var>] ... &gt; ...
1585     &lt;/Limit&gt;</syntax>
1586 <contextlist><context>server config</context><context>virtual host</context>
1587 <context>directory</context><context>.htaccess</context>
1588 </contextlist>
1589 <override>All</override>
1590
1591 <usage>
1592     <p>アクセス制御は、通常<strong>全ての</strong>アクセスメソッドに対して
1593     影響し、普通はこれが望ましい挙動です。
1594     <strong>そうしたことから、大部分の場合にはアクセス制御に関わるディレクティブを
1595     <directive type="section">Limit</directive> セクション内に
1596     書くべきではありません。 </strong></p>
1597
1598     <p><directive type="section">Limit</directive> ディレクティブの
1599     目的は、アクセス制御の範囲を
1600     指定された HTTP メソッドに限定するためです。
1601     それ以外のメソッドは、<directive type="section">Limit</directive> で囲われたアクセス制御の
1602     <strong>影響を受けません</strong>。
1603     以下の例は、<code>POST</code>, <code>PUT</code>, <code>DELETE</code> のメソッドに対してのみアクセスの制御を行ない、
1604     それ以外のメソッドについては制限しません:</p>
1605
1606     <example>
1607       &lt;Limit POST PUT DELETE&gt;<br />
1608       <indent>
1609         Require valid-user<br />
1610       </indent>
1611       &lt;/Limit&gt;
1612     </example>
1613
1614     <p>メソッド名には以下の中から一つ以上を列挙することができます:
1615     <code>GET</code>,
1616     <code>POST</code>, <code>PUT</code>, <code>DELETE</code>,
1617     <code>CONNECT</code>, <code>OPTIONS</code>,
1618     <code>PATCH</code>, <code>PROPFIND</code>, <code>PROPPATCH</code>,
1619     <code>MKCOL</code>, <code>COPY</code>, <code>MOVE</code>,
1620     <code>LOCK</code>, <code>UNLOCK</code>. <strong>メソッド名は
1621     大文字小文字を区別します。</strong> <code>GET</code> を指定した場合には
1622     <code>HEAD</code> リクエストにも制限がかかります。<code>TRACE</code>
1623     メソッドに制限をかけることはできません
1624     (<directive type="section" module="core">TraceEnable</directive> 参照)。</p>
1625
1626     <note type="warning">アクセス制御が目的の場合は
1627     <directive type="section" module="core">Limit</directive> 
1628     セクションの代わりに <directive type="section" 
1629     module="core">LimitExcept</directive> セクションを使用した方が良いでしょう。
1630     <directive type="section" module="core">LimitExcept</directive>
1631     セクションでは不特定のメソッドに対しても防御できるからです。</note>
1632
1633 </usage>
1634 </directivesynopsis>
1635
1636 <directivesynopsis type="section">
1637 <name>LimitExcept</name>
1638 <description>指定されたもの以外の HTTP メソッドにアクセス制御を
1639 制限する</description>
1640 <syntax>&lt;LimitExcept <var>method</var> [<var>method</var>] ... &gt; ...
1641     &lt;/LimitExcept&gt;</syntax>
1642 <contextlist><context>server config</context><context>virtual host</context>
1643 <context>directory</context><context>.htaccess</context>
1644 </contextlist>
1645 <override>All</override>
1646
1647 <usage>
1648     <p><directive type="section">LimitExcept</directive> と
1649     <code>&lt;/LimitExcept&gt;</code> は、引数に
1650     <strong>含まれていない</strong>
1651     HTTP のアクセスメソッドに適用するためのアクセス制御
1652     ディレクティブを括るために利用します。
1653     つまり、<directive type="section" module="core"
1654     >Limit</directive> セクションの反対の動作をし、
1655     標準のメソッドと標準外や未認識のメソッドの場合の両方を設定できます。
1656     <directive type="section" module="core">Limit</directive> のドキュメントも
1657     併せて参照してください。</p>
1658
1659     <p>例:</p>
1660
1661     <example>
1662       &lt;LimitExcept POST GET&gt;<br />
1663       <indent>
1664         Require valid-user<br />
1665       </indent>
1666       &lt;/LimitExcept&gt;
1667     </example>
1668
1669 </usage>
1670 </directivesynopsis>
1671
1672 <directivesynopsis>
1673 <name>LimitInternalRecursion</name>
1674 <description>内部リダイレクトと入れ子になったサブリクエストの最大数を決定する</description>
1675 <syntax>LimitInternalRecursion <var>number</var> [<var>number</var>]</syntax>
1676 <default>LimitInternalRecursion 10</default>
1677 <contextlist><context>server config</context><context>virtual host</context>
1678 </contextlist>
1679 <compatibility>Apache 2.0.47 以降で使用可能</compatibility>
1680
1681 <usage>
1682     <p>内部リダイレクトは例えば <directive>Action</directive> ディレクティブを
1683     使っているときに起こります。<directive>Action</directive> ディレクティブは
1684     元々のリクエストを CGI スクリプトに内部リダイレクトを行ないます。
1685     サブリクエストはいくつかの URI に対して、リクエストされたときに
1686     何が起こるかを調べるための Apache の機構です。例えば、<module>mod_dir</module>
1687     は <directive module="mod_dir">DirectoryIndex</directive> ディレクティブ
1688     がリストするファイルを調べるためにサブリクエストを使います。</p>
1689
1690     <p><directive>LimitInternalRecursion</directive> は内部リダイレクトや
1691     サブリクエストが無限ループに陥ったときのサーバクラッシュを防ぎます。
1692     普通、そのようなループは設定に失敗したときに発生します。</p>
1693
1694     <p>このディレクティブは、リクエスト毎に評価される、二つの違う限界値を
1695     設定します。最初の <var>number</var> は、起こり得る
1696     内部リクエストの最大値を設定します。二つめの <var>number</var> は
1697     サブリクエストが入れ子にできる深さを設定します。<var>number</var> を
1698     一つだけ指定したときは、両方の限界値にその値が設定されます。</p>
1699
1700     <example><title>例</title>
1701       LimitInternalRecursion 5
1702     </example>
1703 </usage>
1704 </directivesynopsis>
1705
1706 <directivesynopsis>
1707 <name>LimitRequestBody</name>
1708 <description>クライアントから送られる HTTP リクエストのボディの
1709 総量を制限する</description>
1710 <syntax>LimitRequestBody <var>bytes</var></syntax>
1711 <default>LimitRequestBody 0</default>
1712 <contextlist><context>server config</context><context>virtual host</context>
1713 <context>directory</context><context>.htaccess</context>
1714 </contextlist>
1715 <override>All</override>
1716
1717 <usage>
1718     <p>このディレクティブは、リクエストボディに許されるバイト数、<var>bytes</var>
1719     を 0 (無制限を意味します) から 2147483647 (2GB) までの数値で指定します。</p>
1720
1721     <p><directive>LimitRequestBody</directive> ディレクティブは、
1722     ディレクティブが書かれたコンテキスト
1723     (サーバ全体、ディレクトリ、ファイル、ロケーション) 内で
1724     許容する  HTTP リクエストメッセージボディのサイズに制限をかけることができます。
1725     クライアントのリクエストがその制限値を越えていれば、
1726     サーバはリクエストを処理せずにエラーを返します。
1727     普通のリクエストメッセージボディのサイズは、リソースの種類や
1728     許可されているメソッドによって大きく変わります。
1729     CGI スクリプトは、よく情報を受信するために
1730     メッセージボディを使います。
1731     <code>PUT</code> メソッドの実装は、このディレクティブの値として
1732     少なくともあるリソースに対してサーバが受け付けようとする
1733     表現の大きさほどの値を必要とします。</p>
1734
1735     <p>このディレクティブは、
1736     管理者にクライアントからの異常なリクエストを制御できるようにし、
1737     何らかの形のサービス拒否攻撃 (訳注:DoS) を避けるのに有効です。</p>
1738
1739     <p>ある場所へのファイルアップロードを許可する場合に、
1740     アップロードできるファイルのサイズを 100K に制限したければ、
1741     以下のように指定します:</p>
1742
1743     <example>
1744       LimitRequestBody 102400
1745     </example>
1746
1747 </usage>
1748 </directivesynopsis>
1749
1750 <directivesynopsis>
1751 <name>LimitRequestFields</name>
1752 <description>クライアントからの HTTP リクエストのヘッダフィールドの数を
1753 制限する</description>
1754 <syntax>LimitRequestFields <var>number</var></syntax>
1755 <default>LimitRequestFields 100</default>
1756 <contextlist><context>server config</context></contextlist>
1757
1758 <usage>
1759     <p><var>number</var> には、0 (無制限を意味します) から 32767
1760     までの整数を指定します。
1761     デフォルト値は、定数 <code>DEFAULT_LIMIT_REQUEST_FIELDS</code>
1762     によりコンパイル時に定義されます (配布時には 100 と指定されています)。</p>
1763
1764     <p><directive>LimitRequestBody</directive> ディレクティブは、
1765     サーバ管理者が HTTP リクエスト中において許可するリクエストヘッダフィールド数を
1766     指定します。
1767     サーバはこの値には通常のクライアントからのリクエストに含まれるであろう
1768     フィールドの数より大きな値が必要とします。
1769     クライアントにより使われた要求ヘッダーフィールドの数が
1770     20 を超えることはほとんどありませんが、
1771     これは種々のクライアントの実装によって変わり、
1772     詳細なコンテントネゴシエーションをするためのブラウザの設定までにも
1773     影響されることがあります。
1774     オプションの HTTP 拡張はリクエストヘッダフィールドを使って表される場合が
1775     多くあります。</p>
1776
1777     <p>このディレクティブは、
1778     管理者にクライアントからの異常なリクエストを制御できるようにし、
1779     何らかの形のサービス拒否攻撃 (訳注:DoS) を避けるのに有効です。
1780     リクエストのフィールドが多過ぎることを意味するエラー応答が
1781     普通のクライアントに返されるような時はこの値を増やしてください。</p>
1782
1783     <p>例:</p>
1784
1785     <example>
1786       LimitRequestFields 50
1787     </example>
1788
1789 </usage>
1790 </directivesynopsis>
1791
1792 <directivesynopsis>
1793 <name>LimitRequestFieldSize</name>
1794 <description>クライアントからの HTTP リクエストのヘッダの
1795 サイズを制限する</description>
1796 <syntax>LimitRequestFieldSize <var>bytes</var></syntax>
1797 <default>LimitRequestFieldSize 8190</default>
1798 <contextlist><context>server config</context></contextlist>
1799
1800 <usage>
1801     <p>このディレクティブは、HTTP リクエストヘッダ一つで受付ける
1802     バイト数 <var>bytes</var> を指定します。</p>
1803
1804     <p><directive>LimitRequestFieldSize</directive> ディレクティブは、
1805     HTTP リクエストヘッダで許容されるサイズを増減させることができます。
1806     サーバは、このディレクティブの値として、
1807     一般的なクライアントからリクエストが送られた際に、そのリクエストに
1808     付属しているどのヘッダフィールドについても、
1809     十分足りる大きさになっていなければなりません。
1810     一般的なリクエストヘッダのサイズといっても、その大きさは個々の
1811     クライアントの実装によって大きく異なり、
1812     詳細なコンテントネゴシエーションをサポートするかどうかの、
1813     ブラウザの設定にも影響されたりします。
1814     SPNEGO 認証ヘッダでは 12392 バイトにまで及ぶことすらあります。</p>
1815
1816     <p>このディレクティブは、
1817     管理者にクライアントからの異常なリクエストを制御できるようにし、
1818     何らかの形のサービス拒否攻撃 (訳注:DoS) を避けるのに有効です。</p>
1819
1820     <p>例:</p>
1821
1822     <example>
1823       LimitRequestFieldSize 4094
1824     </example>
1825
1826     <note>通常はデフォルトから変更する必要はありません。</note>
1827
1828 </usage>
1829 </directivesynopsis>
1830
1831 <directivesynopsis>
1832 <name>LimitRequestLine</name>
1833 <description>クライアントからの HTTP リクエスト行のサイズを制限する</description>
1834 <syntax>LimitRequestLine <var>bytes</var></syntax>
1835 <default>LimitRequestLine 8190</default>
1836 <contextlist><context>server config</context></contextlist>
1837
1838 <usage>
1839     <p>このディレクティブは、HTTP リクエスト行内で許容されるバイト数
1840     <var>bytes</var> を指定します。</p>
1841
1842     <p><directive>LimitRequestLine</directive> ディレクティブにより、
1843     クライアントからの HTTP リクエスト行の許容サイズを増減できます。 
1844     リクエスト行は、HTTPメソッド、URI、プロトコルバージョンから成っており、
1845     <directive>LimitRequestLine</directive> はサーバへのリクエストに対して
1846     許容するリクエスト URI の長さを制限することになります。
1847     サーバは、<code>GET</code> リクエストのクエリ部分も含めて、リソースの名前が入るに足る
1848     大きさを必要とします。</p>
1849
1850     <p>このディレクティブは、
1851     管理者にクライアントからの異常なリクエストを制御できるようにし、
1852     何らかの形のサービス拒否攻撃 (訳注:DoS) を避けるのに有効です。</p>
1853
1854     <p>例:</p>
1855
1856     <example>
1857       LimitRequestLine 4094
1858     </example>
1859
1860     <note>通常はデフォルトから変更する必要はありません。</note>
1861 </usage>
1862 </directivesynopsis>
1863
1864 <directivesynopsis>
1865 <name>LimitXMLRequestBody</name>
1866 <description>XML 形式のリクエストのボディのサイズを制限する</description>
1867 <syntax>LimitXMLRequestBody <var>bytes</var></syntax>
1868 <default>LimitXMLRequestBody 1000000</default>
1869 <contextlist><context>server config</context><context>virtual host</context>
1870 <context>directory</context><context>.htaccess</context></contextlist>
1871 <override>All</override>
1872
1873 <usage>
1874     <p>XML 形式のリクエストのボディの最大値を (バイト単位で) 制限します。
1875     値に <code>0</code> を指定するとチェックを無効にします。</p>
1876
1877     <p>例:</p>
1878
1879     <example>
1880     LimitXMLRequestBody 0
1881     </example>
1882
1883 </usage>
1884 </directivesynopsis>
1885
1886 <directivesynopsis type="section">
1887 <name>Location</name>
1888 <description>囲んだディレクティブをマッチする URL のみに適用</description>
1889 <syntax>&lt;Location
1890     <var>URL-path</var>|<var>URL</var>&gt; ... &lt;/Location&gt;</syntax>
1891 <contextlist><context>server config</context><context>virtual host</context>
1892 </contextlist>
1893
1894 <usage>
1895     <p><directive type="section">Location</directive> ディレクティブは、
1896     URL により中に書かれたディレクティブの適用範囲を制限します。
1897     <directive type="section" module="core">Directory</directive>
1898     ディレクティブと似ていて、
1899     <code>&lt;/Location&gt;</code> ディレクティブで終了する
1900     サブセクションを開始します。
1901     <directive type="section">Location</directive> セクションは、
1902     <directive type="section" module="core">Directory</directive> セクションと
1903     <code>.htaccess</code> の読み込みの後、
1904     <directive type="section" module="core">Files</directive> セクションを
1905     適用した後に、設定ファイルに現れた順に処理されます。</p>
1906
1907     <p><directive type="section">Location</directive> セクションは
1908     完全にファイルシステムと関連せずに動作します。このことから導かれる
1909     結果にはいつくか注意する点があります。最も重要なものは、
1910     ファイルシステムの位置へのアクセス制御に <directive
1911     type="section">Location</directive> ディレクティブを使うべきではない
1912     ということです。複数の URL がファイルシステムの同じ位置にマップされる
1913     可能がありますので、そのようなアクセス制御は回避されてしまう可能性が
1914     あります。</p>
1915
1916     <note><title>いつ <directive 
1917     type="section">Location</directive> を使うか</title>
1918
1919     <p><directive type="section">Location</directive> ディレクティブは
1920     ファイルシステム外のコンテンツにディレクティブを適用するときに
1921     使用してください。ファイルシステムに存在するコンテンツに対しては、
1922     <directive
1923     type="section" module="core">Directory</directive> と <directive
1924     type="section" module="core">Files</directive> を使ってください。
1925     例外は、<code>&lt;Location /&gt;</code> で、これはサーバ全体に対して
1926     設定を適用する簡単な方法です。</p>
1927     </note>
1928
1929     <p>全ての (プロキシ以外の) リクエストに対し、
1930     URL は <code>/path/</code> という、
1931     接頭辞 <code>http://servername</code> を含まない形でマッチします。
1932     プロキシリクエストの場合には、<code>scheme://servername/path</code>
1933     という接頭辞を含む形でマッチし、接頭辞を含めて指定する必要があります。</p>
1934
1935     <p>URL にはワイルドカードを利用することができます。
1936     <code>?</code> は任意の一文字、<code>*</code> は任意の文字列にマッチします。
1937     どちらのワイルドカードも URL パス中の / にはマッチしません。</p>
1938
1939     <p><code>~</code> という文字を追加することで、<glossary ref="regex">正規表現</glossary>を
1940     利用することもできます。
1941     例えば:</p>
1942
1943     <example>
1944       &lt;Location ~ "/(extra|special)/data"&gt;
1945     </example>
1946
1947     <p>は URL に <code>/extra/data</code> か <code>/special/data</code> という文字列が
1948     含まれている場合にマッチします。
1949    <directive type="section" module="core"
1950     >LocationMatch</directive> ディレクティブは
1951     <directive type="section">Location</directive> の正規表現
1952     版とまったく同じ動作をします。</p>
1953
1954     <p><directive type="section">Location</directive> 機能は、<directive
1955     module="core">SetHandler</directive> ディレクティブと
1956     組合わせて利用すると特に便利です。
1957     例えば、<code>example.com</code> のブラウザからのみステータスの参照を有効にしたければ、
1958     次のようにすれば良いでしょう。</p>
1959
1960     <example>
1961       &lt;Location /status&gt;<br />
1962       <indent>
1963         SetHandler server-status<br />
1964         Order Deny,Allow<br />
1965         Deny from all<br />
1966         Allow from .example.com<br />
1967       </indent>
1968       &lt;/Location&gt;
1969     </example>
1970
1971 <note><title>/ (スラッシュ) に関する注</title>
1972     <p>スラッシュ文字は、URL 内に現れる場所に応じて変化する
1973     特別な意味を持っています。
1974     ファイルシステムにおいて利用する場合には複数のスラッシュでも一つの
1975     スラッシュとして扱われることが多いですが、
1976     (<em>すなわち</em>、<code>/home///foo</code> は
1977     <code>/home/foo</code> と同じいったように)
1978     URL においては必ずしもそうなるわけではありません。
1979     <directive type="section" module="core">LocationMatch</directive>
1980     ディレクティブや正規表現を利用した
1981     <directive type="section">Location</directive> ディレクティブで、
1982     複数のスラッシュにマッチさせたいときには、、明示的に記述する
1983     必要があります。</p>
1984
1985     <p>例えば、<code>&lt;LocationMatch ^/abc&gt;</code> は、
1986     <code>/abc</code> というリクエスト URL にマッチしますが、
1987     <code>//abc</code> というリクエスト URL にはマッチしません。
1988     (正規表現でない) <directive type="section">Location</directive>
1989     ディレクティブは、
1990     proxy リクエストに対して利用する際には同様の振る舞いをしますが、
1991     (正規表現でない) <directive type="section">Location</directive> を proxy
1992     でないリクエストに対して利用する際には、
1993     一つのスラッシュで複数のスラッシュにマッチします。
1994     例えば、<code>&lt;Location /abc/def&gt;</code> と指定し、
1995     <code>/abc//def</code> というリクエストがあれば、
1996     マッチすることになります。</p></note>
1997
1998 </usage>
1999 <seealso>リクエストを受けた際にこれらの異なるセクションが
2000     組み合わされる方法については <a href="../sections.html">
2001     &lt;Directory&gt;, &lt;Location&gt;, &lt;Files&gt; セクションの動作法</a></seealso>
2002 </directivesynopsis>
2003
2004 <directivesynopsis type="section">
2005 <name>LocationMatch</name>
2006 <description>囲んだディレクティブを正規表現にマッチする URL のみに
2007 適用</description>
2008 <syntax>&lt;LocationMatch
2009     <var>regex</var>&gt; ... &lt;/LocationMatch&gt;</syntax>
2010 <contextlist><context>server config</context><context>virtual host</context>
2011 </contextlist>
2012
2013 <usage>
2014     <p><directive type="section">LocationMatch</directive> ディレクティブは、
2015     <directive type="section" module="core">Location</directive> と同じ様に
2016     URL により中に書かれたディレクティブの適用範囲を制限します。
2017     但し、引数は普通の文字列ではなく、<glossary ref="regex">正規表現</glossary>となります。
2018     例えば、</p>
2019
2020     <example>
2021       &lt;LocationMatch "/(extra|special)/data"&gt;
2022     </example>
2023
2024     <p>は URL に <code>/extra/data</code> か <code>/special/data</code>
2025     という文字列が含まれている場合にマッチします。</p>
2026 </usage>
2027
2028 <seealso>リクエストを受けた際にこれらの異なるセクションが
2029     組み合わされる方法については <a href="../sections.html">
2030     &lt;Directory&gt;, &lt;Location&gt;, &lt;Files&gt; セクションの動作法</a></seealso>
2031 </directivesynopsis>
2032
2033 <directivesynopsis>
2034 <name>LogLevel</name>
2035 <description>ErrorLog の冗長性を制御する</description>
2036 <syntax>LogLevel <var>level</var></syntax>
2037 <default>LogLevel warn</default>
2038 <contextlist><context>server config</context><context>virtual host</context>
2039 </contextlist>
2040
2041 <usage>
2042     <p><directive>LogLevel</directive> は、エラーログ (<directive module="core"
2043     >ErrorLog</directive> ディレクティブを
2044     見てください) へ記録するメッセージの冗長性を調整します。
2045     以下の <var>level</var> を指定でき、順に重要度が下がっていきます。</p>
2046
2047     <table border="1">
2048       <tr>
2049         <th><strong>レベル</strong> </th>
2050
2051         <th><strong>説明</strong> </th>
2052
2053         <th><strong>例</strong> </th>
2054       </tr>
2055
2056       <tr>
2057         <td><code>emerg</code> </td>
2058
2059         <td>緊急 - システムが利用できない</td>
2060
2061         <td>Child cannot open lock file. Exiting 
2062         (子プロセスがロックファイルを開けないため終了した)</td>
2063       </tr>
2064
2065       <tr>
2066         <td><code>alert</code> </td>
2067
2068         <td>直ちに対処が必要</td>
2069
2070         <td>getpwuid: couldn't determine user name from uid
2071         (getpwuid: UID からユーザ名を特定できなかった)</td>
2072       </tr>
2073
2074       <tr>
2075         <td><code>crit</code> </td>
2076
2077         <td>致命的な状態</td>
2078
2079         <td>socket: Failed to get a socket, exiting child
2080         (socket: ソケットが得られないため、子プロセスを終了させた)</td>
2081       </tr>
2082
2083       <tr>
2084         <td><code>error</code> </td>
2085
2086         <td>エラー</td>
2087
2088         <td>Premature end of script headers
2089         (スクリプトのヘッダが足りないままで終わった)</td>
2090       </tr>
2091
2092       <tr>
2093         <td><code>warn</code> </td>
2094
2095         <td>警告</td>
2096
2097         <td>child process 1234 did not exit, sending another SIGHUP
2098         (子プロセス 1234 が終了しなかった。もう一度 SIGHUP を送る)</td>
2099       </tr>
2100
2101       <tr>
2102         <td><code>notice</code> </td>
2103
2104         <td>普通だが、重要な情報</td>
2105
2106         <td>httpd: caught SIGBUS, attempting to dump core in ...
2107         (httpd: SIGBUS シグナルを受け、... へコアダンプをした)</td>
2108       </tr>
2109
2110       <tr>
2111         <td><code>info</code> </td>
2112
2113         <td>追加情報</td>
2114
2115         <td>"Server seems busy, (you may need to increase
2116         StartServers, or Min/MaxSpareServers)..." (「サーバは負荷が高い、
2117         (StartServers や Min/MaxSpareServers の値を増やす必要があるかも)」)</td>
2118       </tr>
2119
2120       <tr>
2121         <td><code>debug</code> </td>
2122
2123         <td>デバッグメッセージ</td>
2124
2125         <td>"Opening config file ..." (設定ファイルを開いている...)</td>
2126       </tr>
2127     </table>
2128
2129     <p>特定のレベルが指定された場合、それより高いレベルの全てのメッセージが
2130     報告されます。
2131     <em>例えば</em>、<code>LogLevel info</code> に指定すると、
2132     <code>notice</code> と <code>warn</code> も報告されます。</p>
2133
2134     <p>なお <code>crit</code> 以上のレベルを指定することが推奨されます。</p>
2135
2136     <p>例:</p>
2137
2138     <example>
2139       LogLevel notice
2140     </example>
2141
2142     <note><title>注</title>
2143       <p>ファイルにログを出力する場合、<code>notice</code>
2144       レベルのメッセージは抑制されず、すべてログに出力されます。
2145       しかし <code>syslog</code> を使用している場合は、
2146       これは当てはまりません。</p>
2147     </note>
2148 </usage>
2149 </directivesynopsis>
2150
2151 <directivesynopsis>
2152 <name>MaxKeepAliveRequests</name>
2153 <description>持続的な接続上で許可されるリクエストの数</description>
2154 <syntax>MaxKeepAliveRequests <var>number</var></syntax>
2155 <default>MaxKeepAliveRequests 100</default>
2156 <contextlist><context>server config</context><context>virtual host</context>
2157 </contextlist>
2158
2159 <usage>
2160     <p><directive>MaxKeepAliveRequests</directive> ディレクティブは、
2161     <directive module="core">KeepAlive</directive> が有効な場合に、
2162     一回の接続で受け付け可能なリクエストの数を制限します。
2163     <code>0</code> に設定していれば、受け付けるリクエストは無制限になります。
2164     この設定は、サーバ性能を向上させるために、大きな数値を指定すること勧めます。
2165     </p>
2166
2167     <p>例:</p>
2168
2169     <example>
2170       MaxKeepAliveRequests 500
2171     </example>
2172 </usage>
2173 </directivesynopsis>
2174
2175 <directivesynopsis>
2176 <name>NameVirtualHost</name>
2177 <description>名前ベースのバーチャルホストのための IP アドレスを指定</description>
2178 <syntax>NameVirtualHost <var>addr</var>[:<var>port</var>]</syntax>
2179 <contextlist><context>server config</context></contextlist>
2180
2181 <usage>
2182     <p><directive>NameVirtualHost</directive> ディレクティブは、
2183     <a href="../vhosts/">名前ベースのバーチャルホスト</a>の設定を行ないたい場合に
2184     必要となるものです。</p>
2185
2186     <p><var>addr</var> にはホスト名を指定できますが、
2187     常に IP アドレスを指定するのが推奨されます。
2188     例えば、</p>
2189
2190     <example>
2191       NameVirtualHost 111.22.33.44
2192     </example>
2193
2194     <p><directive>NameVirtualHost</directive> ディレクティブは、
2195     名前ベースのバーチャルホストを
2196     利用してリクエストを受け付ける IP アドレスを指定します。
2197     これは、普通は名前ベースのバーチャルホストアドレスです。
2198     ただし、ファイアーウォールや他のプロキシがリクエストを受け付け、
2199     違う IP アドレスのサーバにフォワードするという場合は、
2200     リクエストを提供したいマシン上の物理インターフェースの
2201     IP アドレスを指定する必要があります。
2202     複数のアドレスで複数の名前ベースのバーチャルホストを指定する場合は
2203     各アドレスに対してディレクティブを書いてください。</p>
2204
2205     <note><title>中</title>
2206       <p>「主サーバ」や、どの <code>_default_</code> サーバも、
2207       <directive>NameVirtualHost</directive> で指定した IP アドレスへのリクエスト
2208       を処理することは<strong>ありません</strong> (なぜか
2209       <directive>NameVirtualHost</directive> を
2210       指定したけどそのアドレスに <directive>VirtualHost</directive> を定義しなかった場合を除く)。</p>
2211     </note>
2212
2213     <p>名前ベースのバーチャルホストにポート番号を指定することも可能です。
2214     例えば</p>
2215
2216     <example>
2217       NameVirtualHost 111.22.33.44:8080
2218     </example>
2219
2220     <p>IPV6 のアドレスは次の例のように角括弧で囲む必要があります:</p>
2221  
2222     <example>
2223       NameVirtualHost [2001:db8::a00:20ff:fea7:ccea]:8080
2224     </example>
2225
2226     <p>すべてのインタフェースへのリクエストを受け取るようにするためには、
2227     引数として <code>*</code> を使います。</p>
2228
2229     <example>
2230       NameVirtualHost *
2231     </example>
2232
2233     <note><title><directive type="section">VirtualHost</directive> ディレクティブの引数</title>
2234       <p><directive type="section">VirtualHost</directive> ディレクティブの引数は <directive
2235       >NameVirtualHost</directive> ディレクティブの引数に正確に
2236       合っている必要があることに注意してください。</p>
2237
2238       <example>
2239         NameVirtualHost 1.2.3.4<br />
2240         &lt;VirtualHost 1.2.3.4&gt;<br />
2241         # ...<br />
2242         &lt;/VirtualHost&gt;<br />
2243       </example>
2244     </note>
2245
2246 </usage>
2247
2248 <seealso><a href="../vhosts/">バーチャルホスト説明書
2249 </a></seealso>
2250
2251 </directivesynopsis>
2252
2253 <directivesynopsis>
2254 <name>Options</name>
2255 <description>ディレクトリに対して使用可能な機能を設定する</description>
2256 <syntax>Options
2257     [+|-]<var>option</var> [[+|-]<var>option</var>] ...</syntax>
2258 <default>Options All</default>
2259 <contextlist><context>server config</context><context>virtual host</context>
2260 <context>directory</context><context>.htaccess</context>
2261 </contextlist>
2262 <override>Options</override>
2263
2264 <usage>
2265     <p><directive>Options</directive> ディレクティブは、特定のディレクトリに対して
2266     どの機能が使用可能かを制御します。</p>
2267
2268     <p><var>option</var> を <code>None</code>に指定すると、
2269     特別な機能は全て無効になります。
2270     また、以下の示す 1 個以上のものを指定できます。</p>
2271
2272     <dl>
2273       <dt><code>All</code></dt>
2274
2275       <dd><code>MultiViews</code> を除いた全ての機能が有効となります。
2276       これがデフォルトです。</dd>
2277
2278       <dt><code>ExecCGI</code></dt>
2279
2280       <dd>
2281       <module>mod_cgi</module> による CGI スクリプトの実行を許可します。</dd>
2282
2283       <dt><code>FollowSymLinks</code></dt>
2284
2285       <dd>
2286       サーバが、このディレクトリ内でシンボリックリンクをたどれるようにします。
2287       <note><p>サーバがシンボリックリンクをたどる場合でも、
2288       <directive type="section" module="core">Directory</directive> セクションに
2289       マッチさせるための
2290       パス名は<em>変更されません</em>。</p>
2291       <p><directive type="section" module="core">Location</directive> 内に
2292       このオプションを指定しても<strong>無視される</strong>ことに
2293       注意してください。</p>
2294       <p>このオプションを省略したからといってセキュリティの強化にはなりません。
2295       なぜなら symlink の検査はレースコンディションを引き起こす可能性があり、
2296       そのため回避可能になるからです。</p>
2297       </note></dd>
2298
2299       <dt><code>Includes</code></dt>
2300
2301       <dd>
2302       <module>mod_include</module> が提供する SSI を有効にします。</dd>
2303
2304       <dt><code>IncludesNOEXEC</code></dt>
2305
2306       <dd>
2307       SSI は有効になりますが、<code>#exec</code> コマンド と <code>#exec CGI</code> は無効になります。
2308       ただし、<code>#include virtual</code> により、<directive module="mod_alias">ScriptAlias</directive> されたディレクトリで
2309       CGI を実行することは可能です。</dd>
2310
2311       <dt><code>Indexes</code></dt>
2312
2313       <dd>
2314       もし、URL がディレクトリにマップするリクエストであって、
2315       且つ <directive module="mod_dir">DirectoryIndex</directive> で指定したファイル (例えば、<code>index.html</code>) が
2316       ディレクトリ内に無ければ、<module>mod_autoindex</module> が
2317       ディレクトリ内の一覧を整形して返します。</dd>
2318
2319       <dt><code>MultiViews</code></dt>
2320
2321       <dd>
2322       <module>mod_negotiation</module> による
2323       <a href="../content-negotiation.html">コンテントネゴシエーション</a> 
2324       された "MultiViews" を許可します。</dd>
2325
2326       <dt><code>SymLinksIfOwnerMatch</code></dt>
2327
2328       <dd>
2329       シンボリック先のファイルまたはディレクトリが、
2330       シンボリックリンクの所有ユーザ ID と同じ場合にのみシンボリックリンクを
2331       たどれるようにします。
2332
2333       <note><title>注</title> <p><directive type="section" module="core"
2334       >Location</directive> 内にこのオプションを
2335       指定しても無視されます。</p>
2336       <p>このオプションはセキュリティの強化にはなりません。
2337       なぜなら symlink の検査はレースコンディションを引き起こす可能性があり、
2338       そのため回避可能になるからです。</p>
2339       </note>
2340       </dd>
2341     </dl>
2342
2343     <p>通常、ディレクトリに対して複数の <directive>Options</directive> が
2344     適用可能な場合、
2345     最も近いもの一つのみが適用され、他のものは無視されます。
2346     複数の指定がマージされるわけではありません。(<a
2347     href="../sections.html#mergin">セクションのマージ方法</a>を参照してください。)
2348     しかし、すべての <directive>Options</directive> ディレクティブが <code>+</code> や <code>-</code> 付きで
2349     指定された場合はオプションの値はマージされます。
2350     <code>+</code> を頭につければ現在の設定に加えられ、
2351     <code>-</code> を付ければ現在の設定から削除されます。</p>
2352
2353     <note type="warning"><title>警告</title>
2354     <p><directive>Options</directive> で <code>+</code> や
2355     <code>-</code> のついたものを、つけないものと組み合わせて
2356     指定する構文は正しい構文ではありませんので、期待する結果に
2357     ならないことがあります。</p>
2358     </note>
2359
2360     <p>例えば、<code>+</code> や <code>-</code> を利用しない場合は:</p>
2361
2362     <example>
2363       &lt;Directory /web/docs&gt;<br />
2364       <indent>
2365         Options Indexes FollowSymLinks<br />
2366       </indent>
2367       &lt;/Directory&gt;<br />
2368       <br />
2369       &lt;Directory /web/docs/spec&gt;<br />
2370       <indent>
2371         Options Includes<br />
2372       </indent>
2373       &lt;/Directory&gt;
2374     </example>
2375
2376     <p><code>/web/docs/spec</code> というディレクトリには、
2377     <code>Includes</code> だけが適用されます。
2378     しかし、2 番目の <directive>Options</directive> で <code>+</code> や <code>-</code> を利用してみると:</p>
2379  
2380     <example>
2381       &lt;Directory /web/docs&gt;<br />
2382       <indent>
2383         Options Indexes FollowSymLinks<br />
2384       </indent>
2385       &lt;/Directory&gt;<br />
2386       <br />
2387       &lt;Directory /web/docs/spec&gt;<br />
2388       <indent>
2389         Options +Includes -Indexes<br />
2390       </indent>
2391       &lt;/Directory&gt;
2392     </example>
2393
2394     <p><code>/web/docs/spec</code> というディレクトリには、 <code>FollowSymLinks</code> と
2395     <code>Includes</code> が適用されます。</p>
2396
2397     <note><title>注</title>
2398       <p><code>-IncludesNOEXEC</code> もしくは
2399       <code>-Includes</code> を指定すると、
2400       前の設定がどのようになっていようとも SSI は無効となります。</p>
2401     </note>
2402
2403     <p>どのような設定もされていなければ、デフォルトでは <code>All</code> に
2404     なります。</p>
2405 </usage>
2406 </directivesynopsis>
2407
2408 <directivesynopsis>
2409 <name>RLimitCPU</name>
2410 <description>Apache の子プロセスから起動されたプロセスの CPU 消費量を
2411 制限する</description>
2412 <syntax>RLimitCPU <var>seconds</var>|max [<var>seconds</var>|max]</syntax>
2413 <default>未設定。オペレーティングシステムのデフォルトを使用</default>
2414 <contextlist><context>server config</context><context>virtual host</context>
2415 <context>directory</context><context>.htaccess</context></contextlist>
2416 <override>All</override>
2417
2418 <usage>
2419     <p>一つか二つのパラメータをとります。
2420     最初のパラメータは全プロセスに対するリソースのソフトリミットを設定し、
2421     2 番目のパラメータは最大のリソースリミットを設定します。
2422     パラメータには数字か、オペレーティングシステムの最大となる
2423     <code>max</code> のどちらかを指定することができます。
2424     最大のリソースリミットを上げるためには、サーバを
2425     <code>root</code> で実行するか起動されなければいけません。</p>
2426
2427     <p>ちなみに、この設定は Apache の子プロセス自体ではなく、
2428     リクエストを受け付けた Apache の子プロセスから fork されたプロセスに
2429     適用されます。
2430     これには CGI や SSI から実行されたコマンドが含まれますが、Apache の
2431     親プロセスから fork されたログのパイププロセスなどには適用されません。</p>
2432
2433     <p>CPU リソースのリミットはプロセスあたりの秒数で表わされます。</p>
2434
2435 </usage>
2436 <seealso><directive module="core">RLimitMEM</directive></seealso>
2437 <seealso><directive module="core">RLimitNPROC</directive></seealso>
2438 </directivesynopsis>
2439
2440 <directivesynopsis>
2441 <name>RLimitMEM</name>
2442 <description>Apache の子プロセスから起動されたプロセスのメモリ消費量を
2443 制限する</description>
2444 <syntax>RLimitMEM <var>bytes</var>|max [<var>bytes</var>|max]</syntax>
2445 <default>未設定。オペレーティングシステムのデフォルトを使用</default>
2446 <contextlist><context>server config</context><context>virtual host</context>
2447 <context>directory</context><context>.htaccess</context></contextlist>
2448 <override>All</override>
2449
2450 <usage>
2451     <p>一つか二つのパラメータをとります。
2452     最初のパラメータは全プロセスに対するリソースのソフトリミットを設定し、
2453     2 番目のパラメータは最大のリソースリミットを設定します。
2454     パラメータには数字か、オペレーティングシステムの最大となる
2455     <code>max</code> のどちらかを指定することができます。
2456     最大のリソースリミットを上げるためには、サーバを
2457     <code>root</code> で実行するか起動されなければいけません。</p>
2458
2459     <p>この設定は Apache の子プロセス自体ではなく、
2460     リクエストを受け付けた Apache の子プロセスから fork されたプロセスに
2461     適用されます。
2462     これには CGI や SSI から実行されたコマンドが含まれますが、Apache の
2463     親プロセスから fork されたログのパイププロセスなどには適用されません。</p>
2464
2465     <p>メモリリソースのリミットはプロセスあたりのバイト数で表わされます。</p>
2466 </usage>
2467 <seealso><directive module="core">RLimitCPU</directive></seealso>
2468 <seealso><directive module="core">RLimitNPROC</directive></seealso>
2469 </directivesynopsis>
2470
2471 <directivesynopsis>
2472 <name>RLimitNPROC</name>
2473 <description>Apache の子プロセスから起動されたプロセスが起動するプロセスの
2474 数を制限する</description>
2475 <syntax>RLimitNPROC <var>number</var>|max [<var>number</var>|max]</syntax>
2476 <default>未設定。オペレーティングシステムのデフォルトを使用</default>
2477 <contextlist><context>server config</context><context>virtual host</context>
2478 <context>directory</context><context>.htaccess</context></contextlist>
2479 <override>All</override>
2480
2481 <usage>
2482     <p>一つか二つのパラメータをとります。
2483     最初のパラメータは全プロセスに対するリソースのソフトリミットを設定し、
2484     2 番目のパラメータは最大のリソースリミットを設定します。
2485     パラメータには数字か、オペレーティングシステムの最大となる
2486     <code>max</code> のどちらかを指定することができます。
2487     最大のリソースリミットを上げるためには、サーバを
2488     <code>root</code> で実行するか起動されなければいけません。</p>
2489
2490     <p>この設定は Apache の子プロセス自体ではなく、
2491     リクエストを受け付けた Apache の子プロセスから fork されたプロセスに
2492     適用されます。
2493     これには CGI や SSI から実行されたコマンドが含まれますが、Apache の
2494     親プロセスから fork されたログのパイププロセスなどには適用されません。</p>
2495
2496     <p>プロセスの制限は、ユーザあたりのプロセス数で制御されます。</p>
2497
2498     <note><title>注</title>
2499       <p> CGI プロセスがウェブサーバのユーザ ID 以外で実行されるので
2500       <strong>無ければ</strong>、
2501       このディレクティブは、サーバ自身が生成できるプロセスの数を制限することになります。
2502       そのような状況になっているかどうかは、<code>error_log</code> 中の
2503       <strong><code>cannot fork</code></strong> というメッセージにより
2504       確認することができます。</p>
2505     </note>
2506 </usage>
2507 <seealso><directive module="core">RLimitMEM</directive></seealso>
2508 <seealso><directive module="core">RLimitCPU</directive></seealso>
2509 </directivesynopsis>
2510
2511 <directivesynopsis>
2512 <name>ScriptInterpreterSource</name>
2513 <description>CGI スクリプトのインタープリタの位置を調べるための手法</description>
2514 <syntax>ScriptInterpreterSource Registry|Registry-Strict|Script</syntax>
2515 <default>ScriptInterpreterSource Script</default>
2516 <contextlist><context>server config</context><context>virtual host</context>
2517 <context>directory</context><context>.htaccess</context></contextlist>
2518 <override>FileInfo</override>
2519 <compatibility>Win32 のみ。
2520 オプション <code>Registry-Strict</code> は Apache 2.0 以降で使用可能</compatibility>
2521
2522 <usage>
2523     <p>このディレクティブは、Apache で CGI スクリプトを
2524     実行する場合に利用するインタープリタを、
2525     どのように探し出すかについて制御するために使用します。
2526     デフォルトの設定は <code>Script</code> です。これはスクリプトの
2527     shebang 行 (最初の行で <code>#!</code> から始まるもの)
2528     に指されているインタープリタを使用します。Win32 ではその行は
2529     以下の様になります。</p>
2530
2531     <example>
2532       #!C:/Perl/bin/perl.exe
2533     </example>
2534
2535     <p>もしくは、<code>perl</code> が <code>PATH</code> にある場合は単に:</p>
2536
2537     <example>
2538       #!perl
2539     </example>
2540
2541     <p><code>ScriptInterpreterSource Registry</code> を指定すると、
2542     スクリプトファイルの拡張子 (例えば、<code>.pl</code>) を
2543     キーとして、Windows のレジストリツリー <code>HKEY_CLASSES_ROOT</code>
2544     を検索するようになります。レジストリのサブキー
2545     <code>Shell\ExecCGI\Command</code> か、それが存在しない場合は
2546     <code>Shell\Open\Command</code> がスクリプトファイルを開くために
2547     使われます。レジストリキーが見つからないときは、Apache は <code>Script</code>
2548     オプションが指定されたときの動作に戻ります。</p>
2549
2550     <note type="warning"><title>セキュリティ</title> 
2551     <p><code>ScriptInterpreterSource Registry</code> を <directive
2552     module="mod_alias">ScriptAlias</directive> されたディレクトリで使うときは
2553     注意してください。Apache はそのディレクトリ中の<em>すべての</em>ファイルを
2554     実行しようとします。<code>Registry</code> という設定は通常は実行されない
2555     ファイルに対して望ましくないプログラムの実行が発生する可能性があります。
2556     例えば、ほとんどの Windows システムで、
2557     <code>.htm</code> ファイルのデフォルトの「開く」コマンドは
2558     Microsoft Internet Explorer を実行しますので、スクリプトに指定された
2559     ディレクトリにある <code>.htm</code> ファイルへのリクエストはサーバの
2560     バックグラウンドでブラウザを実行することになります。これは、一分内くらいで
2561     システムをクラッシュさるための良い方法です。</p>
2562     </note>
2563
2564     <p>Apache 2.0 から導入されたオプション <code>Registry-Strict</code> は
2565     <code>Registry</code> と同じことを行ないますが、サブキー
2566     <code>Shell\ExecCGI\Command</code> のみを使います。
2567     <code>ExecCGI</code> キーは普通に使われるキーではありません。Windows 
2568     レジストリに手動で設定する必要がありますので、システムでの偶発的なプログラムの
2569     実行を防ぐことができます。</p>
2570 </usage>
2571 </directivesynopsis>
2572
2573 <directivesynopsis>
2574 <name>ServerAdmin</name>
2575 <description>サーバがクライアントに送るエラーメッセージに含める電子メールの
2576 アドレス</description>
2577 <syntax>ServerAdmin <var>email-address</var>|<var>URL</var></syntax>
2578 <contextlist><context>server config</context><context>virtual host</context>
2579 </contextlist>
2580
2581 <usage>
2582     <p><directive>ServerAdmin</directive> は、クライアントに返すさまざまな
2583     エラーメッセージ中に記述する、
2584     問合せアドレスを設定します。与えられた引数を <code>httpd</code> が
2585     URL と認識しない場合は、<var>email-address</var> だと解釈して、
2586     ハイパーリンクのターゲットに <code>mailto:</code> を付けます。
2587     実際には、ここには電子メールアドレスを使うことが推奨されています。
2588     多くの CGI スクリプトはそうなっていることを仮定しています。
2589     URL を使う場合は、あなたの管理下にある別サーバを指すようにしてください。
2590     そうでないと、エラーが起こったときに連絡をすることができなくなって
2591     しまいます。
2592 </p>
2593
2594     <p>その際、これのために専用のアドレスを設定するのが良いでしょう。
2595     例えば、</p>
2596
2597     <example>
2598       ServerAdmin www-admin@foo.example.com
2599     </example>
2600
2601     <p>といったようにします。ユーザはいつもサーバに関する話であるということを
2602     明記してくるわけではありませんので。</p>
2603
2604 </usage>
2605 </directivesynopsis>
2606
2607 <directivesynopsis>
2608 <name>ServerAlias</name>
2609 <description>リクエストを名前ベースのバーチャルホストにマッチさせているときに
2610 使用されるホストの別名</description>
2611 <syntax>ServerAlias <var>hostname</var> [<var>hostname</var>] ...</syntax>
2612 <contextlist><context>virtual host</context></contextlist>
2613
2614 <usage>
2615     <p><directive>ServerAlias</directive> ディレクティブは、<a
2616     href="../vhosts/name-based.html">ネームベースのバーチャルホスト</a>において
2617     使用するホストの別名を指定します。
2618     適切であれば、<directive>ServerAlias</directive> ディレクティブでは
2619     ワイルドカードを使うこともできます。</p>
2620
2621     <example>
2622       &lt;VirtualHost *&gt;<br />
2623       ServerName server.domain.com<br />
2624       ServerAlias server server2.domain.com server2<br />
2625       # ...<br />
2626       &lt;/VirtualHost&gt;
2627     </example>
2628 </usage>
2629 <seealso><a href="../vhosts/">Apache バーチャルホスト説明書</a></seealso>
2630 </directivesynopsis>
2631
2632 <directivesynopsis>
2633 <name>ServerName</name>
2634 <description>サーバが自分自身を示すときに使うホスト名とポート</description>
2635 <syntax>ServerName [<var>scheme</var>://]<var>fully-qualified-domain-name</var>[:<var>port</var>]</syntax>
2636 <contextlist><context>server config</context><context>virtual host</context>
2637 </contextlist>
2638 <compatibility>このディレクティブはバージョン 2.0 ではバージョン 1.3 の
2639     <directive>Port</directive> ディレクティブの機能も含みます。</compatibility>
2640
2641 <usage>
2642     <p><directive>ServerName</directive> ディレクティブは、
2643     サーバが自分自身を示すスキーム名、ホスト名とポート番号を設定します。
2644     これは、リダイレクトする URL を生成する際に利用されます。
2645     例えば、ウェブサーバを動かしているマシンは <code>simple.example.com</code>
2646     で、DNS のエイリアス <code>www.example.com</code> もあるときに、
2647     ウェブサーバが後者として認識されて欲しいときは、以下のようにディレクティブを
2648     使います。</p>
2649
2650     <example>
2651       ServerName www.example.com:80
2652     </example>
2653
2654     <p><directive>ServerName</directive> が指定されていないときは、
2655     サーバは IP アドレスから逆引きを行なうことでホスト名を知ろうとします。
2656     <directive>ServerName</directive> にポートが指定されていないときは、
2657     サーバはリクエストが来ている
2658     ポートを使います。最高の信頼性と確実性をもたらすためには、
2659     <directive>ServerName</directive> を使ってホスト名とポートを明示的に
2660     指定してください。</p>
2661
2662     <p><a href="../vhosts/name-based.html">名前ベースのバーチャルホスト</a>
2663     を利用している場合、<directive type="section" module="core"
2664     >VirtualHost</directive> セクション内の
2665     <directive>ServerName</directive> はこのバーチャルホストにマッチするために
2666     何がリクエストの Host: ヘッダに現れる必要があるのかを指定します。</p>
2667
2668     <p>SSL を処理するデバイス、例えばリーバスプロクシやロードバランサや
2669     SSL 処理軽減アプライアンスの裏側でサーバが稼動する場合もあるでしょう。
2670     そういった場合では、クライアントが接続するときに使う
2671     <code>https://</code> スキームとポート番号を <directive>ServerName</directive>
2672     ディレクティブで指定して、自己参照 URL が正しく生成できるようにします。</p>
2673
2674     <p>自己参照 URL (例えば <module>mod_dir</module> モジュールによるものなど)
2675     が指定されたポートを使うか、クライアントのリクエストのポート番号を使うかを
2676     決定する設定は <directive module="core">UseCanonicalName</directive> 
2677     ディレクティブと <directive 
2678     module="core">UseCanonicalPhysicalPort</directive>
2679     ディレクティブを参照してください。</p>
2680
2681 </usage>
2682
2683 <seealso><a href="../dns-caveats.html">DNS と Apache に関する話</a></seealso>
2684 <seealso><a href="../vhosts/">Apache バーチャルホスト説明書</a></seealso>
2685 <seealso><directive module="core">UseCanonicalName</directive></seealso>
2686 <seealso><directive module="core">UseCanonicalPhysicalPort</directive></seealso>
2687 <seealso><directive module="core">NameVirtualHost</directive></seealso>
2688 <seealso><directive module="core">ServerAlias</directive></seealso>
2689 </directivesynopsis>
2690
2691 <directivesynopsis>
2692 <name>ServerPath</name>
2693 <description>非互換のブラウザが名前ベースのバーチャルホストにアクセスしたときの
2694 ための互換用 URL パス名</description>
2695 <syntax>ServerPath <var>URL-path</var></syntax>
2696 <contextlist><context>virtual host</context></contextlist>
2697
2698 <usage>
2699     <p><directive>ServerPath</directive> ディレクティブは、<a
2700     href="../vhosts/">ネームベースのバーチャルホスト</a>において利用する
2701     互換用 URL パス名を設定します。</p>
2702 </usage>
2703 <seealso><a href="../vhosts/">Apache バーチャルホスト説明書</a></seealso>
2704 </directivesynopsis>
2705
2706 <directivesynopsis>
2707 <name>ServerRoot</name>
2708 <description>インストールされたサーバのベースディレクトリ</description>
2709 <syntax>ServerRoot <var>directory-path</var></syntax>
2710 <default>ServerRoot /usr/local/apache</default>
2711 <contextlist><context>server config</context></contextlist>
2712
2713 <usage>
2714     <p><directive>ServerRoot</directive> ディレクティブは、
2715     サーバが存在するディレクトリを設定します。
2716     通常、<code>conf/</code> や <code>logs/</code> といったサブディレクトリが
2717     存在します。
2718     また、他の設定ディレクティブ (例えば <directive
2719     module="core">Include</directive> や <directive
2720     module="mod_so">LoadModule</directive> など) における相対パスは、
2721     このディレクトリからの相対位置となります。</p>
2722
2723     <example><title>例</title>
2724       ServerRoot /home/httpd
2725     </example>
2726
2727
2728 </usage>
2729 <seealso><a href="../invoking.html"><code>httpd</code> の <code>-d</code>
2730     オプション</a></seealso>
2731 <seealso><directive>ServerRoot</directive> の権限を適切に設定する方法は<a
2732      href="../misc/security_tips.html#serverroot">セキュリティのこつ</a></seealso>
2733 </directivesynopsis>
2734
2735 <directivesynopsis>
2736 <name>ServerSignature</name>
2737 <description>サーバが生成するドキュメントのフッタを設定</description>
2738 <syntax>ServerSignature On|Off|EMail</syntax>
2739 <default>ServerSignature Off</default>
2740 <contextlist><context>server config</context><context>virtual host</context>
2741 <context>directory</context><context>.htaccess</context>
2742 </contextlist>
2743 <override>All</override>
2744
2745 <usage>
2746     <p><directive>ServerSignature</directive> ディレクティブは、
2747     サーバが生成するドキュメント
2748     (エラーメッセージ、<module>mod_proxy</module> における FTP のディレクトリリスト、
2749     <module>mod_info</module> の出力、等々)
2750     の最下行に付与するフッタの設定を行ないます。
2751     そのようなフッタ行を有効にしたい理由には、
2752     プロキシが複数連なっている場合に、ユーザはどのサーバが返した
2753     エラーメッセージかを知る手段がほとんど無いというものがあります。</p>
2754
2755
2756     <p>デフォルトである <code>Off</code> に設定をすると、フッタ行が抑制されます
2757     (そして、Apache-1.2 以前と互換の動作をします)。
2758     <code>On</code> に設定した場合は、単にドキュメントの中に、サーバのバージョン、
2759     稼動中のバーチャルホストの <a
2760     href="#servername">ServerName</a> の書かれた行を追加し、
2761     <code>EMail</code> にした場合はさらに参照されたドキュメントに対する <a
2762     href="#serveradmin">ServerAdmin</a> を指す "mailto:" が追加されます。</p>
2763
2764     <p>バージョン 2.0.44 以降ではこのディレクティブは <directive
2765     module="core">ServerSignature</directive>
2766     ディレクティブにより表示される情報も制御します。</p>
2767 </usage>
2768 <seealso><directive module="core">ServerTokens</directive></seealso>
2769 </directivesynopsis>
2770
2771 <directivesynopsis>
2772 <name>ServerTokens</name>
2773 <description><code>Server</code> HTTP 応答ヘッダを設定する</description>
2774 <syntax>ServerTokens Major|Minor|Min[imal]|Prod[uctOnly]|OS|Full</syntax>
2775 <default>ServerTokens Full</default>
2776 <contextlist><context>server config</context></contextlist>
2777
2778 <usage>
2779     <p>このディレクティブは、クライアントに送り返す <code>Server</code>
2780     応答ヘッダ内に、サーバの一般的な OS 種別や、
2781     コンパイルされて組み込まれているモジュールの情報を
2782     含めるかどうかを指定します。</p>
2783
2784     <dl>
2785       <dt><code>ServerTokens Prod[uctOnly]</code></dt>
2786
2787       <dd>サーバは (例えば): <code>Server:
2788       Apache</code> といったように送ります。</dd>
2789
2790       <dt><code>ServerTokens Major</code></dt>
2791
2792       <dd>Server sends (<em>e.g.</em>): <code>Server:
2793       Apache/2</code></dd>
2794
2795       <dt><code>ServerTokens Minor</code></dt>
2796
2797       <dd>Server sends (<em>e.g.</em>): <code>Server:
2798       Apache/2.0</code></dd>
2799
2800       <dt><code>ServerTokens Min[imal]</code></dt>
2801
2802       <dd>サーバは (例えば): <code>Server:
2803       Apache/2.0.41</code> といったように送ります。</dd>
2804
2805       <dt><code>ServerTokens OS</code></dt>
2806
2807       <dd>サーバは (例えば): <code>Server: Apache/2.0.41
2808       (Unix)</code> といったように送ります。</dd>
2809
2810       <dt><code>ServerTokens Full</code> (もしくは未指定)</dt>
2811
2812       <dd>サーバは (例えば): <code>Server: Apache/2.0.41
2813       (Unix) PHP/4.2.2 MyMod/1.2</code> といったように送ります。</dd>
2814     </dl>
2815
2816     <p>この設定はサーバ全体に適用され、バーチャルホスト上で有効にしたり
2817     無効にしたりはできません。</p>
2818
2819     <p>バージョン 2.0.44 以降ではこのディレクティブは <directive
2820     module="core">ServerSignature</directive>
2821     ディレクティブにより表示される情報も制御します。</p>
2822 </usage>
2823 <seealso><directive module="core">ServerSignature</directive></seealso>
2824 </directivesynopsis>
2825
2826 <directivesynopsis>
2827 <name>SetHandler</name>
2828 <description>マッチするファイルがハンドラで処理されるようにする</description>
2829 <syntax>SetHandler <var>handler-name</var>|None</syntax>
2830 <contextlist><context>server config</context><context>virtual host</context>
2831 <context>directory</context><context>.htaccess</context>
2832 </contextlist>
2833 <override>FileInfo</override>
2834 <compatibility>Apache 2.0 で core に移動</compatibility>
2835
2836 <usage>
2837     <p><code>.htaccess</code> や <directive type="section" module="core"
2838     >Directory</directive>
2839     セクション、<directive type="section" module="core">Location</directive>
2840     セクションに書かれた場合、
2841     このディレクティブはそこにあるすべてのファイルが
2842     <var>handler-name</var> で指定された<a href="../handler.html"
2843     >ハンドラ</a>で扱われることを強制します。例えば、拡張子に関わらず、
2844     ディレクトリ全体がイメージマップファイルとして解析して欲しい場合には、
2845     以下をそのディレクトリの <code>.htaccess</code>
2846     ファイルに記述します:</p>
2847
2848     <example>
2849       SetHandler imap-file
2850     </example>
2851
2852     <p>別の例: URL <code>http://servername/status</code>
2853     が指定されたときにサーバが状態報告をするようにしたいときは、以下を
2854     <code>httpd.conf</code> に記述します:</p>
2855
2856     <example>
2857       &lt;Location /status&gt;<br />
2858       <indent>
2859         SetHandler server-status<br />
2860       </indent>
2861       &lt;/Location&gt;
2862     </example>
2863
2864     <p><code>None</code> という値を設定することで、
2865     前の方の <directive>SetHandler</directive> で定義された設定を無効にすることが
2866     できます。</p>
2867     <p><strong>注意:</strong>SetHandler はデフォルトのハンドラをオーバーライド
2868     しますので、通常の挙動、たとえば、スラッシュ (/) で終わる URL が
2869     リクエストされたときにディレクトリやインデックスファイルを返すよう取り扱う挙動は、
2870     行われなくなります。
2871     </p>
2872
2873 </usage>
2874
2875 <seealso><directive module="mod_mime">AddHandler</directive></seealso>
2876
2877 </directivesynopsis>
2878
2879 <directivesynopsis>
2880 <name>SetInputFilter</name>
2881 <description>クライアントのリクエストや POST の入力を処理するフィルタを設定する</description>
2882 <syntax>SetInputFilter <var>filter</var>[;<var>filter</var>...]</syntax>
2883 <contextlist><context>server config</context><context>virtual host</context>
2884 <context>directory</context><context>.htaccess</context>
2885 </contextlist>
2886 <override>FileInfo</override>
2887
2888 <usage>
2889     <p><directive>SetInputFilter</directive> ディレクティブはクライアントの
2890     リクエストや POST の入力をサーバが受け取ったときに処理するフィルタを
2891     設定します。これは <directive module="mod_mime">AddInputFilter</directive>
2892     ディレクティブを含め、他の場所で定義されているフィルタの設定に
2893     追加されます。</p>
2894
2895     <p>複数のフィルタを指定するときは、データを処理する順番に
2896     セミコロンで区切る必要があります。</p>
2897
2898 </usage>
2899 <seealso><a href="../filter.html">フィルタ</a>説明書</seealso>
2900 </directivesynopsis>
2901
2902 <directivesynopsis>
2903 <name>SetOutputFilter</name>
2904 <description>サーバの応答を処理するフィルタを設定する</description>
2905 <syntax>SetOutputFilter <var>filter</var>[;<var>filter</var>...]</syntax>
2906 <contextlist><context>server config</context><context>virtual host</context>
2907 <context>directory</context><context>.htaccess</context>
2908 </contextlist>
2909 <override>FileInfo</override>
2910
2911 <usage>
2912     <p><directive>SetOutputFilter</directive> ディレクティブは
2913     サーバの応答をクライアントに送り返される前に処理するフィルタを設定します。
2914     これは <directive module="mod_mime">AddOutputFilter</directive>
2915     ディレクティブを含め、他の場所で定義されているフィルタの設定に
2916     追加されます。</p>    
2917
2918     <p>例えば、以下の設定は <code>/www/data/</code> ディレクトリのすべての
2919     ファイルを SSI で処理します。</p>
2920
2921     <example>
2922       &lt;Directory /www/data/&gt;<br />
2923       <indent>
2924         SetOutputFilter INCLUDES<br />
2925       </indent>
2926       &lt;/Directory&gt;
2927     </example>
2928
2929     <p>複数のフィルタを指定するときは、データを処理する順番に
2930     セミコロンで区切る必要があります。</p>
2931 </usage>
2932 <seealso><a href="../filter.html">フィルタ</a>説明書</seealso>
2933 </directivesynopsis>
2934
2935 <directivesynopsis>
2936 <name>TimeOut</name>
2937 <description>各イベントについて、リクエストを失敗させるまでにサーバが
2938 待つ時間を設定</description>
2939 <syntax>TimeOut <var>seconds</var></syntax>
2940 <default>TimeOut 300</default>
2941 <contextlist><context>server config</context><context>virtual host</context></contextlist>
2942
2943 <usage>
2944     <p><directive>TimeOut</directive> ディレクティブは、
2945     様々な条件下での I/O 待ち時間を定義します:</p>
2946
2947     <ol>
2948       <li>クライアントからのデータを読み込む時。
2949       受信バッファが空になっていて、TCP パケットが届くまで
2950       待つ時間の長さ</li>
2951
2952       <li>クライアントに対してデータを送り出す時。
2953       送信バッファがいっぱいで、パケットの受信完了 <transnote>ACK</transnote> 
2954       が届くまで待つ時間の長さ</li>
2955
2956       <li><module>mod_cgi</module> 内で、CGI スクリプトが出力を
2957       返すまでの待ち時間の長さ</li>
2958
2959       <li><module>mod_ext_filter</module> 内で、フィルタ処理で出力を
2960       待つ時間の長さ</li>
2961
2962       <li><module>mod_proxy</module> 内で、
2963       <directive module="mod_proxy">ProxyTimeout</directive>
2964       が設定されていない場合のデフォルトの待ち時間</li>
2965     </ol>
2966
2967 </usage>
2968 </directivesynopsis>
2969
2970 <directivesynopsis>
2971 <name>TraceEnable</name>
2972 <description><code>TRACE</code> メソッドのリクエストに対する応答方法を決める
2973 </description>
2974 <syntax>TraceEnable <var>[on|off|extended]</var></syntax>
2975 <default>TraceEnable on</default>
2976 <contextlist><context>server config</context></contextlist>
2977 <compatibility>Apache 1.3.34, 2.0.55 以降</compatibility>
2978
2979 <usage>
2980     <p>Apache のコア機能<transnote><module>core</module></transnote>と
2981     <module>mod_proxy</module> 両方の <code>TRACE</code>
2982     の挙動をオーバーライドします。デフォルトの <code>TraceEnable on</code>
2983     は、リクエストボディを受け入れないような、RFC2616 に準拠した
2984     <code>TRACE</code> リクエストを受け付けます。
2985     <code>TraceEnale off</code> と設定すると、コアサーバと
2986     <module>mod_proxy</module> は <code>405</code> (メソッド不許可)
2987     エラーをクライアントに返します。</p>
2988
2989     <p>最後に、テストや調査目的などの限定用途として、仕様に準拠しない
2990     <code>TraceEnable extended</code> を使って、リクエストボディを
2991     受け付けるように挙動を変更できます。(オリジンサーバとしての)
2992     Apache のコアでは、リクエストボディのサイズは 64k (
2993     <code>Transfer-Encoding: chunked</code> が使われている場合は 
2994     chunk ヘッダ用に +8k) に制限されます。
2995     Apache のコアは、ヘッダと全ての chunk ヘッダをレスポンスの
2996     ボディとして返却します。
2997     proxy サーバとしては、リクエストボディのサイズは 64k に制限されません。</p>
2998 </usage>
2999 </directivesynopsis>
3000
3001 <directivesynopsis>
3002 <name>UseCanonicalName</name>
3003 <description>サーバが自分自身の名前とポートを決定する方法を設定する</description>
3004 <syntax>UseCanonicalName On|Off|Dns</syntax>
3005 <default>UseCanonicalName Off</default>
3006 <contextlist><context>server config</context><context>virtual host</context>
3007 <context>directory</context></contextlist>
3008
3009 <usage>
3010     <p>多くの状況で Apache は<em>自己参照</em> URL、すなわち
3011     同じサーバを指す URL、を作成する必要があります。
3012     <code>UseCanonicalName On</code> の場合は、<directive 
3013     module="core">ServerName</directive> ディレクティブで指定されている
3014     ホスト名とポート番号を使って、その正規名 (自己参照の名前) を生成します。
3015     この名前は、すべての自己参照 URL で使われますし、CGI の 
3016     <code>SERVER_NAME</code> と <code>SERVER_PORT</code> でも使われます。</p>
3017
3018     <p><code>UseCanonicalName Off</code> の場合、
3019     クライアントがホスト名とポートを指定したときには、
3020     それらを元に自己参照 URL を作成します (指定がなかったときは
3021     上の定義と同様にして正規名を解決します)。
3022     これらの値は<a href="../vhosts/name-based.html">名前ベースの
3023     バーチャルホスト</a>を実装で使われているのと同じ値で、
3024     同じクライアントで取得できる値になっています。
3025     CGI 変数 <code>SERVER_NAME</code> と <code>SERVER_PORT</code> 
3026     もクライアントから与えられた値から作成されます。</p>
3027
3028     <p>このような挙動が便利な例は、イントラネットのサーバで <code>www</code>
3029     のような短い名前でユーザがマシンに接続するときです。
3030     ユーザの入力で短いホスト名が使われていて、URL が<em>最後のスラッシュ無しの</em>
3031     ディレクトリになっている <code>http://www/splat</code> のようなとき、
3032     Apache はリクエストを <code>http://www.domain.com/splat/</code> 
3033     へリダイレクトします。
3034     認証をするように設定していると、この場合
3035     ユーザは 2 回認証をしなければならなくなります (<code>www</code> に
3036     対して 1 回、<code>www.domain.com</code> に対してもう 1 回 -- 
3037     詳細は <a 
3038     href="http://httpd.apache.org/docs/misc/FAQ.html#prompted-twice">この話題の
3039     FAQ</a> を参照してください)。
3040     しかし <directive>UseCanonicalName</directive> が <code>Off</code> になっていると、
3041     Apache は <code>http://www/splat/</code> にリダイレクトします。</p>
3042
3043     <p>三つ目のオプション <code>UseCanonicalName DNS</code> は、
3044     大規模な IP ベースのバーチャルホスティングで、
3045     <code>Host:</code> ヘッダを提供しない古いクライアントを
3046     サポートする場合を想定しています。
3047     このオプションでは Apache は、クライアントが接続した IP アドレスに対して
3048     DNS の逆引きを行なって、自己参照 URL を作成します。</p>
3049
3050     <note type="warning"><title>警告</title>
3051     <p>CGI が <code>SERVER_NAME</code> に関して何らかの前提条件を
3052     仮定しているときには、このオプションの設定によっては動作しなく
3053     なるかもしれません。クライアントは実質的にはホスト名として
3054     何でも望みの値を指定することができます。CGI が
3055     <code>SERVER_NAME</code> を使って自己参照 URL を作成することしかしない
3056     場合は、どの設定を行なっても大丈夫なはずです。</p></note>
3057 </usage>
3058 <seealso><directive module="core">UseCanonicalPhysicalPort</directive></seealso>
3059 <seealso><directive module="core">ServerName</directive></seealso>
3060 <seealso><directive module="mpm_common">Listen</directive></seealso>
3061 </directivesynopsis>
3062
3063 <directivesynopsis>
3064 <name>UseCanonicalPhysicalPort</name>
3065 <description>自分自身の名前とポート番号を解決する方法を設定する
3066 </description>
3067 <syntax>UseCanonicalPhysicalPort On|Off</syntax>
3068 <default>UseCanonicalPhysicalPort Off</default>
3069 <contextlist><context>server config</context><context>virtual host</context>
3070 <context>directory</context></contextlist>
3071
3072 <usage>
3073     <p>さまざまな局面で <em>自己参照</em> URL -- それ自体のサーバを参照する URL
3074     を作ることになります。<code>UseCanonicalPhysicalPort On</code> と設定すると、
3075     <directive module="core">UseCanonicalName</directive> に従って別名を
3076     生成する場合に、実際の物理ポート番号を使って構成するようになります。
3077     <code>UseCanonicalPhysicalPort Off</code> の場合は、実際の物理ポート番号は
3078     使用せず、設定された情報を元にポート番号を決めます。</p>
3079
3080     <note><title>注意</title>
3081     <p>物理ポートが使われる場合の順番は次のようになっています:<br /><br />
3082      <code>UseCanonicalName On</code></p>
3083      <ul>
3084       <li><code>ServerName</code> で指定されているポート番号</li>
3085       <li>物理ポート番号</li>
3086       <li>デフォルトのポート番号</li>
3087      </ul>
3088      <code>UseCanonicalName Off | DNS</code>
3089      <ul>
3090       <li><code>Host:</code> ヘッダをパースして取得されるポート番号</li>
3091       <li>物理ポート番号</li>
3092       <li><code>ServerName</code> で指定されているポート番号</li>
3093       <li>デフォルトのポート番号</li>
3094      </ul>
3095     
3096     <p><code>UseCanonicalPhysicalPort Off</code> で、
3097     物理ポート番号が上記の順序付けから除外されます。</p>
3098     </note>
3099
3100 </usage>
3101 <seealso><directive module="core">UseCanonicalName</directive></seealso>
3102 <seealso><directive module="core">ServerName</directive></seealso>
3103 <seealso><directive module="mpm_common">Listen</directive></seealso>
3104 </directivesynopsis>
3105
3106 <directivesynopsis type="section">
3107 <name>VirtualHost</name>
3108 <description>特定のホスト名や IP アドレスのみに適用されるディレクティブを
3109 囲む</description>    
3110 <syntax>&lt;VirtualHost
3111     <var>addr</var>[:<var>port</var>] [<var>addr</var>[:<var>port</var>]]
3112     ...&gt; ... &lt;/VirtualHost&gt;</syntax>
3113 <contextlist><context>server config</context></contextlist>
3114
3115 <usage>
3116     <p><directive type="section">VirtualHost</directive> 及び
3117     <code>&lt;/VirtualHost&gt;</code> は、
3118     特定のバーチャルホストに対してのみ適用されるディレクティブ群を括る
3119     ために使われます。
3120     バーチャルホストコンテキストで許可される全てのディレクティブを指定可能です。
3121     サーバが、指定されたバーチャルホストにあるドキュメントへの
3122     リクエストを受け付けた場合、
3123     <directive type="section">VirtualHost</directive> セクションの中にある
3124     ディレクティブが適用されます。
3125     <var>Addr</var>は、次のものが利用できます:</p>
3126
3127     <ul>
3128       <li>バーチャルホストの IP アドレス</li>
3129
3130       <li>バーチャルホストの IP に対応する完全なドメイン名 (非推奨)</li>
3131
3132       <li><code>NameVirtualHost *</code> と共に使われる、
3133       すべての IP アドレスにマッチする文字 <code>*</code></li>
3134
3135       <li>IP ベースのバーチャルホストで他のものにマッチしない IP アドレス
3136       のための文字列 <code>_default_</code></li>
3137     </ul>
3138
3139     <example><title>例</title>
3140       &lt;VirtualHost 10.1.2.3&gt;<br />
3141       <indent>
3142         ServerAdmin webmaster@host.example.com<br />
3143         DocumentRoot /www/docs/host.example.com<br />
3144         ServerName host.example.com<br />
3145         ErrorLog logs/host.example.com-error_log<br />
3146         TransferLog logs/host.example.com-access_log<br />
3147       </indent>
3148       &lt;/VirtualHost&gt;
3149     </example>
3150  
3151     <p>IPv6 アドレスはオプションのポート番号の指定と区別するために、
3152     角括弧で括って指定する必要があります。次は IPv6 の例です:</p>
3153
3154     <example>
3155       &lt;VirtualHost [2001:db8::a00:20ff:fea7:ccea]&gt;<br />
3156       <indent>
3157         ServerAdmin webmaster@host.example.com<br />
3158         DocumentRoot /www/docs/host.example.com<br />
3159         ServerName host.example.com<br />
3160         ErrorLog logs/host.example.com-error_log<br />
3161         TransferLog logs/host.example.com-access_log<br />
3162       </indent>
3163       &lt;/VirtualHost&gt;
3164     </example>
3165
3166     <p>各々のバーチャルホストにはそれぞれ違う IP アドレス、ポート番号
3167     もしくはホスト名に対応する必要があり、
3168     1 番目の場合には複数のアドレスで IP パケットを受信できるように
3169     サーバマシンを設定しなければなりません。
3170     (もし、マシンが複数のネットワークインターフェースと持たない場合は、
3171     (OSがサポートしていれば) <code>ifconfig alias</code> コマンドにより
3172     達成できます)。</p>
3173
3174     <note><title>注意点</title>
3175     <p><directive type="section">VirtualHost</directive> は Apache が Listen する
3176     IP アドレスには影響を与え<strong>ません</strong>。
3177     <directive module="mpm_common">Listen</directive> を
3178     使って Apache が正しいアドレスを listen するように設定する必要があります。</p>
3179     </note>
3180
3181     <p>IP ベースのバーチャルホストを使っている場合は、特別な名前
3182     <code>_default_</code> を指定することができます。その場合は
3183     そのバーチャルホストは他のバーチャルホストで明示的に挙げられていない
3184     すべての IP アドレスにマッチします。<code>_default_</code> バーチャルホストが無い
3185     場合に IP がバーチャルホストで指定されたものにマッチしないときは、
3186     VirtualHost セクションの外のすべての定義からなる「主」サーバ設定が
3187     使われます。(ただし、<directive
3188     module="core">NameVirtualHost</directive> ディレクティブにマッチする
3189     すべての IP アドレスは「主」サーバ設定も <code>_default_</code> バーチャルホストも
3190     使わないことに注意してください。詳しくは <a
3191     href="../vhosts/name-based.html">ネームベースのバーチャルホスト</a> を
3192     参照してください。)</p>
3193
3194     <p><code>:port</code> といった形式で記述することにより、
3195     マッチさせるポートを変更可能です。
3196     この指定をしない場合には、主サーバ設定における
3197     一番最後に <code><a href="#port">Port</a></code> で指定されたポートが
3198     デフォルトとなります。
3199     <code>:*</code> を指定することにより、
3200     アドレス上の全てのポートにマッチします。(<code>_default_</code> のときは
3201     これを使うことが推奨されています。)</p>
3202
3203     <p><directive type="section">VirtualHost</directive> ブロックごとに
3204     <directive module="core">ServerName</directive> を指定すべきです。
3205     もしなければ、メインサーバ設定の
3206     <directive module="core">ServerName</directive>
3207     が継承されます</p>
3208
3209     <note type="warning"><title>セキュリティ</title>
3210     <p>サーバーを起動した以外のユーザがログファイルが保管されるディレクトリに
3211     書き込み可能なときになぜセキュリティが破られる可能性があるかの詳細は
3212     <a href="../misc/security_tips.html">セキュリティに関するコツ</a> を
3213     参照してください。</p></note>
3214 </usage>
3215 <seealso><a href="../vhosts/">Apache バーチャルホスト説明書</a></seealso>
3216 <seealso><a href="../dns-caveats.html">DNS と Apache に関する話</a></seealso>
3217 <seealso><a href="../bind.html">Apache が使用するアドレスとポートの設定</a></seealso>
3218 <seealso>リクエストを受けた際にこれらの異なるセクションが
3219     組み合わされる方法については <a href="../sections.html">
3220     &lt;Directory&gt;, &lt;Location&gt;, &lt;Files&gt; セクションの動作法</a></seealso>
3221 </directivesynopsis>
3222
3223 </modulesynopsis>