通过对比目前较为受欢迎的WebDAV服务器端软件,https://github.com/hacdias/webdav 较为稳定(唯一遗憾的是,此仓库作者提供的Docker镜像竟然在Docker Hub中排名非常靠后,以至于完全搜不到)。
此开源项目是使用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目录就行):
//64位 Arm Linux
wget https://github.com/hacdias/webdav/releases/download/v4.2.0/linux-arm64-webdav.tar.gz
//32位 Arm Linux
wget https://github.com/hacdias/webdav/releases/download/v4.1.1/linux-armv7-webdav.tar.gz
tar -xvf linux-amd64-webdav.tar.gz
mv webdav /usr/bin
chown root:root /usr/bin/webdav
chmod +x /usr/bin/webdav
nano /etc/systemd/system/webdav.service
webdav.service(注意确保路径/etc/webdav/config.yaml下的配置文件已存在):
[Unit]
Description=Shumeipai WebDAV server
After=network.target
[Service]
Type=simple
User=root
ExecStart=/usr/bin/webdav --config /etc/webdav/config.yaml
Restart=on-failure
[Install]
WantedBy=multi-user.target
mkdir /etc/webdav
mkdir /home/webdav
nano /etc/webdav/config.yaml
# Server related settings
address: 0.0.0.0
port: 80
auth: true
tls: false
prefix: /
# Default user settings (will be merged)
scope: .
modify: true
rules: []
cors:
enabled: false
credentials: false
users:
- username: pi
password: shumeipai
scope: /home/webdav
modify: true
复制代码
设置开机启动并启动服务:
//开机启动
systemctl enable webdav
//启动webdav
systemctl start webdav
//webdav状态
systemctl status webdav