听说 apple 公司最新的 Lion 系统已经用 webdav 取代 ftp 了,看来很有潜力。

apache 2.4.1 默认安装目录在/usr/local/apache2/。

一、httpd-dav.conf 中配置如下:

DavLockDB "/usr/local/apache2/var/DavLock"#用户验证需要,不可缺少,且需要为运行apache的用户可执行权限。
Alias /webdav "/usr/local/apache2/webdav"
<Directory "/usr/local/apache2/webdav">
    Dav On
    Options Indexes FollowSymLinks Includes
    Order Allow,Deny
    Allow from all
    AllowOverride None
    #AuthType Digest
    AuthType Basic
    AuthName DAV-upload
    #You can use the htdigest program to create the password database:
    #htdigest -c "/tmp/mips/user.passwd" DAV-upload admin
    #htpasswd -c "/tmp/mips/user.passwd" admin
    AuthUserFile "/usr/local/apache2/user.passwd"
    #AuthDigestProvider file
    AuthBasicProvider file
    # Allow universal read-access, but writes are restricted
    # to the admin user.
#    <LimitExcept GET POST PUT OPTIONS>
#	   require user admin
#	Require valid-user
#    </LimitExcept>
#admin admin
#  <LimitExcept GET PUT POST DELETE MOVE COPY OPTIONS>
   Require user admin
#  </LimitExcept>
#guest guest
   <LimitExcept PUT POST DELETE MOVE OPTIONS>
   Require user guest
   </LimitExcept>
</Directory>

CSDN  嵌入代码排版乱!!!   ==!凑合着看吧。

二、说明:

以上的配置实现的效果:admin 用户拥有默认权限,可修改webdav下的文件,可上传,删除,下载,重命名,修改等;

                                            guest  用户权限做了限制,只可以查看,下载,不可上传、删除、编辑等。

1)必须使  var  和 webdav 及其子目录为 apache 服务器用户(我的是daemon用户)所拥有

sudo chown daemon.daemon -R var

sudo chown daemon.daemon -R webdav

2)<LimitExcept>的意思可能跟我最初理解的意思恰好相反。它的意思可能是只限制 <LimitExcept> 中的method。虚拟机上测试通过。

3)用户密码文件位于/usr/local/apache2/user.passwd。

三、用户验证

本例使用基本验证(basic).语法如下。需要在 httpd.conf 中加载该模块。

1.创建用户密码文件,并设置密码
sudo htpasswd -c user.passwd admin

2.修改用户密码并更新(若user.passwd文件已存在)
sudo htpasswd user.passwd admin

3.删除用户并更新(若user.passwd文件已存在)
sudo htpasswd -D user.passwd admin

4.添加 guest 用户并设置密码
sudo htpasswd user.passwd guest

 四、其他配置

1.配置要求:匿名用户只拥有根目录 /tmp/usb/ 浏览和下载权限,根目录的子目录sda拥有修改的权限。

<Directory "/tmp/usb/">#为根目录
    Dav On
    Options Indexes FollowSymLinks Includes
    Order Deny,Allow
    Allow from all
    AllowOverride none
    AuthType Basic
    AuthName AirDisk
    AuthUserFile "/usr/mips/user.passwd"
    <Limit PUT POST MOVE DELETE MKCOL>
	require user xxx #只能xxx用户才能使用 <Limit> 所限制的请求方法,其他用户都无法使用,而xxx用户又不存在user.passwd里,所有限制了所有用户修改该目录。
    </Limit>
</Directory>
<Directory "/tmp/usb/sda">
    Dav On
    Options Indexes FollowSymLinks Includes
    Order Deny,Allow
    Allow from all
    <Limit HEAD>#只限制HEAD方法,既是该目录下 HEAD 请求 需要是有效用户。其他请求方法对于非 valid-user 用户均不限制。
	require valid-user # valid-user 即为 user.passwd 文件中所记录的用户。
    </Limit>
</Directory>
似乎通过以上的实验得知, <Limit> 和 require 的部分用法。

