我需要在Apache上配置WebDAV,阅读了Apache的官方文档,查找了多方资料,花费了我好几个小时终于配置成功了,将配置过程记录为下面的文字。
Enviroment
Web Server: Windows XP Professional Service Pack2 , Apache 2.2
Client: Windows XP Professional Service Pack2 ,IE6
Config File
需要注意的部分我用红色突出显示。
-------------httpd.conf------------------------
#...
LoadModule dav_module modules/mod_dav.so
LoadModule dav_fs_module modules/mod_dav_fs.so
#...
# Distributed authoring and versioning (WebDAV)
Include conf/extra/httpd-dav.conf
#...
------------httpd-dav.conf--------------------------
#
# Distributed authoring and versioning (WebDAV)
#
# Required modules: mod_dav, mod_dav_fs, mod_setenvif, mod_alias
# mod_auth_digest, mod_authn_file
#
# The following example gives DAV write access to a directory called
# "uploads" under the ServerRoot directory.
#
# The User/Group specified in httpd.conf needs to have write permissions
# on the directory where the DavLockDB is placed and on any directory where
# "Dav On" is specified.
DavLockDB "D:/Apache Software Foundation/Apache2.2/DAVLock"
Alias /load "D:/Apache Software Foundation/Apache2.2/load"
<Directory "D:/Apache Software Foundation/Apache2.2/load">
Dav On
Order Allow,Deny
Allow from all
AuthType Basic
AuthName load
# You can use the htdigest program to create the password database
AuthUserFile "D:/Apache Software Foundation/Apache2.2/DavPwd/user.pwd"
#Allow universal read-access, but writes are restricted
# to the admin user.
# The LimitExcept must have PROPFIND privilege
<LimitExcept GET PROPFIND OPTIONS>
#The username format should be usename@YourDomain
require user [email protected]
</LimitExcept>
</Directory>
#
# The following directives disable redirects on non-GET requests for
# a directory that does not include the trailing slash. This fixes a
# problem with several clients that do not appropriately handle
# redirects for folders with DAV methods.
#
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
Create Password Database
Use htpasswd.exe to create the password database,it's a file which AuthUserFile refer to.由于我使用的是Basic认证,所以使用bin目录下的htpasswd.exe 去生成上面配置文件中AuthUserFile 所指的那个文件:user.pwd。如果使用摘要认证的话,则使用htdigest.exe,两者的语法是类似的。这里我使用这样的命令(I execute the command like this):
htpasswd.exe -c "D:/Apache Software Foundation/Apache2.2/DavPwd/user.pwd" [email protected]
回车后,会提示让你输入两次密码。
Config WebDAV Client
Windows XP对WebDAV支持得比较好,我们可以使用其网上邻居或者映射网络磁盘的方式连接到WebDAV Server,还可以使用IE连接。我在IE中使用“打开Web Folder”的方式打开“http://localhost/load”所指的WebDAV文件夹。
Postscript
需要补充说明的是,有些资料说在XP上需要使用“地址+端口号”或者“地址+#”的方式打开WebDAV文件夹,因为Windows2000和WindowsXP的WebDAV Driver的版本是不同的。
Reference
http://www.webdav.org/mod_dav/
http://www.webdav.org/mod_dav/faq/#00-00
http://www.thrrrust.com/~pclark/blog/2005/03/fun-with-windows-xp-and-webdav.html
http://www.debian-administration.org/articles/279
http://ulihansen.kicks-ass.net/aero/webdav/