blob: 92823e4ee60e0e2ab84d4a67ccfb28525b9b5a8e [file] [log] [blame]
<?xml version="1.0" encoding="EUC-KR" ?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.ko.xsl"?>
<!-- English Revision: 1.11 -->
<!--
Copyright 2003-2004 The Apache Software Foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<modulesynopsis metafile="mod_dav.xml.meta">
<name>mod_dav</name>
<description>Distributed Authoring and Versioning
(<a href="http://www.webdav.org/">WebDAV</a>) ±â´É</description>
<status>Extension</status>
<sourcefile>mod_dav.c</sourcefile>
<identifier>dav_module</identifier>
<summary>
<p>ÀÌ ¸ðµâÀº ¾ÆÆÄÄ¡¿¡ <a href="http://www.webdav.org">WebDAV</a>
('Web-based Distributed Authoring and Versioning') class 1°ú
class 2 ±â´ÉÀ» Ãß°¡ÇÑ´Ù. WebDAV´Â ¿ø°Ý À¥¼­¹öÀÇ ÀÚ¿ø°ú
ÄÝ·º¼Ç(collection)À» <transnote>ÄÝ·º¼ÇÀº ÆÄÀϽýºÅÛÀÇ µð·ºÅ丮¿Í
°°Àº °³³äÀÌ´Ù</transnote> ¸¸µé°í, ¿Å±â°í, º¹»çÇÏ°í, Áö¿ï
¼ö ÀÖµµ·Ï HTTP ÇÁ·ÎÅäÄÝÀ» È®ÀåÇÑ °ÍÀÌ´Ù.</p>
</summary>
<seealso><directive module="mod_dav_fs">DavLockDB</directive></seealso>
<seealso><directive module="core">LimitXMLRequestBody</directive></seealso>
<seealso><a href="http://www.webdav.org">WebDAV Á¤º¸</a></seealso>
<section id="example"><title>WebDAV »ç¿ëÇϱâ</title>
<p><module>mod_dav</module>¸¦ »ç¿ëÇÏ·Á¸é <code>httpd.conf</code>
ÆÄÀÏ¿¡ ¾Æ·¡°ú °°ÀÌ Ãß°¡ÇÑ´Ù:</p>
<example>Dav On</example>
<p>±×·¯¸é <module>mod_dav_fs</module> ¸ðµâÀÌ ±¸ÇöÇÏ´Â DAV
ÆÄÀϽýºÅÛ Á¦°øÀÚ(provider)¸¦ »ç¿ëÇÑ´Ù. ±×·¯¹Ç·Î ÀÌ ¸ðµâµµ
¼­¹ö¿¡ °°ÀÌ ÄÄÆÄÀϵÇÀְųª <directive
module="mod_so">LoadModule</directive> Áö½Ã¾î·Î ½ÇÇàÁß¿¡
Àоîµé¿©¾ß ÇÑ´Ù.</p>
<p>¶Ç, DAV Àá±Ý(lock) µ¥ÀÌÅͺ£À̽ºÀÇ À§Ä¡¸¦ <code>httpd.conf</code>
ÆÄÀÏÀÇ Àü¿ª ºÎºÐ¿¡ <directive
module="mod_dav_fs">DavLockDB</directive> Áö½Ã¾î¸¦ »ç¿ëÇÏ¿©
ÁöÁ¤ÇØ¾ß ÇÑ´Ù:</p>
<example>
DavLockDB /usr/local/apache2/var/DavLock
</example>
<p>¾ÆÆÄÄ¡¸¦ ½ÇÇàÇÏ´Â <directive
module="mpm_common">User</directive>¿Í <directive
module="mpm_common" >Group</directive>Àº Àá±Ý µ¥ÀÌÅͺ£À̽º°¡
ÀÖ´Â µð·ºÅ丮¿¡ ¾²±â ±ÇÇÑÀ» °¡Á®¾ß ÇÑ´Ù.</p>
<p>DAV¸¦ »ç¿ëÇÏ´Â À§Ä¡¿¡ Á¢±ÙÀ» Á¦ÇÑÇϱâÀ§ÇØ <directive
module="core" type="section">Location</directive> Áö½Ã¾î
¾È¿¡ <directive module="core" type="section">Limit</directive>
Áö½Ã¾î¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù. DAV Ŭ¶óÀ̾ðÆ®°¡ ÇѹøÀÇ ¿äû¿¡
º¸³¾ ¼ö ÀÖ´Â ÃÖ´ë ¹ÙÀÌÆ®¼ö¸¦ Á¦ÇÑÇÏ·Á¸é <directive
module="core">LimitXMLRequestBody</directive> Áö½Ã¾î¸¦ »ç¿ëÇÑ´Ù.
"ÀϹÝÀûÀÎ" <directive module="core">LimitRequestBody</directive>
Áö½Ã¾î´Â DAV ¿äû°ú °ü°è¾ø´Ù.</p>
<example><title>Àüü ¿¹Á¦</title>
DavLockDB /usr/local/apache2/var/DavLock<br />
<br />
&lt;Location /foo&gt;<br />
<indent>
Dav On<br />
<br />
AuthType Basic<br />
AuthName DAV<br />
AuthUserFile user.passwd<br />
<br />
&lt;LimitExcept GET OPTIONS&gt;<br />
<indent>
require user admin<br />
</indent>
&lt;/LimitExcept&gt;<br />
</indent>
&lt;/Location&gt;<br />
</example>
<p><module>mod_dav</module>´Â Greg SteinÀÌ ¸¸µç <a
href="http://www.webdav.org/mod_dav/">Apache 1.3¿ë mod_dav</a>¸¦
±â¹ÝÀ¸·Î ¸¸µé¾ú´Ù. ¸ðµâ¿¡ ´ëÇÑ ´õ ÀÚ¼¼ÇÑ Á¤º¸´Â ±× »çÀÌÆ®¸¦
Âü°íÇ϶ó.</p>
</section>
<section id="security"><title>º¸¾È ¹®Á¦</title>
<p>DAV¸¦ »ç¿ëÇÏ¸é ¿ø°Ý Ŭ¶óÀ̾ðÆ®°¡ ¼­¹öÀÇ ÆÄÀÏÀ» Á¶ÀÛÇÒ
¼ö Àֱ⶧¹®¿¡, <module>mod_dav</module>¸¦ »ç¿ëÇϱâ Àü¿¡
¼­¹ö°¡ ¾ÈÀüÇÑÁö Ưº°È÷ °ü½ÉÀ» °¡Á®¾ß ÇÑ´Ù.</p>
<p>¼­¹ö¿¡¼­ DAV°¡ °¡´ÉÇÑ À§Ä¡´Â ÀÎÁõÀ¸·Î º¸È£ÇØ¾ß ÇÑ´Ù.
HTTP Basic Authentication´Â ÃßõÇÏÁö ¾Ê´Â´Ù. ÃÖ¼ÒÇÑ
<module>mod_auth_digest</module> ¸ðµâÀÌ Á¦°øÇÏ´Â HTTP Digest
AuthenticationÀ» »ç¿ëÇØ¾ß ÇÑ´Ù. °ÅÀÇ ¸ðµç WebDAV Ŭ¶óÀ̾ðÆ®´Â
ÀÌ ÀÎÁõ ¹æ½ÄÀ» Áö¿øÇÑ´Ù. ¾Æ´Ï¸é <a href="../ssl/">SSL</a>
¿¬°á¿¡¼­ Basic AuthenticationÀ» »ç¿ëÇÒ ¼öµµ ÀÖ´Ù.</p>
<p><module>mod_dav</module>°¡ ÆÄÀÏÀ» Á¶ÀÛÇÏ·Á¸é, ¾ÆÆÄÄ¡¸¦
½ÇÇàÇÏ´Â <directive module="mpm_common">User</directive>¿Í
<directive module="mpm_common">Group</directive>Àº ÇØ´ç
µð·ºÅ丮¿Í ÆÄÀÏ¿¡ ¾²±â ±ÇÇÑÀ» °¡Á®¾ß ÇÑ´Ù. ¶Ç, »õ·Î »ý¼ºÇÑ
ÆÄÀÏÀº <directive module="mpm_common">User</directive>¿Í
<directive module="mpm_common">Group</directive>ÀÌ ¼ÒÀ¯ÇÏ°Ô
µÈ´Ù. ±×·¡¼­ ¾Æ¹«³ª ÀÌ °èÁ¤¿¡ Á¢±ÙÇÒ ¼ö ¾øµµ·Ï Ç϶ó. DAV
ÀúÀå¼Ò´Â ¾ÆÆÄÄ¡¸¸ Á¢±ÙÇÒ ¼ö ÀÖ´Ù°í °¡Á¤ÇÑ´Ù. ¾ÆÆÄÄ¡¸¦ ÅëÇÏÁö¾Ê°í
(¿¹¸¦ µé¾î FTP³ª ÆÄÀϽýºÅÛ µµ±¸¸¦ »ç¿ëÇÏ¿©) ÆÄÀÏÀ» ¼öÁ¤ÇÔÀ»
Çã¿ëÇÏ¸é ¾ÈµÈ´Ù.</p>
<p><module>mod_dav</module>´Â ¿©·¯ ¼­ºñ½º°ÅºÎ °ø°ÝÀÇ ´ë»óÀÌ
µÉ ¼ö ÀÖ´Ù. <directive
module="core">LimitXMLRequestBody</directive> Áö½Ã¾î¸¦
»ç¿ëÇÏ¿© Å« DAV ¿äûÀ» ÀÐÀ»¶§ ¸Þ¸ð¸®·®À» Á¦ÇÑÇÒ ¼ö ÀÖ´Ù.
<directive module="mod_dav">DavDepthInfinity</directive>
Áö½Ã¾î¸¦ »ç¿ëÇÏ¿© ¸¹Àº ¸Þ¸ð¸®¸¦ ¼Ò¸ðÇϱâÀ§ÇÑ ¸Å¿ì Å« ÀúÀå¼ÒÀÇ
<code>PROPFIND</code> ¿äûÀ» ¸·À» ¼ö ÀÖ´Ù. ´Ü¼øÈ÷ Ŭ¶óÀ̾ðÆ®°¡
¿©·¯ Å« ÆÄÀϵé·Î µð½ºÅ©°ø°£À» ä¿ì´Â ¼­ºñ½º°ÅºÎ °ø°Ýµµ °¡´ÉÇÏ´Ù.
¾ÆÆÄÄ¡¿¡¼­ À̸¦ ¸·À» Á÷Á¢ÀûÀÎ ¹æ¹ýÀº ¾ø´Ù. ±×·¯¹Ç·Î ½Å·ÚÇÏÁö¾Ê´Â
»ç¿ëÀÚ¿¡°Ô DAV Á¢±ÙÀ» Çã¿ëÇÏÁö ¾Êµµ·ÏÇ϶ó.</p>
</section>
<section id="complex"><title>º¹ÀâÇÑ ¼³Á¤</title>
<p>ÀϹÝÀûÀÎ Áú¹®Áß Çϳª´Â (PHP ½ºÅ©¸³Æ®, CGI ½ºÅ©¸³Æ® µî)
µ¿ÀûÆÄÀÏ ÀÛ¾÷À» À§ÇØ <module>mod_dav</module>¸¦ »ç¿ëÇÏ´Â
¹æ¹ýÀÌ´Ù. ÀÌ´Â <code>GET</code> ¿äûÀÌ ÆÄÀÏ ³»¿ëÀ» ´Ù¿î·ÎµåÇÏÁö
¾Ê°í Ç×»ó ½ºÅ©¸³Æ®¸¦ ½ÇÇàÇϹǷΠ¾î·Æ´Ù. ÇØ°á¹æ¹ýÁß Çϳª´Â
³»¿ë¿¡ µÎ°³ÀÇ URLÀ» ´ëÀÀÇÏ´Â °ÍÀÌ´Ù. ÇÑ URLÀº ½ºÅ©¸³Æ®¸¦
½ÇÇàÇÏ°í, ´Ù¸¥ URL·Î´Â ÆÄÀÏÀ» ´Ù¿î·ÎµåÇÏ¿© DAV·Î ÀÛ¾÷ÇÒ
¼ö ÀÖ´Ù.</p>
<example>
Alias /phparea /home/gstein/php_files<br />
Alias /php-source /home/gstein/php_files<br />
&lt;Location /php-source&gt;
<indent>
DAV On<br />
ForceType text/plain<br />
</indent>
&lt;/Location&gt;
</example>
<p>ÀÌ ¼³Á¤¿¡¼­ <code>http://example.com/phparea</code>´Â
PHP ½ºÅ©¸³Æ®ÀÇ °á°ú¸¦ º¸¿©ÁÖ°í,
<code>http://example.com/php-source</code>·Î´Â DAV Ŭ¶óÀ̾ðÆ®¿¡¼­
½ºÅ©¸³Æ®¸¦ ¼öÁ¤ÇÒ ¼ö ÀÖ´Ù.</p>
</section>
<directivesynopsis>
<name>Dav</name>
<description>WebDAV HTTP ¸Þ½áµå¸¦ ½ÃÀÛÇÑ´Ù</description>
<syntax>Dav On|Off|<var>provider-name</var></syntax>
<default>Dav Off</default>
<contextlist><context>directory</context></contextlist>
<usage>
<p>ÁöÁ¤ÇÑ À§Ä¡¿¡¼­ WebDAV HTTP ¸Þ½áµå¸¦ »ç¿ëÇÏ·Á¸é
<directive>Dav</directive> Áö½Ã¾î¸¦ »ç¿ëÇÑ´Ù:</p>
<example>
&lt;Location /foo&gt;<br />
<indent>
Dav On<br />
</indent>
&lt;/Location&gt;
</example>
<p><code>On</code> °ªÀº ½ÇÁ¦·Î <module>mod_dav_fs</module>
¸ðµâÀÌ Á¦°øÇÏ´Â ±âº» Á¦°øÀÚÀÎ <code>filesystem</code>ÀÇ
º°ÄªÀÌ´Ù. ¾î¶² À§Ä¡¿¡¼­ DAV¸¦ ½ÃÀÛÇϸé ÇÏÀ§°ø°£¿¡¼­ DAV¸¦
»ç¿ë¾ÈÇϵµ·Ï ¼³Á¤ÇÒ ¼ö <em>¾øÀ½À»</em> ÁÖÀÇÇ϶ó. ¿ÏÀüÇÑ
¼³Á¤¿¹´Â <a href="#example">À§ÀÇ Àý</a>À» Âü°íÇ϶ó.</p>
<note type="warning">
¼­¹ö¸¦ ¾ÈÀüÇÏ°Ô ±¸¼ºÇÒ¶§±îÁö WebDAVÀ» »ç¿ëÇÏÁö ¸¶¶ó. ±×·¸Áö
¾ÊÀ¸¸é ´©±¸¶óµµ ¼­¹ö¸¦ ÅëÇØ ÆÄÀÏÀ» ºÐ¹èÇÒ ¼ö ÀÖ°Ô µÈ´Ù.
</note>
</usage>
</directivesynopsis>
<directivesynopsis>
<name>DavMinTimeout</name>
<description>¼­¹ö°¡ DAV ÀÚ¿ø¿¡ ´ëÇØ À¯ÁöÇÒ Àá±ÝÀÇ Ãּҽð£</description>
<syntax>DavMinTimeout <var>seconds</var></syntax>
<default>DavMinTimeout 0</default>
<contextlist><context>server config</context><context>virtual host</context>
<context>directory</context></contextlist>
<usage>
<p>Ŭ¶óÀ̾ðÆ®°¡ DAV ÀÚ¿ø¿¡ Àá±Ý(lock)À» ¿äûÇÒ¶§ ¼­¹ö°¡
¾Ë¾Æ¼­ Àá±ÝÀ» Á¦°ÅÇÒ ¼ö ÀÖ´Â ½Ã°£À» °°ÀÌ ¾Ë·ÁÁÙ ¼ö ÀÖ´Ù. ÀÌ °ªÀº
´ÜÁö ¿äûÀÏ»ÓÀ̸ç, ¼­¹ö´Â Ŭ¶óÀ̾ðÆ®°¡ ¿äûÇÑ °ªÀ» ¹«½ÃÇÏ°í
Ŭ¶óÀ̾ðÆ®¿¡°Ô ÀÓÀÇÀÇ ½Ã°£À» ¾Ë·ÁÁÙ ¼ö ÀÖ´Ù.</p>
<p><directive>DavMinTimeout</directive> Áö½Ã¾î´Â Ŭ¶óÀ̾ðÆ®¿¡°Ô
º¸³¾ ÃÖ¼Ò Àá±Ý ½Ã°£À» (ÃÊ´ÜÀ§) ÁöÁ¤ÇÑ´Ù. Microsoft Web Folders´Â
±âº»°ªÀ¸·Î 120 Ãʸ¦ »ç¿ëÇÑ´Ù. <directive>DavMinTimeout</directive>¿¡
(600 ÃÊ¿Í °°ÀÌ) ´õ ³ôÀº °ªÀ» »ç¿ëÇϸé Ŭ¶óÀ̾ðÆ®°¡ ³×Æ®¿÷
Áö¿¬¶§¹®¿¡ Àá±ÝÀ» ÀҰԵǴ °æ¿ì¸¦ ÁÙÀÏ ¼ö ÀÖ´Ù.</p>
<example><title>¿¹Á¦</title>
&lt;Location /MSWord&gt;<br />
<indent>
DavMinTimeout 600<br />
</indent>
&lt;/Location&gt;
</example>
</usage>
</directivesynopsis>
<directivesynopsis>
<name>DavDepthInfinity</name>
<description>PROPFINDÀÇ Depth: Infinity ¿äûÀ» Çã°¡ÇÑ´Ù</description>
<syntax>DavDepthInfinity on|off</syntax>
<default>DavDepthInfinity off</default>
<contextlist><context>server config</context><context>virtual host</context>
<context>directory</context></contextlist>
<usage>
<p><directive>DavDepthInfinity</directive> Áö½Ã¾î¸¦ »ç¿ëÇϸé
'Depth: Infinity' Çì´õ¸¦ °¡Áø <code>PROPFIND</code> ¿äûÀ»
Çã°¡ÇÑ´Ù. ÀÌ·± ¿äûÀ» »ç¿ëÇÏ¿© ¼­ºñ½º°ÅºÎ °ø°ÝÀÌ °¡´ÉÇϱâ
¶§¹®¿¡ ±âº»ÀûÀ¸·Î Çã¿ëÇÏÁö ¾Ê´Â´Ù.</p>
</usage>
</directivesynopsis>
</modulesynopsis>