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