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