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
    评论
Apache WebDAV 服务器是一个基于 HTTP 协议的 WebDAV 服务器,它可以让用户通过 WebDAV 协议访问服务器上的文件。以下是配置 Apache WebDAV 服务器的指南: 1. 安装 Apache WebDAV 模块 首先,需要安装 Apache WebDAV 模块。可以通过以下命令安装: ``` sudo apt-get install libapache2-mod-dav ``` 2. 配置 Apache WebDAV 模块 打开 Apache 的配置文件(一般为 /etc/apache2/apache2.conf),在文件末尾添加以下配置: ``` Alias /webdav /var/www/webdav <Location /webdav> Dav On AuthType Basic AuthName "WebDAV" AuthUserFile /etc/apache2/users.password Require valid-user </Location> ``` 以上配置的含义是: - 将 /webdav 映射到 /var/www/webdav 目录 - 启用 WebDAV - 使用基本身份验证 - 用户名密码保存在 /etc/apache2/users.password 文件中 - 只有经过身份验证的用户才能访问 WebDAV 3. 创建用户 通过以下命令创建一个用户: ``` sudo htpasswd -c /etc/apache2/users.password username ``` 其中,username 是用户名。执行完上述命令后,会提示输入密码。 4. 重启 Apache 通过以下命令重启 Apache: ``` sudo service apache2 restart ``` 5. 访问 WebDAV 现在可以通过 WebDAV 协议访问服务器上的文件了。可以通过以下命令测试: ``` curl -u username http://your-server-url/webdav/ ``` 其中,username 是上一步创建的用户名,your-server-url 是服务器的域名或 IP 地址。执行完上述命令后,会提示输入密码。如果输入正确的用户名和密码,会显示服务器上 /var/www/webdav 目录下的文件列表。 以上就是配置 Apache WebDAV 服务器的指南。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值