仅仅使用了 Zotero 几天,便看到了红色惊叹号。点开一看,原来是 300 MB 的云同步存储已满。

在多设备使用的前提下,同步功能非常实用。我一开始将 Zotero 的存储目录添加到 Nextcloud 中;在考虑如何解决 iPad 同步问题时,发现还可以使用 WebDAV。

那就好说了:

假设您已经搭建好 Nginx 服务器。在服务器端编辑 /etc/nginx/sites-available/default,在 server 段中添加:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
location /zotero/ {
    alias /var/www/webdav/;  # 替换为实际的 WebDAV 目录
    dav_methods PUT DELETE MKCOL COPY MOVE;
    dav_ext_methods PROPFIND OPTIONS;
    create_full_put_path on;
    dav_access group:rw all:r;
    autoindex on;

    auth_basic "WebDAV Access";
    auth_basic_user_file /etc/nginx/webdav.passwd;  # 确保密码文件存在
}

运行:

1
sudo htpasswd -c /etc/nginx/webdav.passwd user_name

可能需要先运行 sudo apt install apache2-utils

然后创建同步目录:

1
2
3
sudo mkdir -p /var/www/webdav
sudo chown -R www-data:www-data /var/www/webdav
sudo chmod -R 775 /var/www/webdav

如出现报错:

1
2
3
# nginx -t
nginx: [emerg] unknown directive "dav_ext_methods" in /etc/nginx/sites-enabled/default:7
nginx: configuration file /etc/nginx/nginx.conf test failed

则还需要安装 nginx-extras

1
sudo apt install nginx-extras