blob: ae033145e00ff5b79dfc485f746acb8c83ee3add (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
|
<?xml version="1.0" encoding="EUC-JP"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head><!--
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
<title>mod_dav - Apache HTTP サーバ</title>
<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
<link href="../images/favicon.ico" rel="shortcut icon" /></head>
<body>
<div id="page-header">
<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p>
<p class="apache">Apache HTTP サーバ バージョン 2.3</p>
<img alt="" src="../images/feather.gif" /></div>
<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
<div id="path">
<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.3</a> > <a href="./">モジュール</a></div>
<div id="page-content">
<div id="preamble"><h1>Apache モジュール mod_dav</h1>
<div class="toplang">
<p><span>Available Languages: </span><a href="../en/mod/mod_dav.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="../ja/mod/mod_dav.html" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_dav.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div>
<div class="outofdate">This translation may be out of date. Check the
English version for recent changes.</div>
<table class="module"><tr><th><a href="module-dict.html#Description">説明:</a></th><td>分散オーサリングとバージョン管理
(<a href="http://www.webdav.org/">WebDAV</a>) 機能</td></tr>
<tr><th><a href="module-dict.html#Status">ステータス:</a></th><td>Extension</td></tr>
<tr><th><a href="module-dict.html#ModuleIdentifier">モジュール識別子:</a></th><td>dav_module</td></tr>
<tr><th><a href="module-dict.html#SourceFile">ソースファイル:</a></th><td>mod_dav.c</td></tr></table>
<h3>概要</h3>
<p>このモジュールはクラス 1 とクラス 2 の
<a href="http://www.webdav.org">WebDAV</a>
('ウェブベースの分散オーサリングとバージョン管理')
機能を Apache に提供します。
この HTTP プロトコルの拡張により、リモートのウェブサーバ上にある
リソースやコレクションを
作成、移動、複製、削除できるようになります。</p>
</div>
<div id="quickview"><h3 class="directives">ディレクティブ</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#dav">Dav</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#davdepthinfinity">DavDepthInfinity</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#davmintimeout">DavMinTimeout</a></li>
</ul>
<h3>トピック</h3>
<ul id="topics">
<li><img alt="" src="../images/down.gif" /> <a href="#example">Enabling WebDAV</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#security">セキュリティの問題</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#complex">複雑な設定</a></li>
</ul><h3>参照</h3>
<ul class="seealso">
<li><code class="directive"><a href="../mod/mod_dav_fs.html#davlockdb">DavLockDB</a></code></li>
<li><code class="directive"><a href="../mod/core.html#limitxmlrequestbody">LimitXMLRequestBody</a></code></li>
<li><a href="http://www.webdav.org">WebDAV Resources</a></li>
</ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="example" id="example">Enabling WebDAV</a></h2>
<p>mod_dav を有効にするには、<code>httpd.conf</code>
ファイル中のコンテナに次を加えます:</p>
<div class="example"><p><code>Dav On</code></p></div>
<p>これは DAV ファイルシステムプロバイダを有効にします。DAV
ファイルシステムプロバイダは <code class="module"><a href="../mod/mod_dav_fs.html">mod_dav_fs</a></code>
モジュールで実装されています。ですから、このモジュールはコンパイル時に
サーバに組み込まれているか、あるいは
<code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code>
を使用して実行時にロードされている必要があります。</p>
<p>さらに、DAV ロックデータベースの場所が
<code class="directive"><a href="../mod/mod_dav_fs.html#davlockdb">DavLockDB</a></code> ディレクティブを使って
<code>httd.conf</code> ファイルのグローバルセクションに指定されている
必要があります。</p>
<div class="example"><p><code>
DavLockDB /usr/local/apache2/var/DavLock
</code></p></div>
<p>ロックデータベースファイルのあるディレクトリは Apache が実行されている
<code class="directive"><a href="../mod/mpm_common.html#user">User</a></code> と <code class="directive"><a href="../mod/mpm_common.html#group">Group</a></code> に書き込み権限がある必要があります。</p>
<p><code class="directive"><a href="../mod/core.html#limit"><Limit></a></code>
節を <code class="directive"><a href="../mod/core.html#location"><Location></a></code>
ディレクティブ内部に追加して、DAV が有効な場所への
アクセスを制限することもできます。DAV クライアントが
一度のリクエストで送信できる最大バイト数を指定したいときは、
<code class="directive"><a href="../mod/core.html#limitxmlrequestbody">LimitXMLRequestBody</a></code>
ディレクティブを使用する必要があります。「通常の」
<code class="directive"><a href="../mod/core.html#limitrequestbody">LimitRequestBody</a></code>
ディレクティブは DAV リクエストに対しては効力を持ちません。</p>
<div class="example"><h3>完全な例</h3><p><code>
DavLockDB /usr/local/apache2/var/DavLock<br />
<br />
<Location /foo><br />
<span class="indent">
Dav On<br />
<br />
AuthType Basic<br />
AuthName DAV<br />
AuthUserFile user.passwd<br />
<br />
<LimitExcept GET OPTIONS><br />
<span class="indent">
require user admin<br />
</span>
</LimitExcept><br />
</span>
</Location><br />
</code></p></div>
<p><code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code> は Greg Stein さんの <a href="http://www.webdav.org/mod_dav/">Apache 1.3 用の mod_dav</a> に
由来するものです。そのサイトからより多くの情報を手に入れることができます。</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="security" id="security">セキュリティの問題</a></h2>
<p>DAV のアクセスメソッドは遠隔クライアントがサーバのファイルを
操作することを可能にしますので、 <code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code> を使用する
前に、サーバが安全であることを特に注意して確認しなければなりません。</p>
<p>サーバ上の DAV が使用可能になっている場所はすべて認証で保護してください。
HTTP 基本認証の使用は推奨できません。少なくとも
<code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code> モジュールで提供される HTTP
ダイジェスト認証を用いるべきです。WebDAV クライアントのほとんどは
この認証方法に対応しています。代わりに、<a href="../ssl/">SSL</a> が
有効なコネクションを通した基本認証を使うこともできます。</p>
<p><code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code> がファイルを操作できるようにするためには、
管理下のディレクトリとファイルとに Apache が実行されている <code class="directive"><a href="../mod/mpm_common.html#user">User</a></code> と <code class="directive"><a href="../mod/mpm_common.html#group">Group</a></code> で書き込み可能である必要があります。
新しく作成されるファイルもこの <code class="directive"><a href="../mod/mpm_common.html#user">User</a></code>
と <code class="directive"><a href="../mod/mpm_common.html#group">Group</a></code> に所有される
ことになります。この理由から、そのアカウントへのアクセスを制御することは
重要です。DAV リポジトリは Apache 専用のものだとみなされています。
Apache 以外の方法でファイルを修正すること (例えば FTP やファイルシステム
用のツールなどを使って) は許可されていません。</p>
<p><code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code> はいろいろな種類のサービス拒否攻撃にさらされる
かもしれません。<code class="directive"><a href="../mod/core.html#limitxmlrequestbody">LimitXMLRequestBody</a></code> ディレクティブを使うと
大きな DAV リクエストを解析するときに消費されるメモリの量を制限することが
できます。<code class="directive"><a href="#davdepthinfinity">DavDepthInfinity</a></code> ディレクティブは
<code>PROPFIND</code> リクエストが巨大リポジトリで大量のメモリを消費するのを
防ぐことができます。他のサービス拒否攻撃には単純に使用可能なディスク領域を
多くの大きなファイルで埋めてしまうんものがあります。これを直接防ぐ方法は
Apache にはありませんので、信用できないユーザに DAV アクセスを提供するのは
避けた方が良いでしょう。</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="complex" id="complex">複雑な設定</a></h2>
<p>よくある要求に、<code class="module"><a href="../mod/mod_dav.html">mod_dav</a></code> を使って動的なファイル
(PHP スクリプト、CGI スクリプトなど) を操作したいというものがあります。
これの実現は、<code>GET</code> リクエストはスクリプトの内容をダウンロードさせる
代わりに、スクリプトを常に実行させてしまうので難しくなっています。
これを回避する方法には、二つの違う URL を同じコンテンツにマップし、
一つはスクリプトを実行させ、もう一つはダウンロードさせたり、DAV から
操作されたりするように設定するというものがあります。</p>
<div class="example"><p><code>
Alias /phparea /home/gstein/php_files<br />
Alias /php-source /home/gstein/php_files<br />
<Location /php-source>
<span class="indent">
DAV On<br />
ForceType text/plain<br />
</span>
</Location>
</code></p></div>
<p>この設定により、<code>http://example.com/phparea</code> を PHP スクリプトの
出力をアクセスするために使うことができ、
<code>http://example.com/php-source</code> を DAV クライアントによる
が操作のために使うことができます。</p>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="Dav" id="Dav">Dav</a> <a name="dav" id="dav">ディレクティブ</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>WebDAV HTTP メソッドを有効にします</td></tr>
<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>Dav On|Off|<var>provider-name</var></code></td></tr>
<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>Dav Off</code></td></tr>
<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>ディレクトリ</td></tr>
<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_dav</td></tr>
</table>
<p>与えられたコンテナで WebDAV HTTP メソッドが使えるようにするには
次のようにします。</p>
<div class="example"><p><code>
<Location /foo><br />
<span class="indent">
Dav On<br />
</span>
</Location>
</code></p></div>
<p><code>On</code> という指定は実際には <code class="module"><a href="../mod/mod_dav_fs.html">mod_dav_fs</a></code>
で提供されているデフォルトのプロバイダ、<code>filesystem</code>
へのエイリアスになっています。一度あるロケーションで DAV
を有効にした後は、そのサブロケーションで<em>無効化することはできない</em>
ということに注意してください。完全な設定例は<a href="#example">上記のセクション</a> をご覧下さい。</p>
<div class="warning">
サーバのセキュリティが確保できるまで WebDAV を有効にしないでください。
そうしなければ誰でもそのサーバでファイルを配布することができるように
なってしまいます。
</div>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="DavDepthInfinity" id="DavDepthInfinity">DavDepthInfinity</a> <a name="davdepthinfinity" id="davdepthinfinity">ディレクティブ</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>PROPFIND, Depth: Infinity リクエストを許可します</td></tr>
<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>DavDepthInfinity on|off</code></td></tr>
<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>DavDepthInfinity off</code></td></tr>
<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ</td></tr>
<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_dav</td></tr>
</table>
<p>'Depth: Infinity' を含んでいる
<code>PROPFIND</code> リクエストを処理できるようにするには、
<code class="directive">DavDepthInfinity</code>
ディレクティブを使います。このタイプのリクエストは
denial-of-service アタックとなりうるので、
デフォルトでは許可されていません。</p>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="DavMinTimeout" id="DavMinTimeout">DavMinTimeout</a> <a name="davmintimeout" id="davmintimeout">ディレクティブ</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">説明:</a></th><td>サーバが DAV リソースのロックを維持する最小時間です。
</td></tr>
<tr><th><a href="directive-dict.html#Syntax">構文:</a></th><td><code>DavMinTimeout <var>seconds</var></code></td></tr>
<tr><th><a href="directive-dict.html#Default">デフォルト:</a></th><td><code>DavMinTimeout 0</code></td></tr>
<tr><th><a href="directive-dict.html#Context">コンテキスト:</a></th><td>サーバ設定ファイル, バーチャルホスト, ディレクトリ</td></tr>
<tr><th><a href="directive-dict.html#Status">ステータス:</a></th><td>Extension</td></tr>
<tr><th><a href="directive-dict.html#Module">モジュール:</a></th><td>mod_dav</td></tr>
</table>
<p>クライアントが DAV リソースロックを要求した場合、
ロックがサーバによって自動的に解除されるまでの時間を
同時に指定することができます。この値は単なるリクエストであって、
サーバはこれを無視することもできますし、
任意の値をクライアントに通知することもできます。</p>
<p>クライアントに戻すロックタイムアウトの最小時間を、
秒で、指定するために <code class="directive">DavMinTimeout</code>
ディレクティブを使います。
マイクロソフトのウェブフォルダのデフォルトでは 120 秒ですが;
ネットワークの遅延のせいでクライアントがロックを失うのを減らすために、
<code class="directive">DavMinTimeout</code> を使って
これをもっと大きな値 (例えば 600 秒) に上書きできます。</p>
<div class="example"><h3>例</h3><p><code>
<Location /MSWord><br />
<span class="indent">
DavMinTimeout 600<br />
</span>
</Location>
</code></p></div>
</div>
</div>
<div class="bottomlang">
<p><span>Available Languages: </span><a href="../en/mod/mod_dav.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="../ja/mod/mod_dav.html" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_dav.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div><div id="footer">
<p class="apache">Copyright 2006 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">モジュール</a> | <a href="../mod/directives.html">ディレクティブ</a> | <a href="../faq/">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p></div>
</body></html>
|