利用闲置服务器完成Zotero扩容

经验分享

Zotero 好用,但免费云不太够用

众所周知,Zotero 作为一款好用、开源的文献管理工具,还能安装各种插件满足自己的个性化需求,可以说是一直广受科研民工人士的喜爱。但是吧,300 MiB 的免费同步空间对于有收集癖博览群文的人来说还是有点不太够用,虽说官方 3 GiB的空间只要 20 USD 每年,但想想自己有那么多的云服务还没用上,这钱花的多少有点不舒服,好在 Zotero 支持使用 WebDAV 协议进行同步,这就有了很大的发挥空间。

自建 or 商业服务

说实话,一般能看到我这博客的人应该都是跳过这个选择,直接看自建教程了,但其实成熟的云盘服务是很省心的,如果在用的网盘支持使用 WebDAV(国内好像只有坚果云,以前 iCloud 也可以现在不行了,dropbox、teracloud、box应该可以),直接使用挺好的。不过不推荐将数据库直接放入 OneDrive/iCloud 云盘等的行为,官方说这样有可能会损坏数据库。如果你和我一样没有在用这些网盘的服务,且具有一定的折腾能力和闲置的云端资源,就进入正片吧。

Web 服务器

其实只需要使用 WebDAV 的话有不少服务端是可以直接使用的,但往往服务器上都有一些其他的网页服务,所以还是需要类似 Apache、Nginx、Caddy 这类 Web Server 的。我用过 Nginx 和 Caddy,现在感觉 Caddy 这个东西配置起来真是比 Nginx 方便太多了,证书不用自己管,各种设置也相对直观一些,但是比较麻烦的地方在于模块,不少时候都要借助于 XCaddy,而 Nginx 的很多模块都可以直接通过包管理器来安装,方便一点,这个选择全看个人偏好。
本文主要记录使用 Caddy 的过程,Nginx 的有空再说()
Caddy的安装非常简单,按照官方给出的命令即可:

证书

都 4202 年了,别再 HTTP 裸奔了,上 HTTPS 吧!
如果不是在其他地方生成的证书,且用的是 Caddy,跳过直接在配置里面写上 tls 选项就行,非常好用
用 Nginx 的话就得 acme.sh 了,网上也有很多的教程,官方文档也很全,过()。

Caddy 模块配置

Caddy 原生的模块里面是没有 WebDAV 支持的,这里用到了 mholt/caddy-webdav 项目,有两种方式可以安装插件,没有什么冲突的简单插件比如这个 webdav ,就可以使用

来添加,添加之后重启 Caddy 即可:

如果还有其他插件,需要手动使用 XCaddy 编译时,就比较麻烦一点了

GO 安装

这边使用的是 amd64 的架构的,不一样记得换

XCaddy 安装

编译并替换原版

配置 Caddyfile

首先确定 WebDAV 对应的目录,下文都写为 /path/to/dav,然后确定密码,Caddyfile 中的密码是 hashed,可以通过 caddy hash-password 命令生成,记录生成出的密文。
一个标准的 Caddyfile 类似于这样:

我们要添加的是 webdav directive,并且要确保它的优先级在正确的位置。如果是上文这种配置,应该修改成这样:

保存后直接重启 Caddy ,如果不报错,服务端配置就结束了。

Zotero 验证

同步方式选 WebDAV,网址记得选 https,填上 example.com/webpath
填好用户名密码,验证服务器,通过就结束了,愉快享受同步扩容的结果。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据