<-
Apache > HTTP Server > Documentation > Version 2.4 > ¸ðµâ

¾ÆÆÄÄ¡ ¸ðµâ mod_dav

°¡´ÉÇÑ ¾ð¾î:  en  |  fr  |  ja  |  ko 

ÀÌ ¹®¼­´Â ÃÖ½ÅÆÇ ¹ø¿ªÀÌ ¾Æ´Õ´Ï´Ù. ÃÖ±Ù¿¡ º¯°æµÈ ³»¿ëÀº ¿µ¾î ¹®¼­¸¦ Âü°íÇϼ¼¿ä.
¼³¸í:Distributed Authoring and Versioning (WebDAV) ±â´É
»óÅÂ:Extension
¸ðµâ¸í:dav_module
¼Ò½ºÆÄÀÏ:mod_dav.c

¿ä¾à

ÀÌ ¸ðµâÀº ¾ÆÆÄÄ¡¿¡ WebDAV ('Web-based Distributed Authoring and Versioning') class 1°ú class 2 ±â´ÉÀ» Ãß°¡ÇÑ´Ù. WebDAV´Â ¿ø°Ý À¥¼­¹öÀÇ ÀÚ¿ø°ú ÄÝ·º¼Ç(collection)À» (¿ªÁÖ; ÄÝ·º¼ÇÀº ÆÄÀϽýºÅÛÀÇ µð·ºÅ丮¿Í °°Àº °³³äÀÌ´Ù) ¸¸µé°í, ¿Å±â°í, º¹»çÇÏ°í, Áö¿ï ¼ö ÀÖµµ·Ï HTTP ÇÁ·ÎÅäÄÝÀ» È®ÀåÇÑ °ÍÀÌ´Ù.

ÁÖÁ¦

Áö½Ã¾îµé

Bugfix checklist

Âü°í

top

WebDAV »ç¿ëÇϱâ

mod_dav¸¦ »ç¿ëÇÏ·Á¸é apache2.conf ÆÄÀÏ¿¡ ¾Æ·¡°ú °°ÀÌ Ãß°¡ÇÑ´Ù:

Dav On

±×·¯¸é mod_dav_fs ¸ðµâÀÌ ±¸ÇöÇÏ´Â DAV ÆÄÀϽýºÅÛ Á¦°øÀÚ(provider)¸¦ »ç¿ëÇÑ´Ù. ±×·¯¹Ç·Î ÀÌ ¸ðµâµµ ¼­¹ö¿¡ °°ÀÌ ÄÄÆÄÀϵÇÀְųª LoadModule Áö½Ã¾î·Î ½ÇÇàÁß¿¡ Àоîµé¿©¾ß ÇÑ´Ù.

¶Ç, DAV Àá±Ý(lock) µ¥ÀÌÅͺ£À̽ºÀÇ À§Ä¡¸¦ apache2.conf ÆÄÀÏÀÇ Àü¿ª ºÎºÐ¿¡ DavLockDB Áö½Ã¾î¸¦ »ç¿ëÇÏ¿© ÁöÁ¤ÇØ¾ß ÇÑ´Ù:

DavLockDB /usr/local/apache2/var/DavLock

¾ÆÆÄÄ¡¸¦ ½ÇÇàÇÏ´Â User¿Í GroupÀº Àá±Ý µ¥ÀÌÅͺ£À̽º°¡ ÀÖ´Â µð·ºÅ丮¿¡ ¾²±â ±ÇÇÑÀ» °¡Á®¾ß ÇÑ´Ù.

DAV¸¦ »ç¿ëÇÏ´Â À§Ä¡¿¡ Á¢±ÙÀ» Á¦ÇÑÇϱâÀ§ÇØ <Location> Áö½Ã¾î ¾È¿¡ <Limit> Áö½Ã¾î¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù. DAV Ŭ¶óÀ̾ðÆ®°¡ ÇѹøÀÇ ¿äû¿¡ º¸³¾ ¼ö ÀÖ´Â ÃÖ´ë ¹ÙÀÌÆ®¼ö¸¦ Á¦ÇÑÇÏ·Á¸é LimitXMLRequestBody Áö½Ã¾î¸¦ »ç¿ëÇÑ´Ù. "ÀϹÝÀûÀÎ" LimitRequestBody Áö½Ã¾î´Â DAV ¿äû°ú °ü°è¾ø´Ù.

