mod_dav.html.ja.utf8 20.7 KB
Newer Older
powelld's avatar
powelld committed
<?xml version="1.0" encoding="UTF-8"?>
<!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>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
<!--
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
              This file is generated from xml source: DO NOT EDIT
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      -->
<title>mod_dav - Apache HTTP サーバ バージョン 2.4</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 rel="stylesheet" type="text/css" href="../style/css/prettify.css" />
<script src="../style/scripts/prettify.min.js" type="text/javascript">
</script>

<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="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">用語</a> | <a href="../sitemap.html">サイトマップ</a></p>
<p class="apache">Apache HTTP サーバ バージョン 2.4</p>
<img alt="" src="../images/feather.png" /></div>
<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
<div id="path">
<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.4</a> &gt; <a href="./">モジュール</a></div>
<div id="page-content">
<div id="preamble"><h1>Apache モジュール mod_dav</h1>
<div class="toplang">
<p><span>翻訳済み言語: </span><a href="../en/mod/mod_dav.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../fr/mod/mod_dav.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
<a href="../ja/mod/mod_dav.html" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_dav.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div>
<div class="outofdate">この日本語訳はすでに古くなっている
            可能性があります。
            最近更新された内容を見るには英語版をご覧下さい。
        </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"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><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 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>Bugfix checklist</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">httpd changelog</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&amp;list_id=144532&amp;product=Apache%20httpd-2&amp;query_format=specific&amp;order=changeddate%20DESC%2Cpriority%2Cbug_severity&amp;component=mod_dav">Known issues</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&amp;component=mod_dav">Report a bug</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>
<li><a href="#comments_section">コメント</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>

    <pre class="prettyprint lang-config">Dav On</pre>


    <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>

    <pre class="prettyprint lang-config">DavLockDB /usr/local/apache2/var/DavLock</pre>


    <p>ロックデータベースファイルのあるディレクトリは Apache が実行されている
    <code class="directive"><a href="../mod/mod_unixd.html#user">User</a></code><code class="directive"><a href="../mod/mod_unixd.html#group">Group</a></code> に書き込み権限がある必要があります。</p>

    <p><code class="directive"><a href="../mod/core.html#limit">&lt;Limit&gt;</a></code>
    節を <code class="directive"><a href="../mod/core.html#location">&lt;Location&gt;</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><pre class="prettyprint lang-config">DavLockDB /usr/local/apache2/var/DavLock

&lt;Directory /usr/local/apache2/htdocs/foo&gt;
    Require all granted
    Dav On

    AuthType Basic
    AuthName DAV
    AuthUserFile user.passwd

    &lt;LimitExcept GET POST OPTIONS&gt;
        Require user admin
    &lt;/LimitExcept&gt;
&lt;/Directory&gt;</pre>
</div>

</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/mod_unixd.html#user">User</a></code><code class="directive"><a href="../mod/mod_unixd.html#group">Group</a></code> で書き込み可能である必要があります。
    新しく作成されるファイルもこの <code class="directive"><a href="../mod/mod_unixd.html#user">User</a></code>
<code class="directive"><a href="../mod/mod_unixd.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>

<pre class="prettyprint lang-config">Alias /phparea /home/gstein/php_files
Alias /php-source /home/gstein/php_files
&lt;Location /php-source&gt;
    Dav On
    ForceType text/plain
&lt;/Location&gt;</pre>


    <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>

    <pre class="prettyprint lang-config">&lt;Location /foo&gt;
    Dav On
&lt;/Location&gt;</pre>


    <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><pre class="prettyprint lang-config">&lt;Location /MSWord&gt;
    DavMinTimeout 600
&lt;/Location&gt;</pre>
</div>

</div>
</div>
<div class="bottomlang">
<p><span>翻訳済み言語: </span><a href="../en/mod/mod_dav.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../fr/mod/mod_dav.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
<a href="../ja/mod/mod_dav.html" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/mod/mod_dav.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</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>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
var comments_identifier = 'http://httpd.apache.org/docs/2.4/mod/mod_dav.html';
(function(w, d) {
    if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
        d.write('<div id="comments_thread"><\/div>');
        var s = d.createElement('script');
        s.type = 'text/javascript';
        s.async = true;
        s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
        (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
    }
    else { 
        d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
    }
})(window, document);
//--><!]]></script></div><div id="footer">
<p class="apache">Copyright 2017 The Apache Software Foundation.<br />この文書は <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="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[//><!--
if (typeof(prettyPrint) !== 'undefined') {
    prettyPrint();
}
//--><!]]></script>
</body></html>