通过对比目前较为受欢迎的 WebDAV 服务器端软件,https://github.com/hacdias/webdav 较为稳定(唯一遗憾的是,项目已经终止)。
此开源项目是使用 GoLang 开发的,因此兼容性非常强悍,仅作者预编译针对不同操作系统和 CPU 架构的二进制文件就有 34 种,可以说涵盖了几乎所有运行环境。
作者默认使用此软件的都是专业选手,因此没有手把手的文档可以参考。这对于非程序员甚至非 GoLang 程序员不太友好。
配置文件
作者给出的配置参考已经非常详细,但需要注意的是,你需要全部复制并做出对应修改,程序中并没有做默认值合并。注释中的 will be merged 仅仅针对当前配置文件下文的用户默认值。
二进制安装
访问https://github.com/hacdias/webdav/releases/,对应下载作者预编译的二进制版本。
参考Systemd Example
,注册为*unix 服务,实现开机自动启动。此步骤有疑问的话,搜索对应操作系统+systemd 关键词。
需要特别注意的是:
二进制文件所在的执行目录需要和 Systemd 配置文件中的 ExecStart 目录保持一致。
作者说明了支持 JSON, YAML and TOML 配置文件格式,因此你需要加上相应后缀,否则配置文件不生效。例如 JSON 添加.json、YAML 添加.yml。
OMV5(Debian)中二进制文件安装例子(解压提示路径错误,webdav 解压到、/usr/bin
目录就行):
wget https://github.com/hacdias/webdav/releases/download/v4.2.0/linux-amd64-webdav.tar.gz tar -zxvf linux linux-amd64-webdav.tar.gz mv /root/webdav /usr/bin
在 opt 下创建 webdav.config.yml
# Server related settings address: 0.0.0.0 port: 8080 auth: true tls: false prefix: / # Default user settings (will be merged) scope: . modify: true rules: [] cors: enabled: false credentials: false users: - username: admin password: "{bcrypt}$2a$12$NRf4qBRbBJ0/XR56S7UwaOWzlLIs8fTRDILiC02BGCbbol2g/dw2i" scope: /date modify: true
scope
即为根目录本地映射地址。password 可以用明文,也可以加密,Bcrypt 密码在线生成地址: https://bcrypt-generator.com/。
然后添加服务
vim /etc/systemd/system/webdav.service
[Unit] Description=WebDAV server After=network.target [Service] Type=simple User=root ExecStart=/usr/bin/webdav --config /opt/webdav.config.yml Restart=on-failure [Install] WantedBy=multi-user.target
最后,设置开机启动并启动服务:
systemctl enable webdav systemctl start webdav