Àüü ¿¹Á¦

DavLockDB /usr/local/apache2/var/DavLock

<Location /foo>
Dav On

AuthType Basic
AuthName DAV
AuthUserFile user.passwd

<LimitExcept GET OPTIONS>
require user admin
</LimitExcept>
</Location>

mod_dav´Â Greg SteinÀÌ ¸¸µç Apache 1.3¿ë mod_dav¸¦ ±â¹ÝÀ¸·Î ¸¸µé¾ú´Ù. ¸ðµâ¿¡ ´ëÇÑ ´õ ÀÚ¼¼ÇÑ Á¤º¸´Â ±× »çÀÌÆ®¸¦ Âü°íÇ϶ó.

top

º¸¾È ¹®Á¦

DAV¸¦ »ç¿ëÇÏ¸é ¿ø°Ý Ŭ¶óÀ̾ðÆ®°¡ ¼­¹öÀÇ ÆÄÀÏÀ» Á¶ÀÛÇÒ ¼ö Àֱ⶧¹®¿¡, mod_dav¸¦ »ç¿ëÇϱâ Àü¿¡ ¼­¹ö°¡ ¾ÈÀüÇÑÁö Ưº°È÷ °ü½ÉÀ» °¡Á®¾ß ÇÑ´Ù.

¼­¹ö¿¡¼­ DAV°¡ °¡´ÉÇÑ À§Ä¡´Â ÀÎÁõÀ¸·Î º¸È£ÇØ¾ß ÇÑ´Ù. HTTP Basic Authentication´Â ÃßõÇÏÁö ¾Ê´Â´Ù. ÃÖ¼ÒÇÑ mod_auth_digest ¸ðµâÀÌ Á¦°øÇÏ´Â HTTP Digest AuthenticationÀ» »ç¿ëÇØ¾ß ÇÑ´Ù. °ÅÀÇ ¸ðµç WebDAV Ŭ¶óÀ̾ðÆ®´Â ÀÌ ÀÎÁõ ¹æ½ÄÀ» Áö¿øÇÑ´Ù. ¾Æ´Ï¸é SSL ¿¬°á¿¡¼­ Basic AuthenticationÀ» »ç¿ëÇÒ ¼öµµ ÀÖ´Ù.

mod_dav°¡ ÆÄÀÏÀ» Á¶ÀÛÇÏ·Á¸é, ¾ÆÆÄÄ¡¸¦ ½ÇÇàÇÏ´Â User¿Í GroupÀº ÇØ´ç µð·ºÅ丮¿Í ÆÄÀÏ¿¡ ¾²±â ±ÇÇÑÀ» °¡Á®¾ß ÇÑ´Ù. ¶Ç, »õ·Î »ý¼ºÇÑ ÆÄÀÏÀº User¿Í GroupÀÌ ¼ÒÀ¯ÇÏ°Ô µÈ´Ù. ±×·¡¼­ ¾Æ¹«³ª ÀÌ °èÁ¤¿¡ Á¢±ÙÇÒ ¼ö ¾øµµ·Ï Ç϶ó. DAV ÀúÀå¼Ò´Â ¾ÆÆÄÄ¡¸¸ Á¢±ÙÇÒ ¼ö ÀÖ´Ù°í °¡Á¤ÇÑ´Ù. ¾ÆÆÄÄ¡¸¦ ÅëÇÏÁö¾Ê°í (¿¹¸¦ µé¾î FTP³ª ÆÄÀϽýºÅÛ µµ±¸¸¦ »ç¿ëÇÏ¿©) ÆÄÀÏÀ» ¼öÁ¤ÇÔÀ» Çã¿ëÇÏ¸é ¾ÈµÈ´Ù.

