起因
我手头有两台 Windows 设备,需要在它们之间同步文献。我使用 Zotero 作为文献管理软件,但是它的免费云同步空间只有 300 MB,可能不太够用,便想利用自己的 Debian 服务器通过 WebDAV 的方法进行同步。
需要注意的是,WebDAV 这种同步方式不能对笔记、批注等数据进行同步。这些数据只能通过 Zotero 自己的同步服务进行同步。WebDAV 可以对文献的 PDF、网页等附件进行同步。
搭建 WebDAV 服务器
在这里,我选择使用 Nginx 作为 Web 服务器。Nginx 的安装与基本配置在此不做展示。在接下来的 WebDAV 配置中,还需要使用 nginx-dav-ext-module
组件,使用以下命令在 Debian 服务器上安装该组件。
|
|
服务器上安装了一块用于存储文件的大容量硬盘,其挂载与 /mnt/storage
。创建 WebDAV 存储文件的目录,并将权限移交于 www-data
用户。
|
|
我使用二级域名的方案进行配置,以 webdav.server.lan
作为 WebDAV 服务器域名。利用以下命令创建并编辑配置文件。
|
|
在配置文件中粘贴以下内容,并根据具体情况进行调整。
|
|
我使用的是内网域名,不方便配置 SSL,因此使用 HTTP 协议。编辑 server_name
字段以调整服务器要绑定的域名;编辑 root
字段调整 WebDAV 存储文件的目录;编辑 client_max_body_size
字段调整文件大小限制。在这里我还启用了登陆验证,编辑 auth_basic_user_file
字段调整用户登录信息存储位置。使用以下命令设置第一个用户与其登录密码。下面命令中的 username
可替换为所需的用户名,注意区分大小写。
|
|
使用以下命令测试配置文件是否有效。
|
|
完成测试且无报错,即可重启 Nginx 服务。
|
|
重启服务后在 Windows 设备上打开浏览器,进入 webdav.server.lan
便可看到 WebDAV 网页。
Zotero 同步配置
在 Windows 设备上打开 Zotero 软件,在菜单栏中点击“编辑”,在下拉菜单中点击“首选项”,随后在弹出的“Zotero 首选项”对话框中点击“同步”选项卡。如若尚未注册过 Zotero 账号,则需要注册一个。登录账号后,需要将同步方式从 Zotero 变更为 WebDAV,选择 HTTP 协议,输入域名、用户名、密码。
点击“验证服务器”按钮,因为此时 WebDAV 存储文件的目录为空,第一次点击按钮会提示自动创建 zotero
目录,再次点击按钮便会提示设定成功。
完成配置后点击“OK”按钮,并点击 Zotero 窗口右上角的绿色同步按钮进行同步。刷新浏览器中的 WebDAV 网页,可以看到新增了一个 zotero
目录,进入目录后若出现同步文件,则完成同步配置。