动手实践
[文献管理] Nextcloud_Webdav的Zotero同步方案
00 min
Apr 21, 2024
Apr 23, 2024
type
status
date
slug
summary
tags
category
icon
password

前言


需求的提出:
  • flomo:#想法 在解决问题当中,工具和人是非常重要的两个因素 Feb 23, 2024
  • flomo:#学习 关联zotero和专业课的笔记,可以上传服务器进行查看 Feb 29, 2024
  • flomo:#学习 使用webdav建立文献管理方式 Apr 19, 2024
  • 流动核心:#言论 如果你没有时间集中精力学习新知识,那么就花时间复习已经学过的内容。

正文


解决的策略:
首先,为什么是Zotero,引用红薯下士的:Zotero 简明介绍,在windows端的文献管理方面,Zotero有他的独到之处。尽管我更喜欢苹果生态的Marginnote,但Zotero的多平台特性,使得它能满足绝大多数的使用场景。值得注意的是,Zotero如果是资深用户,就需要考虑有关存储空间的限制,当然如果仅在本地用,就无需考虑这些问题了,但涉及到云的问题,就变得复杂得多。目前很多主流的方式是搭配坚果云作为webdav,但我更倾向于自己折腾。因为就个人体验而言,我更喜欢Nextcloud。

青菜萝卜各有所爱


首先我需要声明一点,需求可能具有普遍性,但是做法可能因人而异,选择适合自己的就行。我采用的方案是使用软云的服务器,目前购置的是2H4G40G4M这款机型。三年的费用在500左右,目前体验下来速度很不错,跑了一个hugo练练手,小破站弱不禁风,大佬手下留情😢,效果如下图所示,测试时间为北京时间上午11点左右,响应时长在1-2s之间。首先比较基础的就是,购买服务器之后进行ssh登陆,在终端输入ssh root@ipv4,输入密码进行验证即可。
notion image
notion image

安装1panel


1panel可以将您 的linux性能可视化,同时在操作上更加亲切,我选的是ubuntu22.04系统,安装1panel非常简单,ubuntu在线安装命令如下,其他系统参照手册
下面来解释为什么安装1panel,不仅是因为在管理服务器上更加方便,而且在装很多应用程序的时候,不需要您手动在命令化中进行复杂的操作,只需要通过内置的商店docker部署就行。额外插一句,1panel包含很多不错的博客框架,包括wordpress,halo都可以一键安装,感兴趣可以试试,目前wordpress对于博客入门来讲都是很好的选择,当然wordpress体量稍微有些大了,在访问速度上可能需要您进行优化。
回归主题,这次我们要通过1panel安装nextcloud和mysql,这一步相对比较简单,装完mysql之后,新建一个账户。作为nextcloud的数据库,同时放开端口,一般是3306,然后安装完nextcloud一般首次需要进行初始化设置,一般是40069端口,同时需要记得放开这两个端口。
通过浏览器访问40069一般会出现初始化界面,填入账号密码,然后关联数据库,最下面的对应ipv4:3306。然后初始化完成之后即可进行nextcloud。要注意的是,next可能只能通过https访问,通过http可能访问不了。所以可能得加上https://ipv4:40069的方式进行访问。

安装nginx


nginx可以隐藏您的ip地址,通过域名进行访问。安装过程也比较简单。
安装完成后您可以按照网上的教程设置。回去补充更新。

nextcloud通过域名访问


一般来讲,刚开始nextcloud还无法通过域名进行访问,需要在设置文件中进行配置,找到1panel安装nextcloud的文件夹,找到config.php,添加受信任的域名。前提是您需要拥有一个域名,并成功通过cloudflare进行dns解析。

关联nextcloud和zotero


💡
什么是 WebDAV 呢? 简单来说,webdav就像一个存储服务,各种应用都可以连接到它,允许应用直接访问我们的云盘内容,对其进行读写操作。我们可以网络服务比作一只章鱼,云盘是它的大脑,WebDAV是它的触角。每个触角都连接到我们智能设备上的应用程序。我们的应用可以通过触角读取章鱼的大脑,并将数据写入大脑,改变大脑的记忆和内容。
作者:知乎用户 链接:https://www.zhihu.com/question/30719209/answer/1229364665 来源:知乎
参考官方说明,webdav一般格式为:
感谢Zotero中文小组对Zotero webdav的讲解, 我就不多费口舌了。

修改nextcloud webdav php上传的限制


一开始我遇到的同步失败的问题,一些较小的文献可以成功,但另外一些较大的文献就会出现413的错误,查询后发现是因为文件体积过大,于是我就联想到了是不是nextcloud和nginx对这个进行了限制。于是进行了查询,发现确实有此限制。
💡
通过web客户端上传文件时,受PHP和Apache配置的限制。默认PHP只允许2兆字节的上传。此默认配置(2兆字节限制)并不适用,我们建议您的Nextcloud管理员将Nextcloud变量的大小增加到适合用户的大小。
修改方式参考手册,回去再补充。

总结


这篇文章简单介绍了,如何通过Nextcloud Webdav的方式进行Zotero同步,内容包括,服务器的入手,linux运维面板的安装,Nextcloud和Mysql的安装,Nginx的使用,Zotero的Webdav的设置,及如何解除php上传的限制,从而实现在自有网盘间进行数据同步,为搭建大规模数据提提供了基础。

附录


❤️体验效果:目前因为香港的带宽比较紧俏,所以在初次同步期间时间可能会略长些,但是同步完成之后,下载后就可以多设备正常使用,而且对于文件内修改标记追踪很灵敏,这也是我比较喜欢的地方。
 

Comments