最近發現個好玩的東西
叫webdav
怎麼好玩呢?
當一台 web server 上沒有任何其他service時
要怎麼把檔案傳上web server呢?
其實可以靠Apache 的WebDav模組!
而且在Windows上有個軟體叫NetDrive
可以把ftp、webdav的連線內容模擬成一個磁碟來操作(當然需要相對的權限)
如此方便的功能,一定要來玩玩看得啦
首先要確定Apache有無安裝wevdav module
打開httpd.conf
搜尋
LoadModule dav_module modules/mod_dav.so
LoadModule dav_fs_module modules/mod_dav_fs.so
這兩行的註解記得拿掉
並且加上
Include conf/extra/httpd-dav.conf
路徑是妳webdav的設定檔
接下來就是設定httpd-dav.conf了
幾個重要參數介紹一下
DAVLockDB /usr/local/apache/var/DAVLock
這個必須要放在所有設定的最上面
DAVLock這個檔案mod_dav會在地一次執行時建立
但路徑裡的資料夾必須是要存在的
Alias /webdav "C:/xampp/webdav"
這是設定webdav的資料夾
<Directory "C:/xampp/webdav">
#將DAV功能開啟
Dav On
#設定該資料夾權限
Order allow,deny
Allow from all
#類似title
AuthName DAV-upload
AuthType Basic
#該資料夾登入時所用的帳號密碼檔(可用htpasswd建立)
#使用方法:htpasswd.exe -c "C:/yourPath/user.pwd" username
AuthUserFile "C:/xampp/security/htpasswd.webdav"
#設定使用權限,GET是read權限,PUT是write權限
<LimitExcept GET PROPFIND OPTIONS PUT POST DELETE PROPPATCH MKCOL COPY MOVE LOCK UNLOCK>
#哪個user適用這個權限
require valid-user
</LimitExcept>
</Directory>
最後在加上
BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully
BrowserMatch "MS FrontPage" redirect-carefully
BrowserMatch "^WebDrive" redirect-carefully
BrowserMatch "^WebDAVFS/1.[0123]" redirect-carefully
BrowserMatch "^gnome-vfs/1.0" redirect-carefully
BrowserMatch "^XML Spy" redirect-carefully
BrowserMatch "^Dreamweaver-WebDAV-SCM1" redirect-carefully
BrowserMatch "MSIE" AuthDigestEnableQueryStringHack=On
就完成一個簡單的設定了
之後重新啟動Apache
就可以使用webdav的功能摟!
ps. 補上CentOS上的設定
<IfModule mod_dav_fs.c>
LimitXMLRequestBody 131072
#WebDAV資料夾必須更改擁有者與擁有群組為apache:apache
<Directory /home/sites/your.domain.tld/webdav>
# Options none
Options Indexes FollowSymLinks
IndexOptions FancyIndexing
AllowOverride None
Order allow,deny
Allow from all
</Directory>
Alias /webdav "/home/sites/your.domain.tld/webdav"
<Location /webdav>
DAV On
AuthType Basic
AuthName DAV
AuthUserFile /etc/httpd/your.webdav.users.pwd
<LimitExcept GET HEAD OPTIONS>
require valid-user
</LimitExcept>
</Location>
</IfModule>
沒有留言:
張貼留言