WebDAV服务器配置

Apache2 配置 webdav

网上的教程都讲的不清楚,这里我花费了一个晚上和一个上午,终于算是搞出来了。发出来供大家参考。

(稍有遗憾的是,怎么样可以复用到80端口上,以 http://ip/webdav 这样的形式存在,还没试出来)

正常安装 Apache2 服务器。这里我的版本是 2.4.38

(1)在 /etc/apache2/sites-available 目录下,新建文件 webdav.conf

内容如下:(效果:访问地址 http://ip:8000/webdav ,需要用户名密码登录)

DavLockDB /home/cc/server/webdav
<VirtualHost *:8000>
    ServerAdmin cc@localhost
    DocumentRoot /home/cc/server/webdav
    Alias /webdav /home/cc/server/webdav
    <Directory "/home/cc/server/webdav">
        DAV on
        Options Indexes MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
        AuthType Basic
        AuthName "cc"
        AuthUserFile /home/cc/webdav.passwd
        Require valid-user
    </Directory>
</VirtualHost>

ServerAdmin、DocumentRoot、Directory 这些都可以根据自己的需要修改,上面的只是我个人的配置。

(2)将配置文件软链接到 sites-enabled 目录

cd /etc/apache2/sites-enabled
sudo ln -s ../sites-available/webdav.conf .

(3)修改 /etc/apache2/ports.conf 文件,加入对 8000 端口的侦听

Listen 80
Listen 8000

(4)添加用户密码

htpasswd -c webdav.passwd cc
  • “-c” 表示创建新文件;如果只是在已有文件上新增用户,那么请不要带这个选项。
  • “webdav.passwd” 表示密码文件的名称(或路径),注意跟 Apache 配置文件中的 AuthUserFile 路径一致!!!
  • “cc” 表示要登录的用户名,注意跟 Apache 配置文件中的 AuthName 一致!!!

(5)重启 Apache2 服务

sudo /etc/init.d/apache2 restart

(6)访问测试

http://localhost:8000/webdav

nginx 配置 webdav

根据网上资料显示,目前 nginx 完整的 webdav 支持需要第三方插件,并且需要源码编译。有点懒,不想折腾了,遂放弃。

有需要的小伙伴可以参考 GitHub - arut/nginx-dav-ext-module: nginx WebDAV PROPFIND,OPTIONS,LOCK,UNLOCK support

第三方 webdav 服务

之前有网友推荐过一个独立的 webdav 程序,具体请访问:

GitHub - hacdias/webdav: Simple Go WebDAV server.

它的问题在于,我实际使用后发现它可能存在内存溢出。

如果只是测试研究,不用于生产环境,还是可以试试的。

这个程序十分简单,将可执行文件 webdav 和配置文件 config.yaml 放在同一目录下,执行:

./webdav &

这是一份可用的配置文件(关键内容请自行更改):

# 监听任意网卡,多网卡可指定对应ip
address: 0.0.0.0
port: 8081
# 如果无需验证填 false
auth: true
# 如果不需要 https 则填 false
tls: true
# https证书和密钥,如果 tls 为 false,cert 和 key 不需要
cert: /data/www/cert/szhome.xf1024.com_nginx/cert.pem
key: /data/www/cert/szhome.xf1024.com_nginx/cert.key
# 访问前缀,建议默认
prefix: /

# 如果 auth 为 false 生效,文件共享的路径
scope: /data/users/public
# 是否允许修改
modify: true
rules: []

# 跨域设置
cors:
  enabled: true
  credentials: true
  allowed_headers:
    - Depth
  allowed_hosts:
    - http://localhost:8081
  allowed_methods:
    - GET
  exposed_headers:
    - Content-Length
    - Content-Range

# 用户信息,如果 auth 为 true 生效
users:
  - username: user1
    password: 123456
    scope: /data/users/2021
  - username: user2
    password: 654321
    scope: /data/users/202
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值