]> granicus.if.org Git - apache/blob - docs/manual/mod/mod_dav.xml.ja
Rebuild.
[apache] / docs / manual / mod / mod_dav.xml.ja
1 <?xml version="1.0" encoding="UTF-8" ?>
2 <!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
3 <?xml-stylesheet type="text/xsl" href="../style/manual.ja.xsl"?>
4 <!-- English Revision: 1628084:1673582 (outdated) -->
5
6 <!--
7  Licensed to the Apache Software Foundation (ASF) under one or more
8  contributor license agreements.  See the NOTICE file distributed with
9  this work for additional information regarding copyright ownership.
10  The ASF licenses this file to You under the Apache License, Version 2.0
11  (the "License"); you may not use this file except in compliance with
12  the License.  You may obtain a copy of the License at
13
14      http://www.apache.org/licenses/LICENSE-2.0
15
16  Unless required by applicable law or agreed to in writing, software
17  distributed under the License is distributed on an "AS IS" BASIS,
18  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19  See the License for the specific language governing permissions and
20  limitations under the License.
21 -->
22
23 <modulesynopsis metafile="mod_dav.xml.meta">
24
25 <name>mod_dav</name> 
26 <description>分散オーサリングとバージョン管理
27 (<a href="http://www.webdav.org/">WebDAV</a>) 機能</description>
28 <status>Extension</status>
29 <sourcefile>mod_dav.c</sourcefile>
30 <identifier>dav_module</identifier>
31
32 <summary>
33     <p>このモジュールはクラス 1 とクラス 2 の
34     <a href="http://www.webdav.org">WebDAV</a>
35     ('ウェブベースの分散オーサリングとバージョン管理')
36     機能を Apache に提供します。
37     この HTTP プロトコルの拡張により、リモートのウェブサーバ上にある
38     リソースやコレクションを
39     作成、移動、複製、削除できるようになります。</p>
40 </summary>
41 <seealso><directive module="mod_dav_fs">DavLockDB</directive></seealso>
42 <seealso><directive module="core">LimitXMLRequestBody</directive></seealso>
43 <seealso><a href="http://www.webdav.org">WebDAV Resources</a></seealso>
44
45 <section id="example"><title>Enabling WebDAV</title>
46     <p>mod_dav を有効にするには、<code>httpd.conf</code>
47     ファイル中のコンテナに次を加えます:</p>
48
49     <highlight language="config">Dav On</highlight>
50
51     <p>これは DAV ファイルシステムプロバイダを有効にします。DAV
52     ファイルシステムプロバイダは <module>mod_dav_fs</module>
53     モジュールで実装されています。ですから、このモジュールはコンパイル時に
54     サーバに組み込まれているか、あるいは
55     <directive module="mod_so">LoadModule</directive>
56     を使用して実行時にロードされている必要があります。</p>
57     
58     <p>さらに、DAV ロックデータベースの場所が
59     <directive module="mod_dav_fs">DavLockDB</directive> ディレクティブを使って
60     <code>httd.conf</code> ファイルのグローバルセクションに指定されている
61     必要があります。</p>
62
63     <highlight language="config">
64       DavLockDB /usr/local/apache2/var/DavLock
65     </highlight>
66
67     <p>ロックデータベースファイルのあるディレクトリは Apache が実行されている
68     <directive module="mod_unixd">User</directive> と <directive
69     module="mod_unixd" >Group</directive> に書き込み権限がある必要があります。</p>
70
71     <p><directive module="core" type="section">Limit</directive>
72     節を <directive module="core" type="section">Location</directive>
73     ディレクティブ内部に追加して、DAV が有効な場所への
74     アクセスを制限することもできます。DAV クライアントが
75     一度のリクエストで送信できる最大バイト数を指定したいときは、
76     <directive module="core">LimitXMLRequestBody</directive>
77     ディレクティブを使用する必要があります。「通常の」
78     <directive module="core">LimitRequestBody</directive>
79     ディレクティブは DAV リクエストに対しては効力を持ちません。</p>
80
81     <example><title>完全な例</title>
82     <highlight language="config">
83 DavLockDB /usr/local/apache2/var/DavLock
84
85 &lt;Directory /usr/local/apache2/htdocs/foo&gt;
86     Require all granted
87     Dav On
88
89     AuthType Basic
90     AuthName DAV
91     AuthUserFile user.passwd
92
93     &lt;LimitExcept GET POST OPTIONS&gt;
94         Require user admin
95     &lt;/LimitExcept&gt;
96 &lt;/Directory&gt;
97       </highlight>
98     </example>
99
100 </section>
101
102 <section id="security"><title>セキュリティの問題</title>
103
104     <p>DAV のアクセスメソッドは遠隔クライアントがサーバのファイルを
105     操作することを可能にしますので、 <module>mod_dav</module> を使用する
106     前に、サーバが安全であることを特に注意して確認しなければなりません。</p>
107
108     <p>サーバ上の DAV が使用可能になっている場所はすべて認証で保護してください。
109     HTTP 基本認証の使用は推奨できません。少なくとも 
110     <module>mod_auth_digest</module> モジュールで提供される HTTP 
111     ダイジェスト認証を用いるべきです。WebDAV クライアントのほとんどは
112     この認証方法に対応しています。代わりに、<a href="../ssl/">SSL</a> が
113     有効なコネクションを通した基本認証を使うこともできます。</p>
114
115     <p><module>mod_dav</module> がファイルを操作できるようにするためには、
116     管理下のディレクトリとファイルとに Apache が実行されている <directive
117     module="mod_unixd">User</directive> と <directive
118     module="mod_unixd">Group</directive> で書き込み可能である必要があります。
119     新しく作成されるファイルもこの <directive module="mod_unixd">User</directive>
120     と <directive module="mod_unixd">Group</directive> に所有される
121     ことになります。この理由から、そのアカウントへのアクセスを制御することは
122     重要です。DAV リポジトリは Apache 専用のものだとみなされています。
123     Apache 以外の方法でファイルを修正すること (例えば FTP やファイルシステム
124     用のツールなどを使って) は許可されていません。</p>
125
126     <p><module>mod_dav</module> はいろいろな種類のサービス拒否攻撃にさらされる
127     かもしれません。<directive
128     module="core">LimitXMLRequestBody</directive> ディレクティブを使うと
129     大きな DAV リクエストを解析するときに消費されるメモリの量を制限することが
130     できます。<directive
131     module="mod_dav">DavDepthInfinity</directive> ディレクティブは
132     <code>PROPFIND</code> リクエストが巨大リポジトリで大量のメモリを消費するのを
133     防ぐことができます。他のサービス拒否攻撃には単純に使用可能なディスク領域を
134     多くの大きなファイルで埋めてしまうんものがあります。これを直接防ぐ方法は
135     Apache にはありませんので、信用できないユーザに DAV アクセスを提供するのは
136     避けた方が良いでしょう。</p>
137 </section>
138
139 <section id="complex"><title>複雑な設定</title>
140
141     <p>よくある要求に、<module>mod_dav</module> を使って動的なファイル
142     (PHP スクリプト、CGI スクリプトなど) を操作したいというものがあります。
143     これの実現は、<code>GET</code> リクエストはスクリプトの内容をダウンロードさせる
144     代わりに、スクリプトを常に実行させてしまうので難しくなっています。
145     これを回避する方法には、二つの違う URL を同じコンテンツにマップし、
146     一つはスクリプトを実行させ、もう一つはダウンロードさせたり、DAV から
147     操作されたりするように設定するというものがあります。</p>
148
149 <highlight language="config">
150 Alias /phparea /home/gstein/php_files
151 Alias /php-source /home/gstein/php_files
152 &lt;Location /php-source&gt;
153     Dav On
154     ForceType text/plain
155 &lt;/Location&gt;
156 </highlight>
157
158     <p>この設定により、<code>http://example.com/phparea</code> を PHP スクリプトの
159     出力をアクセスするために使うことができ、
160     <code>http://example.com/php-source</code> を DAV クライアントによる
161     が操作のために使うことができます。</p>
162 </section>
163
164 <directivesynopsis>
165 <name>Dav</name>
166 <description>WebDAV HTTP メソッドを有効にします</description>
167 <syntax>Dav On|Off|<var>provider-name</var></syntax>
168 <default>Dav Off</default>
169 <contextlist><context>directory</context></contextlist>
170
171 <usage>
172     <p>与えられたコンテナで WebDAV HTTP メソッドが使えるようにするには
173     次のようにします。</p>
174
175     <highlight language="config">
176 &lt;Location /foo&gt;
177     Dav On
178 &lt;/Location&gt;
179     </highlight>
180
181     <p><code>On</code> という指定は実際には <module>mod_dav_fs</module>
182     で提供されているデフォルトのプロバイダ、<code>filesystem</code>
183     へのエイリアスになっています。一度あるロケーションで DAV 
184     を有効にした後は、そのサブロケーションで<em>無効化することはできない</em>
185     ということに注意してください。完全な設定例は<a 
186     href="#example">上記のセクション</a> をご覧下さい。</p>
187
188     <note type="warning">
189       サーバのセキュリティが確保できるまで WebDAV を有効にしないでください。
190       そうしなければ誰でもそのサーバでファイルを配布することができるように
191       なってしまいます。
192     </note>
193 </usage>
194 </directivesynopsis>
195
196 <directivesynopsis>
197 <name>DavMinTimeout</name>
198 <description>サーバが DAV リソースのロックを維持する最小時間です。
199 </description>
200 <syntax>DavMinTimeout <var>seconds</var></syntax>
201 <default>DavMinTimeout 0</default>
202 <contextlist><context>server config</context><context>virtual host</context>
203 <context>directory</context></contextlist>
204
205 <usage>
206     <p>クライアントが DAV リソースロックを要求した場合、
207     ロックがサーバによって自動的に解除されるまでの時間を
208     同時に指定することができます。この値は単なるリクエストであって、
209     サーバはこれを無視することもできますし、
210     任意の値をクライアントに通知することもできます。</p>
211
212     <p>クライアントに戻すロックタイムアウトの最小時間を、
213     秒で、指定するために <directive>DavMinTimeout</directive>
214     ディレクティブを使います。
215     マイクロソフトのウェブフォルダのデフォルトでは 120 秒ですが;
216     ネットワークの遅延のせいでクライアントがロックを失うのを減らすために、
217     <directive>DavMinTimeout</directive> を使って
218     これをもっと大きな値 (例えば 600 秒) に上書きできます。</p>
219
220     <example><title>例</title>
221     <highlight language="config">
222 &lt;Location /MSWord&gt;
223     DavMinTimeout 600
224 &lt;/Location&gt;
225     </highlight>
226     </example>
227 </usage>
228 </directivesynopsis>
229
230 <directivesynopsis>
231 <name>DavDepthInfinity</name>
232 <description>PROPFIND, Depth: Infinity リクエストを許可します</description>
233 <syntax>DavDepthInfinity on|off</syntax>
234 <default>DavDepthInfinity off</default>
235 <contextlist><context>server config</context><context>virtual host</context>
236 <context>directory</context></contextlist>
237
238 <usage>
239     <p>'Depth: Infinity' を含んでいる
240     <code>PROPFIND</code> リクエストを処理できるようにするには、
241     <directive>DavDepthInfinity</directive>
242     ディレクティブを使います。このタイプのリクエストは
243     denial-of-service アタックとなりうるので、
244     デフォルトでは許可されていません。</p>
245 </usage>
246 </directivesynopsis>
247
248 </modulesynopsis>
249
250