当前位置: 首页 > 工具软件 > WebDAV.NET > 使用案例 >

Apache2 搭建 WebDAV 服务器

商辰钊
2023-12-01

Apache2 搭建 WebDAV 服务器

本文本参考了
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

 类似资料: