Zotero使用自建WebDav服务器同步数据

本文介绍了如何使用Go语言编写的webdav服务程序在腾讯云服务器上搭建WebDAV服务,并配置Zotero进行数据同步。首先,下载并配置webdav服务,包括设置用户、密码和端口。然后,在Zotero中设置http协议的服务器地址、端口和认证信息,完成文献数据的同步。注意端口启用和可能需要多个用户才能正常连接的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

pre-request:

  • 一台云服务器,可以通过公网地址或者域名访问(笔者使用的是腾讯云)
  • Go版本的webdav服务程序:https://github.com/hacdias/webdav,需要下载对应版本的可执行文件放至服务器(可以通过scp命令传输文件)

在下文中,~表示用户根目录,例如腾讯云的默认用户目录位于/home/ubuntu,用户名为ubuntu

step1 webdav配置

参考官方教程及https://cloud.tencent.com/developer/article/1876298?from=15425,创建config.yaml文件如下(用户名,密码以及文件共享路径自行修改,若共享路径不存在,需要先自行创建):

# Server related settings
address: 0.0.0.0
port: 8558
auth: true
tls: false
cert: cert.pem
key: key.pem
# Default user settings (will be merged)
scope: .
modify: true
rules: []
users:
- username: user1
  password: user1
  scope: /home/ubuntu/WebDav
- username: user2
  password: user2
  scope: /home/ubuntu/WebDav

需要注意的有2点:

  • 端口port需要保证云服务器后台端口设置中已经启用
  • 第二点比较奇怪的是笔者设置了2个用户及密码才在zotero连接上,否则一直报错,这个读者可以自行再验证一番

设置完后执行下列命令启动webdav服务:

$ ./webdav -c config.yaml

会得到以下输出内容:
在这里插入图片描述
表示正在监听服务,监听端口为前面设置的8559。

在Linux环境下可以将该服务注册为系统service,实现开机自启动,具体可以参考教程:https://cloud.tencent.com/developer/article/1876298?from=15425

step2 zotero设置

下一步来到了zotero设置,URL协议选择http,网站记得带上端口号,用户名和密码需要和前面设置的一致,第一次配置的时候会提示建立zotero目录,点击验证服务器进行验证,至此就完成了zotero使用自建WebDav服务器精选文学数据同步的工作。
在这里插入图片描述

### ZoteroWebDAV集成配置教程 #### 一、环境准备 为了实现Zotero通过WebDAV进行同步,需完成以下准备工作: 1. 需要一台能够被公网访问的云服务器[^3]。此服务器可以运行任何支持WebDAV协议的服务端软件。 2. 安装并配置Apache、PHP以及MariaDB数据库系统作为基础依赖项[^1]。 #### 二、搭建WebDAV服务 可以选择多种方式来部署WebDAV服务,在这里推荐两种常见方案: ##### 使用Nextcloud提供WebDAV功能 - Nextcloud是一款具备强大扩展性的开源私有云平台,内置了对WebDAV的支持。按照官方文档安装好Nextcloud之后即可启用其WebDAV模块。 ##### 利用独立的WebDAV服务器程序 - 可考虑采用Hacdias开发的轻量级Go语言编写而成的webdav工具。从GitHub仓库获取适合目标操作系统的预编译二进制文件,并上传至远程主机上执行启动命令。 ```bash ./webdav -root /path/to/zotero/files -addr :8080 ``` 上述脚本定义了一个监听于本地IP地址所有接口上的HTTP服务,默认开放端口为8080;同时指定了共享目录路径供客户端连接读写数据资源。 #### 三、设置Zotero同步选项 进入应用程序界面后按顺序找到菜单栏中的`Edit -> Preferences...`打开偏好设定窗口切换到"Synchronization"标签页下做如下调整: - 登录个人专属账号信息; - 更改默认同步模式为“Use a WebDAV server”,接着填入先前创建好的WebDAV链接地址例如 `https://yourdomain.com/remote.php/webdav/` 或者基于其他第三方服务商给出的标准格式如JianGuoYun所提供的实例 `https dav.jianguoyun.com/dav/`[^2]。 #### 四、验证同步状态 保存修改后的参数组合重新加载应用层面上的状态指示器应该显示绿色勾号图案代表一切正常运作当中。此时无论何时何地只要网络条件允许均能无缝衔接存取云端资料库副本保持最新版次一致化处理流程简化日常管理工作负担极大提升效率表现水平[^4]。 ```python import zotero from webdav.client import Client client = Client({ 'webdav_hostname': 'https://example.com', 'webdav_login': 'username', 'webdav_password': 'password' }) library = zotero.Library('user', 'userID', 'apiKey') items = library.top() for item in items: client.upload_file(item['key']+'.pdf', '/local/path/'+item['key']+'.pdf') ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值