nginx webdav
个人平常使用Zotero来阅读整理文献,这个软件默认提供了300M大小的同步空间,空间较小而且同步速度略慢。除了这个官方的网盘外,Zotero还开放了WebDav同步的接口,可以借助第三方网盘来同步数据。我搜索了一下,官方支持的第三方网盘有这些,这些基本服务器都在国外访问速度不佳,国内支持WebDav的网盘基本只有坚果云,我没有用过也不想为此再单独注册一个网盘。不过好在WebDav搭建很简单,所以我就服务器上自建了私人的WebDav网盘。下面是细节的配置过程。
安装依赖
个人服务器之前一直在使用nginx做端口转发,所以我就直接继续使用了。但基础的nginx并没有包含webdav相关的模块,所以还需要完整版: 1
sudo apt install nginx-full
nginx服务器配置
首先创建一个目录用来存放文件(使用www-data用户组)。 1
chown -R www-data:www-data /media/ExtHDD/zotero/
/etc/nginx/sites-available/default
,修改这个default
文件,在server自己加入这么一部分: 1
2
3
4
5
6
7
8
9
10
11
12
13 location /zotero/ {
alias /media/ExtHDD/zotero/$remote_user/;
dav_methods PUT DELETE MKCOL COPY MOVE;
dav_ext_methods PROPFIND OPTIONS;
dav_access user:rw group:rw all:rw;
client_max_body_size 0;
create_full_put_path on;
client_body_temp_path /tmp/;
auth_pam "Restricted";
auth_pam_service_name "common-auth";
}1
sudo usermod -aG shadow www-data
1
sudo nginx -t
1
sudo systemctl restart nginx.service
如果有条件的话还是加个ssl证书提高一下安全性比较好,但我的服务器只有ip没有域名,所以也就没有配置ssl证书,只使用了http协议没有升级成https,这部分细节就不写了。