mod_dav´Â ¿©·¯ ¼­ºñ½º°ÅºÎ °ø°ÝÀÇ ´ë»óÀÌ µÉ ¼ö ÀÖ´Ù. LimitXMLRequestBody Áö½Ã¾î¸¦ »ç¿ëÇÏ¿© Å« DAV ¿äûÀ» ÀÐÀ»¶§ ¸Þ¸ð¸®·®À» Á¦ÇÑÇÒ ¼ö ÀÖ´Ù. DavDepthInfinity Áö½Ã¾î¸¦ »ç¿ëÇÏ¿© ¸¹Àº ¸Þ¸ð¸®¸¦ ¼Ò¸ðÇϱâÀ§ÇÑ ¸Å¿ì Å« ÀúÀå¼ÒÀÇ PROPFIND ¿äûÀ» ¸·À» ¼ö ÀÖ´Ù. ´Ü¼øÈ÷ Ŭ¶óÀ̾ðÆ®°¡ ¿©·¯ Å« ÆÄÀϵé·Î µð½ºÅ©°ø°£À» ä¿ì´Â ¼­ºñ½º°ÅºÎ °ø°Ýµµ °¡´ÉÇÏ´Ù. ¾ÆÆÄÄ¡¿¡¼­ À̸¦ ¸·À» Á÷Á¢ÀûÀÎ ¹æ¹ýÀº ¾ø´Ù. ±×·¯¹Ç·Î ½Å·ÚÇÏÁö¾Ê´Â »ç¿ëÀÚ¿¡°Ô DAV Á¢±ÙÀ» Çã¿ëÇÏÁö ¾Êµµ·ÏÇ϶ó.

top

º¹ÀâÇÑ ¼³Á¤

ÀϹÝÀûÀÎ Áú¹®Áß Çϳª´Â (PHP ½ºÅ©¸³Æ®, CGI ½ºÅ©¸³Æ® µî) µ¿ÀûÆÄÀÏ ÀÛ¾÷À» À§ÇØ mod_dav¸¦ »ç¿ëÇÏ´Â ¹æ¹ýÀÌ´Ù. ÀÌ´Â GET ¿äûÀÌ ÆÄÀÏ ³»¿ëÀ» ´Ù¿î·ÎµåÇÏÁö ¾Ê°í Ç×»ó ½ºÅ©¸³Æ®¸¦ ½ÇÇàÇϹǷΠ¾î·Æ´Ù. ÇØ°á¹æ¹ýÁß Çϳª´Â ³»¿ë¿¡ µÎ°³ÀÇ URLÀ» ´ëÀÀÇÏ´Â °ÍÀÌ´Ù. ÇÑ URLÀº ½ºÅ©¸³Æ®¸¦ ½ÇÇàÇÏ°í, ´Ù¸¥ URL·Î´Â ÆÄÀÏÀ» ´Ù¿î·ÎµåÇÏ¿© DAV·Î ÀÛ¾÷ÇÒ ¼ö ÀÖ´Ù.

Alias /phparea /home/gstein/php_files
Alias /php-source /home/gstein/php_files
<Location /php-source> DAV On
ForceType text/plain
</Location>

ÀÌ ¼³Á¤¿¡¼­ https://example.com/phparea´Â PHP ½ºÅ©¸³Æ®ÀÇ °á°ú¸¦ º¸¿©ÁÖ°í, https://example.com/php-source·Î´Â DAV Ŭ¶óÀ̾ðÆ®¿¡¼­ ½ºÅ©¸³Æ®¸¦ ¼öÁ¤ÇÒ ¼ö ÀÖ´Ù.

top

Dav Áö½Ã¾î

¼³¸í:WebDAV HTTP ¸Þ½áµå¸¦ ½ÃÀÛÇÑ´Ù
¹®¹ý:Dav On|Off|provider-name
±âº»°ª:Dav Off
»ç¿ëÀå¼Ò:directory
»óÅÂ:Extension
¸ðµâ:mod_dav

ÁöÁ¤ÇÑ À§Ä¡¿¡¼­ WebDAV HTTP ¸Þ½áµå¸¦ »ç¿ëÇÏ·Á¸é Dav Áö½Ã¾î¸¦ »ç¿ëÇÑ´Ù:

<Location /foo>
Dav On
</Location>

On °ªÀº ½ÇÁ¦·Î mod_dav_fs ¸ðµâÀÌ Á¦°øÇÏ´Â ±âº» Á¦°øÀÚÀÎ filesystemÀÇ º°ÄªÀÌ´Ù. ¾î¶² À§Ä¡¿¡¼­ DAV¸¦ ½ÃÀÛÇϸé ÇÏÀ§°ø°£¿¡¼­ DAV¸¦ »ç¿ë¾ÈÇϵµ·Ï ¼³Á¤ÇÒ ¼ö ¾øÀ½À» ÁÖÀÇÇ϶ó. ¿ÏÀüÇÑ ¼³Á¤¿¹´Â À§ÀÇ ÀýÀ» Âü°íÇ϶ó.