2.按照以上配置完后,WEBDAV客户端虽然能够实现以上效果,但是在浏览器上却无法看到目录列表。
所以改为以下配置,经验证可行。

<Directory "/tmp/usb/sda">
    <Limit MOV># Limit 后面似乎不能空着,所以我随便填了一个非法的方法MOV(实际上并没有MOV)。apache 并不报错。如果去掉 <Limit>,客户端又不能正常显示,因为sda这个目录是属于/tmp/usb的,而服务器又默认子目录继承上一目录的特性,所以要加。
	require valid-user # valid-user 即为 user.passwd 文件中所记录的用户。
    </Limit>
</Directory>

3.对于限制用户修改根目录,而允许其修改子目录。其实还有一种方法可行,但是只在虚拟机上实现了(项目中运行apache的用户为root)。

使运行 Apache 的用户为非 root 用户(例如 daemon ),设置 webdav 目录为 root 所有,而其子目录为 daemon 所拥有,则daemon用户无权限修改 webdav 目录,而可以修改其子目录。

                    听说 apple 公司最新的 Lion 系统已经用 webdav 取代 ftp 了,看来很有潜力。apache 2.4.1 默认安装目录在/usr/local/apache2/。一、httpd-dav.conf 中配置如下: DavLockDB "/usr/local/apache2/var/DavLock"#用户验证需要,不可缺少,且需要为运行apache的用户可执行权限。A
				
首先第一篇提供配置WebDav的方式 网上找了两篇比较好的配置方式分别适用于Win7 Win2003,而且都经过测试配置可以正常使用 原文中保留了引用地址,这个纯属为了要尊重别人的劳动成果 在第二篇中会提供使用webDava组件开发 以及相关示例代码 在Win 8/7中建立WebDAV服务器的方法: 转自http://www.xitonghome.com/article/...
apache 2.4.1 默认安装目录/usr/local/apache2 一、配置webdav 1.httpd.conf中user group 改daemon 为apache或其他非root用户组,没有此用户需要新建。 2.httpd.conf中包含httpd-dav.conf:Include conf/extra/httpd-dav.conf。 3.httpd-dav.conf
我下载的Apache服务器版本是: httpd-2.4.27-ossl11-x64-vc14 在Apache2.X的版本中,是带有WebDAV的。首先搞明白什么是WebDAVWebDAV (Web-based Distributed Authoring and Versioning) 一种基于 HTTP 1.1协议的通信协议。 它扩展了HTTP 1.1,在GET、POST、HEAD等几个HTTP标
1. 确保Apache已经安装并启动。如果没有,请先安装并启动Apache。 2. 在Apache配置文件中启用WebDAV模块。可以通过编辑httpd.conf文件或在sites-enabled目录中创建一个新配置文件来启用WebDAV模块。 在httpd.conf文件中,查找以下行并确保未被注释掉: LoadModule dav_module modules/mod_dav.so LoadModule dav_fs_module modules/mod_dav_fs.so 如果这两行已经存在,那么WebDAV模块已经启用。如果这两行被注释掉,请删除注释符号(#)。 3. 配置WebDAV的访问权限。可以通过.htaccess文件或httpd.conf文件进行配置。 在.htaccess文件中,添加以下行: AuthType Basic AuthName "WebDAV" AuthUserFile /path/to/.htpasswd Require valid-user 在httpd.conf文件中,添加以下行: <Location /webdav> AuthType Basic AuthName "WebDAV" AuthUserFile /path/to/.htpasswd Require valid-user </Location> 这会将WebDAV目录设置为需要基本身份验证,并指定一个.htpasswd文件来存储用户名和密码。 4. 配置WebDAV目录。可以在httpd.conf文件中添加以下行: <Directory /path/to/webdav> Dav On </Directory> 这会将指定目录设置为WebDAV目录,允许通过WebDAV协议进行访问。 完成以上配置后,可以通过WebDAV客户端访问WebDAV目录,例如Windows Explorer或macOS Finder。