Linux webdav
A simple and standalone WebDAV server.
https://github.com/hacdias/webdav
🖇️webdav
📥️下载
linux-amd64-webdav.tar.gz
mkdir /opt/webdav && cd /opt/webdav && wget https://github.com/hacdias/webdav/releases/download/v5.7.0/linux-amd64-webdav.tar.gz
🛠️解压
tar -zxvf linux-amd64-webdav.tar.gz && rm -rf linux-amd64-webdav.tar.gz LICENSE README.md
🗜️配置
将解压后的WebDAV复制到/usr/bin
路径下
在适当的位置编写配置文件webdav.yaml
注意需要使用单引号将用户名、密码和路径括住。
# Server related settings
address: 0.0.0.0
port: 65002
auth: true
tls: false
cert: cert.pem
key: key.pem
# Default user settings (will be merged)
scope: '/opt/pikpak'
modify: true
rules: []
users:
- username: 'admin'
password: 'debian.webdav'
scope: '/opt/pikpak'
⛓️配置服务
vim /usr/lib/systemd/system/webdav.service
内容
[Unit]
Description=WebDAV server
After=network.target
[Service]
Type=simple
User=root
ExecStart=webdav --config /opt/webdav/config.yaml
Restart=on-failure
[Install]
WantedBy=multi-user.target
启动服务并查看状态
systemctl daemon-reload
systemctl enable webdav
systemctl start webdav
systemctl status webdav
⛓️💥nginx-full
core: 标准的 nginx 部署版本
full: 在 core 版本的基础上,包含了常用的三方模块
light: 简化版
安装 nginx -full
apt-get install nginx-full
添加配置
server {
listen 80;
listen [::]:80;
# 网站根目录,此处即为访问 webDav 的根目录
root /home;
index index.html index.htm index.nginx-debian.html;
# nginx 提供的网站认证,与 WebDav 功能无关,非必需
auth_basic "Authenticated Users";
auth_basic_user_file /etc/nginx/.htpasswd;
location / {
# 启用 WebDav 的一些关键字
dav_methods PUT DELETE MKCOL COPY MOVE;
# 启用 WebDav 的一些扩展关键字用于支持应用访问
dav_ext_methods PROPFIND OPTIONS;
# 设置 WebDav 目录下新增文件的默认权限
dav_access user:rw group:rw all:r;
# 创建文件夹时自动创建路径上不存在的文件夹
create_full_put_path on;
# 设置报文最大长度便于文件传输,这里为8MB
client_max_body_size 8m;
# 让 nginx 自动生成索引页面,避免 403 错误
autoindex on;
}
}
添加nginx认证
echo -n 'admin:' >> /etc/nginx/.htpasswd
openssl passwd -apr1 >> /etc/nginx/.htpasswd
Password:
Verifying - Password:
重启nginx
nginx -s reload