¼­¹ö¸¦ ¾ÈÀüÇÏ°Ô ±¸¼ºÇÒ¶§±îÁö WebDAVÀ» »ç¿ëÇÏÁö ¸¶¶ó. ±×·¸Áö ¾ÊÀ¸¸é ´©±¸¶óµµ ¼­¹ö¸¦ ÅëÇØ ÆÄÀÏÀ» ºÐ¹èÇÒ ¼ö ÀÖ°Ô µÈ´Ù.
top

DavDepthInfinity Áö½Ã¾î

¼³¸í:PROPFINDÀÇ Depth: Infinity ¿äûÀ» Çã°¡ÇÑ´Ù
¹®¹ý:DavDepthInfinity on|off
±âº»°ª:DavDepthInfinity off
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®, directory
»óÅÂ:Extension
¸ðµâ:mod_dav

DavDepthInfinity Áö½Ã¾î¸¦ »ç¿ëÇϸé 'Depth: Infinity' Çì´õ¸¦ °¡Áø PROPFIND ¿äûÀ» Çã°¡ÇÑ´Ù. ÀÌ·± ¿äûÀ» »ç¿ëÇÏ¿© ¼­ºñ½º°ÅºÎ °ø°ÝÀÌ °¡´ÉÇϱ⠶§¹®¿¡ ±âº»ÀûÀ¸·Î Çã¿ëÇÏÁö ¾Ê´Â´Ù.

top

DavMinTimeout Áö½Ã¾î

¼³¸í:¼­¹ö°¡ DAV ÀÚ¿ø¿¡ ´ëÇØ À¯ÁöÇÒ Àá±ÝÀÇ Ãּҽð£
¹®¹ý:DavMinTimeout seconds
±âº»°ª:DavMinTimeout 0
»ç¿ëÀå¼Ò:ÁÖ¼­¹ö¼³Á¤, °¡»óÈ£½ºÆ®, directory
»óÅÂ:Extension
¸ðµâ:mod_dav

Ŭ¶óÀ̾ðÆ®°¡ DAV ÀÚ¿ø¿¡ Àá±Ý(lock)À» ¿äûÇÒ¶§ ¼­¹ö°¡ ¾Ë¾Æ¼­ Àá±ÝÀ» Á¦°ÅÇÒ ¼ö ÀÖ´Â ½Ã°£À» °°ÀÌ ¾Ë·ÁÁÙ ¼ö ÀÖ´Ù. ÀÌ °ªÀº ´ÜÁö ¿äûÀÏ»ÓÀ̸ç, ¼­¹ö´Â Ŭ¶óÀ̾ðÆ®°¡ ¿äûÇÑ °ªÀ» ¹«½ÃÇÏ°í Ŭ¶óÀ̾ðÆ®¿¡°Ô ÀÓÀÇÀÇ ½Ã°£À» ¾Ë·ÁÁÙ ¼ö ÀÖ´Ù.

DavMinTimeout Áö½Ã¾î´Â Ŭ¶óÀ̾ðÆ®¿¡°Ô º¸³¾ ÃÖ¼Ò Àá±Ý ½Ã°£À» (ÃÊ´ÜÀ§) ÁöÁ¤ÇÑ´Ù. Microsoft Web Folders´Â ±âº»°ªÀ¸·Î 120 Ãʸ¦ »ç¿ëÇÑ´Ù. DavMinTimeout¿¡ (600 ÃÊ¿Í °°ÀÌ) ´õ ³ôÀº °ªÀ» »ç¿ëÇϸé Ŭ¶óÀ̾ðÆ®°¡ ³×Æ®¿÷ Áö¿¬¶§¹®¿¡ Àá±ÝÀ» ÀҰԵǴ °æ¿ì¸¦ ÁÙÀÏ ¼ö ÀÖ´Ù.

¿¹Á¦

<Location /MSWord>
DavMinTimeout 600
</Location>

°¡´ÉÇÑ ¾ð¾î:  en  |  fr  |  ja  |  ko 

top

Comments

Notice:
This is not a Q&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 mailing lists.