Apache HTTP Server Version 2.5
¼³¸í: | 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 ÇÁ·ÎÅäÄÝÀ» È®ÀåÇÑ °ÍÀÌ´Ù.
mod_dav
¸¦ »ç¿ëÇÏ·Á¸é httpd.conf
ÆÄÀÏ¿¡ ¾Æ·¡°ú °°ÀÌ Ãß°¡ÇÑ´Ù:
Dav On
±×·¯¸é mod_dav_fs
¸ðµâÀÌ ±¸ÇöÇÏ´Â DAV
ÆÄÀϽýºÅÛ Á¦°øÀÚ(provider)¸¦ »ç¿ëÇÑ´Ù. ±×·¯¹Ç·Î ÀÌ ¸ðµâµµ
¼¹ö¿¡ °°ÀÌ ÄÄÆÄÀϵÇÀְųª LoadModule
Áö½Ã¾î·Î ½ÇÇàÁß¿¡
Àоîµé¿©¾ß ÇÑ´Ù.
¶Ç, DAV Àá±Ý(lock) µ¥ÀÌÅͺ£À̽ºÀÇ À§Ä¡¸¦ httpd.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¸¦
±â¹ÝÀ¸·Î ¸¸µé¾ú´Ù. ¸ðµâ¿¡ ´ëÇÑ ´õ ÀÚ¼¼ÇÑ Á¤º¸´Â ±× »çÀÌÆ®¸¦
Âü°íÇ϶ó.
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 Á¢±ÙÀ» Çã¿ëÇÏÁö ¾Êµµ·ÏÇ϶ó.
ÀϹÝÀûÀÎ Áú¹®Áß Çϳª´Â (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>
ÀÌ ¼³Á¤¿¡¼ http://example.com/phparea
´Â
PHP ½ºÅ©¸³Æ®ÀÇ °á°ú¸¦ º¸¿©ÁÖ°í,
http://example.com/php-source
·Î´Â 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¸¦
»ç¿ë¾ÈÇϵµ·Ï ¼³Á¤ÇÒ ¼ö ¾øÀ½À» ÁÖÀÇÇ϶ó. ¿ÏÀüÇÑ
¼³Á¤¿¹´Â À§ÀÇ ÀýÀ» Âü°íÇ϶ó.
¼³¸í: | PROPFINDÀÇ Depth: Infinity ¿äûÀ» Çã°¡ÇÑ´Ù |
---|---|
¹®¹ý: | DavDepthInfinity on|off |
±âº»°ª: | DavDepthInfinity off |
»ç¿ëÀå¼Ò: | ÁÖ¼¹ö¼³Á¤, °¡»óÈ£½ºÆ®, directory |
»óÅÂ: | Extension |
¸ðµâ: | mod_dav |
DavDepthInfinity
Áö½Ã¾î¸¦ »ç¿ëÇϸé
'Depth: Infinity' Çì´õ¸¦ °¡Áø PROPFIND
¿äûÀ»
Çã°¡ÇÑ´Ù. ÀÌ·± ¿äûÀ» »ç¿ëÇÏ¿© ¼ºñ½º°ÅºÎ °ø°ÝÀÌ °¡´ÉÇϱâ
¶§¹®¿¡ ±âº»ÀûÀ¸·Î Çã¿ëÇÏÁö ¾Ê´Â´Ù.
¼³¸í: | ¼¹ö°¡ DAV ÀÚ¿ø¿¡ ´ëÇØ À¯ÁöÇÒ Àá±ÝÀÇ Ãּҽð£ |
---|---|
¹®¹ý: | DavMinTimeout seconds |
±âº»°ª: | DavMinTimeout 0 |
»ç¿ëÀå¼Ò: | ÁÖ¼¹ö¼³Á¤, °¡»óÈ£½ºÆ®, directory |
»óÅÂ: | Extension |
¸ðµâ: | mod_dav |
Ŭ¶óÀ̾ðÆ®°¡ DAV ÀÚ¿ø¿¡ Àá±Ý(lock)À» ¿äûÇÒ¶§ ¼¹ö°¡ ¾Ë¾Æ¼ Àá±ÝÀ» Á¦°ÅÇÒ ¼ö ÀÖ´Â ½Ã°£À» °°ÀÌ ¾Ë·ÁÁÙ ¼ö ÀÖ´Ù. ÀÌ °ªÀº ´ÜÁö ¿äûÀÏ»ÓÀ̸ç, ¼¹ö´Â Ŭ¶óÀ̾ðÆ®°¡ ¿äûÇÑ °ªÀ» ¹«½ÃÇÏ°í Ŭ¶óÀ̾ðÆ®¿¡°Ô ÀÓÀÇÀÇ ½Ã°£À» ¾Ë·ÁÁÙ ¼ö ÀÖ´Ù.
DavMinTimeout
Áö½Ã¾î´Â Ŭ¶óÀ̾ðÆ®¿¡°Ô
º¸³¾ ÃÖ¼Ò Àá±Ý ½Ã°£À» (ÃÊ´ÜÀ§) ÁöÁ¤ÇÑ´Ù. Microsoft Web Folders´Â
±âº»°ªÀ¸·Î 120 Ãʸ¦ »ç¿ëÇÑ´Ù. DavMinTimeout
¿¡
(600 ÃÊ¿Í °°ÀÌ) ´õ ³ôÀº °ªÀ» »ç¿ëÇϸé Ŭ¶óÀ̾ðÆ®°¡ ³×Æ®¿÷
Áö¿¬¶§¹®¿¡ Àá±ÝÀ» ÀҰԵǴ °æ¿ì¸¦ ÁÙÀÏ ¼ö ÀÖ´Ù.
<Location /MSWord>
DavMinTimeout 600
</Location>