Apache HTTP サームãƒãƒ¼ã‚¸ãƒ§ãƒ³ 2.2
説明: | 分散オーサリングã¨ãƒãƒ¼ã‚¸ãƒ§ãƒ³ç®¡ç† (WebDAV) 機能 |
---|---|
ステータス: | Extension |
モジュールè˜åˆ¥å: | dav_module |
ソースファイル: | mod_dav.c |
ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¯ã‚¯ãƒ©ã‚¹ 1 ã¨ã‚¯ãƒ©ã‚¹ 2 ã® WebDAV ('ウェブベースã®åˆ†æ•£ã‚ªãƒ¼ã‚µãƒªãƒ³ã‚°ã¨ãƒãƒ¼ã‚¸ãƒ§ãƒ³ç®¡ç†') 機能を Apache ã«æä¾›ã—ã¾ã™ã€‚ ã“ã® HTTP プãƒãƒˆã‚³ãƒ«ã®æ‹¡å¼µã«ã‚ˆã‚Šã€ãƒªãƒ¢ãƒ¼ãƒˆã®ã‚¦ã‚§ãƒ–サーãƒä¸Šã«ã‚ã‚‹ リソースやコレクションを 作æˆã€ç§»å‹•ã€è¤‡è£½ã€å‰Šé™¤ã§ãるよã†ã«ãªã‚Šã¾ã™ã€‚
mod_dav を有効ã«ã™ã‚‹ã«ã¯ã€httpd.conf
ファイルä¸ã®ã‚³ãƒ³ãƒ†ãƒŠã«æ¬¡ã‚’åŠ ãˆã¾ã™:
Dav On
ã“れ㯠DAV ファイルシステムプãƒãƒã‚¤ãƒ€ã‚’有効ã«ã—ã¾ã™ã€‚DAV
ファイルシステムプãƒãƒã‚¤ãƒ€ã¯ mod_dav_fs
モジュールã§å®Ÿè£…ã•れã¦ã„ã¾ã™ã€‚ã§ã™ã‹ã‚‰ã€ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¯ã‚³ãƒ³ãƒ‘イル時ã«
サーãƒã«çµ„ã¿è¾¼ã¾ã‚Œã¦ã„ã‚‹ã‹ã€ã‚ã‚‹ã„ã¯
LoadModule
を使用ã—ã¦å®Ÿè¡Œæ™‚ã«ãƒãƒ¼ãƒ‰ã•れã¦ã„ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚
ã•らã«ã€DAV ãƒãƒƒã‚¯ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã®å ´æ‰€ãŒ
DavLockDB
ディレクティブを使ã£ã¦
httd.conf
ファイルã®ã‚°ãƒãƒ¼ãƒãƒ«ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã«æŒ‡å®šã•れã¦ã„ã‚‹
å¿…è¦ãŒã‚りã¾ã™ã€‚
DavLockDB /usr/local/apache2/var/DavLock
ãƒãƒƒã‚¯ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ãƒ•ァイルã®ã‚るディレクトリ㯠Apache ãŒå®Ÿè¡Œã•れã¦ã„ã‚‹
User
㨠Group
ã«æ›¸ãè¾¼ã¿æ¨©é™ãŒã‚ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚
<Limit>
節を <Location>
ディレクティブ内部ã«è¿½åŠ ã—ã¦ã€DAV ãŒæœ‰åйãªå ´æ‰€ã¸ã®
アクセスを制é™ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚DAV クライアントãŒ
一度ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã§é€ä¿¡ã§ãる最大ãƒã‚¤ãƒˆæ•°ã‚’指定ã—ãŸã„ã¨ãã¯ã€
LimitXMLRequestBody
ディレクティブを使用ã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚「通常ã®ã€
LimitRequestBody
ディレクティブ㯠DAV リクエストã«å¯¾ã—ã¦ã¯åŠ¹åŠ›ã‚’æŒã¡ã¾ã›ã‚“。
DavLockDB /usr/local/apache2/var/DavLock
<Location /foo>
Order Allow,Deny
Allow from all
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 基本èªè¨¼ã®ä½¿ç”¨ã¯æŽ¨å¥¨ã§ãã¾ã›ã‚“。少ãªãã¨ã‚‚
mod_auth_digest
ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã§æä¾›ã•れる HTTP
ダイジェストèªè¨¼ã‚’用ã„ã‚‹ã¹ãã§ã™ã€‚WebDAV クライアントã®ã»ã¨ã‚“ã©ã¯
ã“ã®èªè¨¼æ–¹æ³•ã«å¯¾å¿œã—ã¦ã„ã¾ã™ã€‚代ã‚りã«ã€SSL ãŒ
有効ãªã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ã‚’通ã—ãŸåŸºæœ¬èªè¨¼ã‚’使ã†ã“ã¨ã‚‚ã§ãã¾ã™ã€‚
mod_dav
ãŒãƒ•ァイルをæ“作ã§ãるよã†ã«ã™ã‚‹ãŸã‚ã«ã¯ã€
管ç†ä¸‹ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã¨ãƒ•ァイルã¨ã« Apache ãŒå®Ÿè¡Œã•れã¦ã„ã‚‹ User
㨠Group
ã§æ›¸ãè¾¼ã¿å¯èƒ½ã§ã‚ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚
æ–°ã—ã作æˆã•れるファイルもã“ã® User
㨠Group
ã«æ‰€æœ‰ã•れる
ã“ã¨ã«ãªã‚Šã¾ã™ã€‚ã“ã®ç†ç”±ã‹ã‚‰ã€ãã®ã‚¢ã‚«ã‚¦ãƒ³ãƒˆã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ã‚’制御ã™ã‚‹ã“ã¨ã¯
é‡è¦ã§ã™ã€‚DAV リãƒã‚¸ãƒˆãƒªã¯ Apache 専用ã®ã‚‚ã®ã ã¨ã¿ãªã•れã¦ã„ã¾ã™ã€‚
Apache ä»¥å¤–ã®æ–¹æ³•ã§ãƒ•ァイルを修æ£ã™ã‚‹ã“㨠(例ãˆã° FTP やファイルシステãƒ
用ã®ãƒ„ールãªã©ã‚’使ã£ã¦) ã¯è¨±å¯ã•れã¦ã„ã¾ã›ã‚“。
mod_dav
ã¯ã„ã‚ã„ã‚ãªç¨®é¡žã®ã‚µãƒ¼ãƒ“ã‚¹æ‹’å¦æ”»æ’ƒã«ã•らã•れる
ã‹ã‚‚ã—れã¾ã›ã‚“。LimitXMLRequestBody
ディレクティブを使ã†ã¨
大ã㪠DAV リクエストを解æžã™ã‚‹ã¨ãã«æ¶ˆè²»ã•れるメモリã®é‡ã‚’制é™ã™ã‚‹ã“ã¨ãŒ
ã§ãã¾ã™ã€‚DavDepthInfinity
ディレクティブã¯
PROPFIND
リクエストãŒå·¨å¤§ãƒªãƒã‚¸ãƒˆãƒªã§å¤§é‡ã®ãƒ¡ãƒ¢ãƒªã‚’消費ã™ã‚‹ã®ã‚’
防ãã“ã¨ãŒã§ãã¾ã™ã€‚ä»–ã®ã‚µãƒ¼ãƒ“ã‚¹æ‹’å¦æ”»æ’ƒã«ã¯å˜ç´”ã«ä½¿ç”¨å¯èƒ½ãªãƒ‡ã‚£ã‚¹ã‚¯é ˜åŸŸã‚’
多ãã®å¤§ããªãƒ•ァイルã§åŸ‹ã‚ã¦ã—ã¾ã†ã‚“ã‚‚ã®ãŒã‚りã¾ã™ã€‚ã“ã‚Œã‚’ç›´æŽ¥é˜²ãæ–¹æ³•ã¯
Apache ã«ã¯ã‚りã¾ã›ã‚“ã®ã§ã€ä¿¡ç”¨ã§ããªã„ユーザ㫠DAV アクセスをæä¾›ã™ã‚‹ã®ã¯
é¿ã‘ãŸæ–¹ãŒè‰¯ã„ã§ã—ょã†ã€‚
よãã‚ã‚‹è¦æ±‚ã«ã€mod_dav
を使ã£ã¦å‹•çš„ãªãƒ•ァイル
(PHP スクリプトã€CGI スクリプトãªã©) ã‚’æ“作ã—ãŸã„ã¨ã„ã†ã‚‚ã®ãŒã‚りã¾ã™ã€‚
ã“れã®å®Ÿç¾ã¯ã€GET
リクエストã¯ã‚¹ã‚¯ãƒªãƒ—トã®å†…容をダウンãƒãƒ¼ãƒ‰ã•ã›ã‚‹
代ã‚りã«ã€ã‚¹ã‚¯ãƒªãƒ—トを常ã«å®Ÿè¡Œã•ã›ã¦ã—ã¾ã†ã®ã§é›£ã—ããªã£ã¦ã„ã¾ã™ã€‚
ã“れを回é¿ã™ã‚‹æ–¹æ³•ã«ã¯ã€äºŒã¤ã®é•ㆠ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 |
コンテã‚スト: | ディレクトリ |
ステータス: | Extension |
モジュール: | mod_dav |
与ãˆã‚‰ã‚ŒãŸã‚³ãƒ³ãƒ†ãƒŠã§ WebDAV HTTP メソッドãŒä½¿ãˆã‚‹ã‚ˆã†ã«ã™ã‚‹ã«ã¯ 次ã®ã‚ˆã†ã«ã—ã¾ã™ã€‚
<Location /foo>
Dav On
</Location>
On
ã¨ã„ã†æŒ‡å®šã¯å®Ÿéš›ã«ã¯ mod_dav_fs
ã§æä¾›ã•れã¦ã„るデフォルトã®ãƒ—ãƒãƒã‚¤ãƒ€ã€filesystem
ã¸ã®ã‚¨ã‚¤ãƒªã‚¢ã‚¹ã«ãªã£ã¦ã„ã¾ã™ã€‚一度ã‚ã‚‹ãƒã‚±ãƒ¼ã‚·ãƒ§ãƒ³ã§ DAV
を有効ã«ã—ãŸå¾Œã¯ã€ãã®ã‚µãƒ–ãƒã‚±ãƒ¼ã‚·ãƒ§ãƒ³ã§ç„¡åŠ¹åŒ–ã™ã‚‹ã“ã¨ã¯ã§ããªã„
ã¨ã„ã†ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。完全ãªè¨å®šä¾‹ã¯ä¸Šè¨˜ã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ ã‚’ã”覧下ã•ã„。
説明: | PROPFIND, Depth: Infinity リクエストを許å¯ã—ã¾ã™ |
---|---|
æ§‹æ–‡: | DavDepthInfinity on|off |
デフォルト: | DavDepthInfinity off |
コンテã‚スト: | サーãƒè¨å®šãƒ•ァイル, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ |
ステータス: | Extension |
モジュール: | mod_dav |
'Depth: Infinity' ã‚’å«ã‚“ã§ã„ã‚‹
PROPFIND
リクエストを処ç†ã§ãるよã†ã«ã™ã‚‹ã«ã¯ã€
DavDepthInfinity
ディレクティブを使ã„ã¾ã™ã€‚ã“ã®ã‚¿ã‚¤ãƒ—ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã¯
denial-of-service アタックã¨ãªã‚Šã†ã‚‹ã®ã§ã€
デフォルトã§ã¯è¨±å¯ã•れã¦ã„ã¾ã›ã‚“。
説明: | サーãƒãŒ DAV リソースã®ãƒãƒƒã‚¯ã‚’ç¶æŒã™ã‚‹æœ€å°æ™‚é–“ã§ã™ã€‚ |
---|---|
æ§‹æ–‡: | DavMinTimeout seconds |
デフォルト: | DavMinTimeout 0 |
コンテã‚スト: | サーãƒè¨å®šãƒ•ァイル, ãƒãƒ¼ãƒãƒ£ãƒ«ãƒ›ã‚¹ãƒˆ, ディレクトリ |
ステータス: | Extension |
モジュール: | mod_dav |
クライアント㌠DAV リソースãƒãƒƒã‚¯ã‚’è¦æ±‚ã—ãŸå ´åˆã€ ãƒãƒƒã‚¯ãŒã‚µãƒ¼ãƒã«ã‚ˆã£ã¦è‡ªå‹•çš„ã«è§£é™¤ã•れるã¾ã§ã®æ™‚é–“ã‚’ åŒæ™‚ã«æŒ‡å®šã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ã“ã®å€¤ã¯å˜ãªã‚‹ãƒªã‚¯ã‚¨ã‚¹ãƒˆã§ã‚ã£ã¦ã€ サーãƒã¯ã“れを無視ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã—〠任æ„ã®å€¤ã‚’クライアントã«é€šçŸ¥ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚
ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã«æˆ»ã™ãƒãƒƒã‚¯ã‚¿ã‚¤ãƒ ã‚¢ã‚¦ãƒˆã®æœ€å°æ™‚é–“ã‚’ã€
ç§’ã§ã€æŒ‡å®šã™ã‚‹ãŸã‚ã« DavMinTimeout
ディレクティブを使ã„ã¾ã™ã€‚
マイクãƒã‚½ãƒ•トã®ã‚¦ã‚§ãƒ–フォルダã®ãƒ‡ãƒ•ォルトã§ã¯ 120 ç§’ã§ã™ãŒï¼›
ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã®é…å»¶ã®ã›ã„ã§ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆãŒãƒãƒƒã‚¯ã‚’失ã†ã®ã‚’減らã™ãŸã‚ã«ã€
DavMinTimeout
を使ã£ã¦
ã“れをもã£ã¨å¤§ããªå€¤ (例ãˆã° 600 ç§’) ã«ä¸Šæ›¸ãã§ãã¾ã™ã€‚
<Location /MSWord>
DavMinTimeout 600
</Location>