Debian用Nginx搭建Webdav Server

Debian用Nginx搭建Webdav Server

安装 Nginx

sudo apt install nginx nginx-extras
mkdir -p /var/www/webdav/files # Webdav根目录

创建配置文件 /etc/nginx/conf.d/webdav.conf

server {
    listen       8080; # 端口
    server_name  webdav.Your_domain; #域名
    root /var/www/webdav/files; # 根目录,如果是其他的目录,需要注意目录权限
    client_body_temp_path /var/www/webdav/tmp;
    access_log  /var/log/nginx/webdav_access.log;
    error_log   /var/log/nginx/webdav_error.log;
    location / {
      #auth_basic "Not currently available";
      #auth_basic_user_file /etc/nginx/conf.d/.htpasswd; # htpasswd验证文件

      dav_methods PUT DELETE MKCOL COPY MOVE;
      dav_ext_methods PROPFIND OPTIONS;

      create_full_put_path on;
      dav_access user:rw group:r;

      autoindex on; # 可以在浏览器打开

      #limit_except GET {
      #  allow 115.115.0.0/32; # 允许访问的IP段,可以填自己家的IP,这样就只有你家的IP可以访问,大大增加安全性。
      #  deny  all;
      #}
   }
}

创建 .htpasswd,这是简单密码验证,因为限制了IP,所以安全性足够了。

htpasswd -c /etc/nginx/conf.d/.htpasswd UserName #自己用户名,然后输入密码

配置防火墙

如果你的防火墙默认放过所有包,可以忽略此步骤。
iptables -A INPUT -p tcp -m tcp --dport 8080 -m state --state NEW -j ACCEPT

如果想重启后防火墙依然生效,请看 这里

然后 service nginx restart 应该可以跑起来了。在浏览器输入 http://webdav.Your_domain:8080 如果要求登陆就说明成了,只需要将文件放在你设置的webdav根目录就可以访问,也可以用支持webdav的客户端访问。

Link: