Windows操作系统Apache配置WebDAV

文章2022-08-04
Windows操作系统Apache配置WebDAV-下一朵云
图1 Apache配置WebDAV

本文将以Apache2.4介绍Windows 下Apache配置 WebDAV:包含Apache安装、配置,添加用户、权限管理、WebDAV LimitExcept 列表等

Apache2.4的安装及基础配置,参考本站以前的文章

《Windows系统 Apache搭建文件服务器》

1.启用 Apache WebDav 模块

本站教程httpd.conf的路径为 C:\Apache24\conf\httpd.conf

打开 Aapache 配置文件 httpd.conf,找到

#LoadModule dav_module modules/mod_dav.so
#LoadModule dav_fs_module modules/mod_dav_fs.so
#LoadModule dav_lock_module modules/mod_dav_lock.so

并删除前面的“#”,以启用 WebDav 模块

引入WebDAV配置文件,同样在httpd.conf,找到

# Include conf/extra/httpd-dav.conf

并删除前面的“#”,以载入WebDav 配置

2.设定 WebDav 用户名及密码

先确认httpd.conf文件中,以下认证模块已启用(正常情况默认是开启的)

LoadModule auth_basic_module modules/mod_auth_basic.so
LoadModule auth_digest_module modules/mod_auth_digest.so

开启cmd命令行,并进入到 Apache的 bin目录

cd C:\Apache24\bin

然后输入以下命令

htdigest -c "C:\Apache24\user.passwd" DAV-upload admin

之后,将被要求输入2次密码

#不存在 user.passwd文件,将会被创建

*继续添加用户

htdigest "C:\Apache24\user.passwd" DAV-upload demo

*修改帐户密码

htdigest  "C:\Apache24\user.passwd" DAV-upload demo
Windows操作系统Apache配置WebDAV-下一朵云
图2 账户密码

3.配置 WebDav

打开 C:\Apache24\conf\extra\httpd-dav.conf 文件

配置后的文件如下

#其中密码认证方式采用Digest认证,和其他网站教程不同,其优势参见百科https://zh.wikipedia.org/wiki/HTTP摘要认证#优势

DavLockDB "C:/Apache24/var/DavLock"
#文件锁定数据库位置
Alias /webdav "E:/WebDAV"
#设置别名、目录
<Directory "E:/WebDAV">
    Dav On
    #启用 DAV
    AuthType Digest
    #使用Digest方式验证
    AuthName DAV-upload
    #DVA名称
    AuthUserFile "C:/Apache24/user.passwd"
    #设置用户帐户密码文件
    AuthDigestProvider file
    #指定基本认证支持

    <LimitExcept GET POST OPTIONS>
        require user admin
    </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

4.配置文件中的 LimitExcept 项,可以根据下表来使用相应权限

WebDAV 文件存储库支持以下 HTTP 方法:

PROPFIND 门户网站用户可使用该方法查找有关资源层次结构的详细信息(如 WebDAV 集合结构)以及有关资源的详细信息(如资源的名称、大小以及上次修改日期)。

MKCOL 用户可使用该方法创建新文件夹,即 WebDAV 集合。

GET 用户可使用该方法检索其至少具有“查看”角色访问权的资源。

HEAD 用户可使用该方法检索其至少具有“查看”角色访问权的资源的 HTTP 头。

POST 用户可通过该方法上载新资源。

DELETE 用户可使用该方法删除资源或文件夹,即 WebDAV 集合。

PUT 用户可使用该方法更新资源,如某个文件夹中的文档或映像。

COPY 用户可使用该方法复制资源或文件夹,即 WebDAV 集合。

MOVE 该方法用于移动或重命名资源或文件夹,即 WebDAV 集合。

#require user admin 项,表明引入admin用户。也可以用Require valid-user引入所有用户

Windows操作系统Apache配置WebDAV-下一朵云
图3 引入用户

5.重启Apache服务,开始使用 WebDAV 吧

#Win10添加webdav的相关教程和webdav文件大小限制等问题解决办法参考《通过 WebDAV 连接 NextCloud》

版权声明:本文为下一朵云发布文章,转载请附上原文出处链接和本声明。
本文链接:https://www.orcy.net.cn/2167.html

​ 广告:HCIE-Security认证课程辅导资料(付费)

5 条评论

  • 头像
    1111
    2023-11-28

    您好,我用LimitExcept 项设置http权限后,通过BitKinex和自己写的代码测试发现都不生效,已经将文件夹的权限开放了

  • 头像
    hao che
    2023-05-23

    你好,这样设置无法修改或删除文件时哪里的配置不对么?

    • 头像
      pony
      2023-05-25

      windows系统配置一下文件夹权限,给everyone读写权限测试一下。

  • 头像
    ravenL
    2022-08-04

    httpd.conf中还需要启用
    LoadModule auth_digest_module modules/mod_auth_digest.so
    否则AuthDigestProvider 无法识别

    • 头像
      pony
      2022-08-04

      谢谢指正,经过验证这个模块默认情况是启用的,已修改文章增加确认已启用的说明。

发表评论

电子邮件地址不会被公开。 必填项已用*标注