本文本参考了
https://blog.csdn.net/fengchao_2009/article/details/7531856
https://www.cnblogs.com/anArtist/articles/5462951.html
最近使用unRaid安装了Webdav,考虑到本人不熟悉Linux系统以及这个unRaid就准备放弃使用该系统。
查询资料发现Webdav本质是HTTP协议,在此之前查阅了IIS搭建Webdav的文章,无奈以失败告终。那么Apache服务器应该是可行的,于是经过一翻搜索后搞定了。
经过一天的查阅已经搞定了配置文件如何编辑,逻辑是这样的,创建一个独立的.conf文件,然后在httpd.conf里被引用即可。
在httpd.conf里找到以下两行,将前面的#号删除,启用dav相关模块
LoadModule dav_module modules/mod_dav.so
LoadModule dav_fs_module modules/mod_dav_fs.so
在文件最后加入以下内容,其中httpd-dav-uploads.conf是我们等一下要创建的配置文件名
Include conf/extra/httpd-dav-uploads.conf
httpd-dav-uploads.conf 的文件内容 如下
注意事项在注释里
#侦听端口
Listen 88
#配置一个虚拟主机,也可以不使用VirtualHost标签,由于我还打算跑其他服务,所以使用了虚拟主机的方案
#绑定IP及端口
<VirtualHost 127.0.0.1:88>
ServerAdmin admin@localhost
#设置虚拟主机根目录,这个目录和我们的webdav目录没有关系
DocumentRoot "D:/www"
#绑定域名
ServerName localhost
#日志保存文件
ErrorLog logs/localhost-error_log
TransferLog logs/localhost-access_log
# 这里才是WebDAV最重要的部分
# 在Apache根目录下创建var目录就可以后面的DavLock不是目录!是服务自己创建的文件
DavLockDB "D:/phpstudy_pro/Extensions/Apache2.4.39/var/DavLock"
# 配置一个虚拟目录
Alias /webdav "D:/webdav"
#对目录的权限进行设置
<Directory "D:/webdav">
#开启Dav支持
Dav On
# 禁止浏览器显示目录,将-Indexes前的减号去掉为允许显示(当index.html不存在时)
Options -Indexes FollowSymLinks
Order Allow,Deny
Allow from all
# 认证方式,虽然这种方式不安全但可以快速架设成功我们需要的服务
AuthType Basic
# 这里的名字随意写
AuthName "FILE WEBDAV TEST"
# 非常关键的用户管理文件,使用Apache目录里的/bin/htpasswd.exe 创建
# htpasswd -c "D:/phpstudy_pro/Extensions/Apache2.4.39/user/userfile.pass" admin
# 输入两次密码就可以了,-c为创建用户 -m则会将旧的记录全部删除 -cm是两个参数一起使用
AuthUserFile "D:/phpstudy_pro/Extensions/Apache2.4.39/user/userfile.pass"
AuthBasicProvider file
# 允许userfile.pass里的所有用户访问
Require valid-user
#示例 仅允许用户admin访阅
#Require user admin
#示例 guest 用户仅允许查看,其他权限全部排除
#<LimitExcept PUT POST DELETE MOVE OPTIONS>
# Require user guest
#</LimitExcept>
</Directory>
# 限制浏览器类型
# 手机使用CX文件管理时如果不配置DavClient就不能访问
# 具体我也太明白这里如何配置
BrowserMatch "^DavClient" redirect-carefully
BrowserMatch "^RaiDrive" redirect-carefully
#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
</VirtualHost>
以上配置中所有不存在的目录手动创建即可
HOST输入你的IP,如果外网使用做好端口映射
对于客户端没有path选择的可以像这样配置
host: 192.168.1.100/webdav
port: 88
这样客户端就会访问 192.168.1.100:88/webdav