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="&lt;-" alt="&lt;-" src="/images/left.gif" /></a></div>
21<div id="path">
22<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP サーバ</a> &gt; <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> &gt; <a href="../">バージョン 2.2</a> &gt; <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">&nbsp;en&nbsp;</a> |
25<a href="/fr/howto/auth.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
26<a href="/ja/howto/auth.html" title="Japanese">&nbsp;ja&nbsp;</a> |
27<a href="/ko/howto/auth.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
28<a href="/tr/howto/auth.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</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">&lt;Directory&gt;</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>
151httpd.conf 中の &lt;Directory
152    /usr/local/apache/apache/htdocs/secret&gt; セクションに
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">&nbsp;en&nbsp;</a> |
388<a href="/fr/howto/auth.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
389<a href="/ja/howto/auth.html" title="Japanese">&nbsp;ja&nbsp;</a> |
390<a href="/ko/howto/auth.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
391<a href="/tr/howto/auth.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</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&amp;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>