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>認証、承認、アクセス制御 - 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 id="manual-page"><div id="page-header"> 17<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> 18<p class="apache">Apache HTTP サーバ バージョン 2.2</p> 19<img alt="" src="/images/feather.gif" /></div> 20<div class="up"><a href="./"><img title="<-" alt="<-" src="/images/left.gif" /></a></div> 21<div id="path"> 22<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="./">How-To / チュートリアル</a></div><div id="page-content"><div id="preamble"><h1>認証、承認、アクセス制御</h1> 23<div class="toplang"> 24<p><span>翻訳済み言語: </span><a href="/en/howto/auth.html" hreflang="en" rel="alternate" title="English"> en </a> | 25<a href="/fr/howto/auth.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | 26<a href="/ja/howto/auth.html" title="Japanese"> ja </a> | 27<a href="/ko/howto/auth.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | 28<a href="/tr/howto/auth.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> 29</div> 30<div class="outofdate">この日本語訳はすでに古くなっている 31 可能性があります。 32 最近更新された内容を見るには英語版をご覧下さい。 33 </div> 34 35 <p>「認証」とは、誰かが自分は誰であるかを主張した場合に、 36 それを確認するための全過程を指します。「承認」とは、 37 誰かが行きたい場所に行けるように、あるいは欲しい情報を 38 得ることができるようにするための全過程を指します。</p> 39</div> 40<div id="quickview"><ul id="toc"><li><img alt="" src="/images/down.gif" /> <a href="#related">関連するモジュールとディレクティブ</a></li> 41<li><img alt="" src="/images/down.gif" /> <a href="#introduction">はじめに</a></li> 42<li><img alt="" src="/images/down.gif" /> <a href="#theprerequisites">準備</a></li> 43<li><img alt="" src="/images/down.gif" /> <a href="#gettingitworking">動作させる</a></li> 44<li><img alt="" src="/images/down.gif" /> <a href="#lettingmorethanonepersonin"> 45複数の人が入れるようにする</a></li> 46<li><img alt="" src="/images/down.gif" /> <a href="#possibleproblems">起こりえる問題</a></li> 47<li><img alt="" src="/images/down.gif" /> <a href="#whatotherneatstuffcanido">もっと巧みに制御できない 48?</a></li> 49<li><img alt="" src="/images/down.gif" /> <a href="#moreinformation">追加情報</a></li> 50</ul><ul class="seealso"><li><a href="#comments_section">コメント</a></li></ul></div> 51<div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div> 52<div class="section"> 53<h2><a name="related" id="related">関連するモジュールとディレクティブ</a></h2> 54 <table class="related"><tr><th>関連モジュール</th><th>関連ディレクティブ</th></tr><tr><td><ul><li><code class="module"><a href="/mod/mod_auth_basic.html">mod_auth_basic</a></code></li><li><code class="module"><a href="/mod/mod_authn_file.html">mod_authn_file</a></code></li><li><code class="module"><a href="/mod/mod_authz_groupfile.html">mod_authz_groupfile</a></code></li><li><code class="module"><a href="/mod/mod_authz_host.html">mod_authz_host</a></code></li></ul></td><td><ul><li><code class="directive"><a href="/mod/mod_authz_host.html#allow">Allow</a></code></li><li><code class="directive"><a href="/mod/mod_authz_groupfile.html#authgroupfile">AuthGroupFile</a></code></li><li><code class="directive"><a href="/mod/core.html#authname">AuthName</a></code></li><li><code class="directive"><a href="/mod/core.html#authtype">AuthType</a></code></li><li><code class="directive"><a href="/mod/mod_authn_file.html#authuserfile">AuthUserFile</a></code></li><li><code class="directive"><a href="/mod/mod_authz_host.html#deny">Deny</a></code></li><li><code class="directive"><a href="/mod/core.html#options">Options</a></code></li><li><code class="directive"><a href="/mod/core.html#require">Require</a></code></li></ul></td></tr></table> 55</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div> 56<div class="section"> 57<h2><a name="introduction" id="introduction">はじめに</a></h2> 58 <p>もし機密の情報や、ごくごく少数グループの人向けの情報を 59 ウェブサイトに置くのであれば、この文書に書かれている 60 テクニックを使うことで、そのページを見ている人たちが 61 望みの人たちであることを確実にできるでしょう。</p> 62 63 <p>この文書では、多くの人が採用するであろう、 64 ウェブサイトの一部分を保護する「一般的な」 65 方法についてカバーしています。</p> 66</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div> 67<div class="section"> 68<h2><a name="theprerequisites" id="theprerequisites">準備</a></h2> 69 <p>この文書で取り扱われるディレクティブは、 70 メインサーバ設定ファイル (普通は 71 <code class="directive"><a href="/mod/core.html#directory"><Directory></a></code> 72 セクション中) か、あるいはディレクトリ毎の設定ファイル 73 (<code>.htaccess</code> ファイル) かで用います。</p> 74 75 <p><code>.htaccess</code> ファイルを用いるのであれば、 76 これらのファイルに認証用のディレクティブを置けるように 77 サーバの設定をしないといけないでしょう。これは 78 <code class="directive"><a href="/mod/core.html#allowoverride">AllowOverride</a></code> 79 ディレクティブで可能になります。 80 <code class="directive"><a href="/mod/core.html#allowoverride">AllowOverride</a></code> 81 ディレクティブでは、ディレクトリ毎の設定ファイル中に置くことのできる 82 ディレクティブを、もしあれば、指定します。</p> 83 84 <p>認証について話を進めているので、次のような 85 <code class="directive"><a href="/mod/core.html#allowoverride">AllowOverride</a></code> 86 ディレクティブが必要になるでしょう。</p> 87 88 <div class="example"><p><code> 89 AllowOverride AuthConfig 90 </code></p></div> 91 92 <p>そうでなく、メインサーバ設定ファイルの中に 93 直接置くのであれば、当然ながらそのファイルへの書き込み 94 権限を持っていなければならないでしょう。</p> 95 96 <p>また、どのファイルがどこに保存されているか知るために、 97 サーバのディレクトリ構造について少し知っておく 98 必要があるでしょう。 99 これはそんなに難しくないので、この文書中で 100 ディレクトリ構造について知っておく必要がある場面では、 101 明らかになるようにします。</p> 102</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div> 103<div class="section"> 104<h2><a name="gettingitworking" id="gettingitworking">動作させる</a></h2> 105 <p>では、サーバ上のあるディレクトリをパスワードで保護する 106 基本手順を示します。</p> 107 108 <p>パスワードファイルを作る必要があります。 109 このファイルは、ウェブからアクセスできる場所に 110 置くべきではありません。他の人がパスワードファイルを 111 ダウンロードできないようにするためです。例えば、 112 <code>/usr/local/apache/htdocs</code> でドキュメントを 113 提供しているのであれば、パスワードファイルは 114 <code>/usr/local/apache/passwd</code> 115 などに置いた方が良いでしょう。</p> 116 117 <p>ファイルを作るためには、Apache 付属の <code class="program"><a href="/programs/htpasswd.html">htpasswd</a></code> 118 を使います。このコマンドは Apache をどこにインストールしようとも、 119 インストールディレクトリの <code>bin</code> 120 ディレクトリ以下に置かれます。ファイルを作るには、次のように 121 タイプしてください。</p> 122 123 <div class="example"><p><code> 124 htpasswd -c /usr/local/apache/passwd/passwords rbowen 125 </code></p></div> 126 127 <p><code class="program"><a href="/programs/htpasswd.html">htpasswd</a></code> は、パスワードを要求し、その後 128 確認のためにもう一度入力するように要求してきます。</p> 129 130 <div class="example"><p><code> 131 # htpasswd -c /usr/local/apache/passwd/passwords rbowen<br /> 132 New password: mypassword<br /> 133 Re-type new password: mypassword<br /> 134 Adding password for user rbowen 135 </code></p></div> 136 137 <p>もし <code class="program"><a href="/programs/htpasswd.html">htpasswd</a></code> がパスの中に入っていない場合は、 138 もちろん、実行するためにプログラムまでのフルパスを 139 タイプする必要があります。私のサーバであれば、 140 <code>/usr/local/apache/bin/htpasswd</code> 141 にプログラムが置かれています。</p> 142 143 <p>次に、サーバがパスワードを要求するように設定して、 144 どのユーザがアクセスを許されているかをサーバに知らせなければ 145 なりません。 <code>httpd.conf</code> を編集するか 146 <code>.htaccess</code> ファイルを使用するかで 147 設定します。例えば、ディレクトリ 148 <code>/usr/local/apache/htdocs/secret</code> 149 を保護したい場合は、 150 <code>/usr/local/apache/htdocs/secret/.htaccess</code> 151 か httpd.conf 中の <Directory 152 /usr/local/apache/apache/htdocs/secret> セクションに 153 配置して、次のディレクティブを使うことができます。</p> 154 155 <div class="example"><p><code> 156 AuthType Basic<br /> 157 AuthName "Restricted Files"<br /> 158 AuthUserFile /usr/local/apache/passwd/passwords<br /> 159 Require user rbowen 160 </code></p></div> 161 162 <p>個々のディレクティブについて見てみましょう。 163 <code class="directive"><a href="/mod/core.html#authtype">AuthType</a></code> 164 ディレクティブはどういう認証方法でユーザの認証を行うかを 165 選択します。最も一般的な方法は <code>Basic</code> 166 で、これは <code class="module"><a href="/mod/mod_auth_basic.html">mod_auth_basic</a></code> 167 で実装されています。しかしながら、 168 これは気を付けるべき重要なポイントなのですが、 169 Basic 認証はクライアントからサーバへ、 170 パスワードを暗号化せずに送ります。ですから、 171 この方法は特に機密性の高いデータに対しては用いるべきでは 172 ありません。 Apache ではもう一つ別の認証方法: 173 <code>AuthType Digest</code> をサポートしています。 174 この方法は <code class="module"><a href="/mod/mod_auth_digest.html">mod_auth_digest</a></code> 175 で実装されていて、もっと安全です。 176 ごくごく最近のクライアントしか Digest 177 認証をサポートしていないようです。</p> 178 179 <p><code class="directive"><a href="/mod/core.html#authname">AuthName</a></code> 180 ディレクティブでは、認証に使う <dfn>Realm</dfn> (訳注: 領域) 181 を設定します。Realm は大きく分けて二つの機能を提供します。 182 一つ目は、クライアントがパスワードダイアログボックスの 183 一部としてユーザにこの情報をよく提示する、というものです。 184 二つ目には、クライアントが与えられた認証領域に対してどのパスワードを 185 送信すれば良いのかを決定するために使われる、という機能です。</p> 186 187 <p>例えば、<code>"Restricted Files"</code> 領域中で 188 一度認証されれば、同一サーバ上で <code>"Restricted Files"</code> 189 Realm としてマークされたどんな領域でも、クライアントは 190 自動的に同じパスワードを使おうと試みます。 191 このおかげで、複数の制限領域に同じ realm を共有させて、 192 ユーザがパスワードを何度も要求される事態を 193 防ぐことができます。もちろん、セキュリティ上の理由から、 194 サーバのホスト名が変わればいつでも必ず、 195 クライアントは再びパスワードを尋ねる必要があります。</p> 196 197 <p><code class="directive"><a href="/mod/mod_authn_file.html#authuserfile">AuthUserFile</a></code> 198 ディレクティブは <code class="program"><a href="/programs/htpasswd.html">htpasswd</a></code> で作った 199 パスワードファイルへのパスを設定します。 200 ユーザ数が多い場合は、リクエスト毎のユーザの認証のための 201 プレーンテキストの探索が非常に遅くなることがあります。 202 Apache ではユーザ情報を高速なデータベースファイルに 203 保管することもできます。 204 <code class="module"><a href="/mod/mod_authn_dbm.html">mod_authn_dbm</a></code> モジュールが 205 <code class="directive"><a href="/mod/mod_authn_dbm.html#authdbmuserfile">AuthDBMUserFile</a></code> 206 ディレクティブを提供します。これらのファイルは <code class="program"><a href="/programs/dbmmanage.html">dbmmanage</a></code> 207 プログラムで作成したり操作したりできます。 208 <a href="http://modules.apache.org/">Apache 209 モジュールデータベース</a>中にあるサードパーティー製の 210 モジュールで、その他多くのタイプの認証オプションが 211 利用可能です。</p> 212 213 <p>最後に、<code class="directive"><a href="/mod/core.html#require">Require</a></code> 214 ディレクティブが、サーバのこの領域にアクセスできるユーザを 215 指定することによって、プロセスの承認部分を提供します。 216 次のセクションでは、<code class="directive"><a href="/mod/core.html#require">Require</a></code> 217 ディレクティブの様々な用法について述べます。</p> 218</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div> 219<div class="section"> 220<h2><a name="lettingmorethanonepersonin" id="lettingmorethanonepersonin"> 221複数の人が入れるようにする</a></h2> 222 <p>上記のディレクティブは、ただ一人 (具体的にはユーザ名 223 <code>rbowen</code> の誰か) がディレクトリに 224 入れるようにします。多くの場合は、複数の人が 225 入れるようにしたいでしょう。ここで 226 <code class="directive"><a href="/mod/mod_authz_groupfile.html#authgroupfile">AuthGroupFile</a></code> 227 の登場です。</p> 228 229 <p>もし複数の人が入れるようにしたいのであれば、 230 グループに属するユーザの一覧の入っている、グループ名のついた 231 グループファイルを作る必要があります。このファイルの 232 書式はきわめて単純で、お好みのエディタで生成できます。 233 ファイルの中身は次のようなものです。</p> 234 235 <div class="example"><p><code> 236 GroupName: rbowen dpitts sungo rshersey 237 </code></p></div> 238 239 <p>一行にスペース区切りで、グループに所属するメンバーの 240 一覧をならべるだけです。</p> 241 242 <p>既に存在するパスワードファイルにユーザを加える場合は、 243 次のようにタイプしてください。</p> 244 245 <div class="example"><p><code> 246 htpasswd /usr/local/apache/passwd/passwords dpitts 247 </code></p></div> 248 249 <p>以前と同じ応答が返されますが、新しいファイルを 250 作るのではなく、既にあるファイルに追加されています。 251 (新しいパスワードファイルを作るには <code>-c</code> 252 を使います。)</p> 253 254 <p>ここで次のようにして <code>.htaccess</code> ファイルを 255 修正する必要があります。</p> 256 257 <div class="example"><p><code> 258 AuthType Basic<br /> 259 AuthName "By Invitation Only"<br /> 260 AuthUserFile /usr/local/apache/passwd/passwords<br /> 261 AuthGroupFile /usr/local/apache/passwd/groups<br /> 262 Require group GroupName 263 </code></p></div> 264 265 <p>これで、グループ <code>GroupName</code> にリストされていて、 266 <code>password</code> ファイルにエントリがある人は、 267 正しいパスワードをタイプすれば入ることができるでしょう。</p> 268 269 <p>もっと特定せずに複数のユーザが入れるようにする、 270 もう一つの方法があります。グループファイルを作るのではなく、 271 次のディレクティブを使えばできます。</p> 272 273 <div class="example"><p><code> 274 Require valid-user 275 </code></p></div> 276 277 <p><code>require user rbowen</code> 行でなく、上記を使うと、 278 パスワードファイルにリストされている人であれば誰でも 279 許可されます。 280 単にパスワードファイルをグループ毎に分けておくことで、 281 グループのような振る舞いをさせることもできます。 282 このアプローチの利点は、Apache は二つではなく、 283 ただ一つのファイルだけを検査すればよいという点です。 284 欠点は、たくさんのパスワードファイルを管理して、その中から 285 <code class="directive"><a href="/mod/mod_authn_file.html#authuserfile">AuthUserFile</a></code> 286 ディレクティブに正しいファイルを参照させなければならない点です。</p> 287</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div> 288<div class="section"> 289<h2><a name="possibleproblems" id="possibleproblems">起こりえる問題</a></h2> 290 <p>Basic 認証が指定されている場合は、 291 サーバにドキュメントをリクエストする度に 292 ユーザ名とパスワードを検査しなければなりません。 293 これは同じページ、ページにある全ての画像を 294 リロードする場合であっても該当します 295 (もし画像も保護されたディレクトリから来るのであれば) 。 296 予想される通り、これは動作を多少遅くします。 297 遅くなる程度はパスワードファイルの大きさと比例しますが、 298 これは、ファイルを開いてあなたの名前を発見するまで 299 ユーザ名のリストを読まなければならないからです。 300 そして、ページがロードされる度にこれを行わなければ 301 なりません。</p> 302 303 <p>結論としては、一つのパスワードファイルに置くことのできる 304 ユーザ数には実質的な限界があります。 305 この限界はサーバマシンの性能に依存して変わりますが、 306 数百のエントリを越えたあたりから速度低下が見られると予期されています。 307 その時は他の認証方法を考慮に入れた方が良いでしょう。</p> 308</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div> 309<div class="section"> 310<h2><a name="whatotherneatstuffcanido" id="whatotherneatstuffcanido">もっと巧みに制御できない 311?</a></h2> 312 <p>ユーザ名とパスワードによる認証は認証の一つの方法に過ぎません。 313 しばしば誰であるかということとは違う何かに基づいて、 314 入れるようにしたくなることもあるでしょう。 315 例えばその人がどこから来ているかといったことです。</p> 316 317 <p><code class="directive"><a href="/mod/mod_authz_host.html#allow">Allow</a></code> と 318 <code class="directive"><a href="/mod/mod_authz_host.html#deny">Deny</a></code> 319 ディレクティブを使って、ドキュメントを要求してきたマシンの 320 ホスト名やホストアドレスに基づいて許可不許可を制御できます。 321 <code class="directive"><a href="/mod/mod_authz_host.html#order">Order</a></code> 322 ディレクティブはこの二つと連携して動作し、Apache 323 にどの順番でフィルタを適用するかを知らせます。</p> 324 325 <p>これらのディレクティブの使い方は次のようになります。</p> 326 327 <div class="example"><p><code> 328 Allow from <var>address</var> 329 </code></p></div> 330 331 <p>ここで、<var>address</var> は IP アドレス 332 (または IP アドレスの一部)、あるいは完全修飾ドメイン名 333 (またはドメイン名の一部) です。 334 必要であれば複数のアドレスやドメイン名を指定できます。</p> 335 336 <p>例えば、もし誰かが掲示板を攻撃していて、 337 その人を閉め出したいのであれば、 338 次のようにすることができます。</p> 339 340 <div class="example"><p><code> 341 Deny from 205.252.46.165 342 </code></p></div> 343 344 <p>このアドレスから来る人は、このディレクティブの範囲内の 345 コンテンツを見ることができません。もし IP 346 アドレスの代わりにマシン名があれば、それを使えます。</p> 347 348 <div class="example"><p><code> 349 Deny from <var>host.example.com</var> 350 </code></p></div> 351 352 <p>ドメイン全体からのアクセスを防ぎたければ、 353 単にアドレスやドメイン名の一部を指定することができます。</p> 354 355 <div class="example"><p><code> 356 Deny from <var>192.101.205</var><br /> 357 Deny from <var>cyberthugs.com</var> <var>moreidiots.com</var><br /> 358 Deny from ke 359 </code></p></div> 360 361 <p><code class="directive"><a href="/mod/mod_authz_host.html#order">Order</a></code> を使うことで、 362 <code class="directive"><a href="/mod/mod_authz_host.html#deny">Deny</a></code> と 363 <code class="directive"><a href="/mod/mod_authz_host.html#allow">Allow</a></code> の組み合わせで 364 入っても良いグループが本当に確実に限定できているようにできます。</p> 365 366 <div class="example"><p><code> 367 Order deny,allow<br /> 368 Deny from all<br /> 369 Allow from <var>dev.example.com</var> 370 </code></p></div> 371 372 <p><code class="directive"><a href="/mod/mod_authz_host.html#allow">Allow</a></code> 373 ディレクティブを単純に列挙するのでは望みの動作をしないでしょう。 374 なぜなら、全ての人が入れるということに加えて、 375 指定したホストからの人が入れるようにするからです。 376 やりたいことは、指定した人たち<em>だけ</em>が入れるように 377 することです。</p> 378</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div> 379<div class="section"> 380<h2><a name="moreinformation" id="moreinformation">追加情報</a></h2> 381 <p>これら全てがどのように動作するかについて 382 もっと多くの情報が書かれている <code class="module"><a href="/mod/mod_auth_basic.html">mod_auth_basic</a></code> と 383 <code class="module"><a href="/mod/mod_authz_host.html">mod_authz_host</a></code> 384 の文書も読むとよいでしょう。</p> 385</div></div> 386<div class="bottomlang"> 387<p><span>翻訳済み言語: </span><a href="/en/howto/auth.html" hreflang="en" rel="alternate" title="English"> en </a> | 388<a href="/fr/howto/auth.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | 389<a href="/ja/howto/auth.html" title="Japanese"> ja </a> | 390<a href="/ko/howto/auth.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | 391<a href="/tr/howto/auth.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> 392</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> 393<script type="text/javascript"><!--//--><![CDATA[//><!-- 394var comments_shortname = 'httpd'; 395var comments_identifier = 'http://httpd.apache.org/docs/2.2/howto/auth.html'; 396(function(w, d) { 397 if (w.location.hostname.toLowerCase() == "httpd.apache.org") { 398 d.write('<div id="comments_thread"><\/div>'); 399 var s = d.createElement('script'); 400 s.type = 'text/javascript'; 401 s.async = true; 402 s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; 403 (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); 404 } 405 else { 406 d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); 407 } 408})(window, document); 409//--><!]]></script></div><div id="footer"> 410<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> 411<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[//><!-- 412if (typeof(prettyPrint) !== 'undefined') { 413 prettyPrint(); 414} 415//--><!]]></script> 416</body></html>