IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> VPS搭建zotero自动同步的webdav服务 -> 正文阅读

[系统运维]VPS搭建zotero自动同步的webdav服务

使用VPS自建zotero同步的WebDAV服务

0 关键流程

a. Edit - Preferences - Sync - (去设置里注册zotero账号,开启同步)

b. 在必备的插件ZotFile 里进行设置!

Tools - ZotFile Preferences - Location of Files - 勾选 Attach stored copy of file(s)

这个很必须,不然附件无法同步

c. 回到 Edit - Preferences - Sync 进行设置,写入正确的地址。

d. 打开zotero移动端 - 也输入和之前相同的地址

博客地址:https://mustvv.com/archives/zoterowebdav
其他地址:https://zhuanlan.zhihu.com/p/484151790


作为初学的记录,应该会有更好的方法。之后学习新技能再记录。

1 WebDAV服务搭建

1.1 准备

服务器一台。这里使用GreenCloud:Debian 11 amd64 x86_64 GNU/Linux。

# 开启bbr
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf && echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf && sysctl -p && echo finish!

# 软件列表升级以及预装软件 并开启ufw
apt update -y && apt upgrade -y && apt install vim sudo tmux ufw git curl wget zip unzip net-tools -y && ufw --force enable && echo finish!

这里用到了ufw来管理暴露的端口,然而在使用docker的话,会存在一些问题。详情:

https://github.com/chaifeng/ufw-docker

https://mustvv.com/archives/dockerinstallhalo 3.6节

ufw关键步骤:

# 获取文件 可使用hub.fastgit.xyz 替换 github.com 来加快下载速度
sudo wget -O /usr/local/bin/ufw-docker https://hub.fastgit.xyz/chaifeng/ufw-docker/raw/master/ufw-docker
# 给予权限
chmod +x /usr/local/bin/ufw-docker

# 重启ufw 
sudo systemctl restart ufw
# 把 UFW 和 Docker 的相关规则添加到文件 `after.rules` 的末尾
ufw-docker install

# 开启端口
ufw route allow proto tcp from any to any port 9999

1.2 开始搭建

参考项目来自bytemark/webdav , 但存在一些问题 ,所以使用了其改进版本

注意使用root权限登录服务器。并进入/root

# 建立相关文件
mkdir -p /root/webdav/

1.3 安装docker 相关

docker: 让项目带上环境打包(镜像)。运维只需要下载发布的镜像,直接运行即可。集装箱思想,每个项目都是一个集装箱。通过隔离机制,将服务器资源运用极致。

docker-compose: 一般是使用 DockerFile、build、run等手动操作单个容器。如果服务多,互相有依赖关系,就会麻烦,故需要Docker Compose 来轻松高效管理容器,定义运行多个容器。

参考:https://docs.docker.com/compose/gettingstarted/

1.3.1 网络连接不稳定

参考:https://get.daocloud.io/

# 安装docker
curl -sSL https://get.daocloud.io/docker | sh
# 安装docker compose
curl -L https://get.daocloud.io/docker/compose/releases/download/v2.3.3/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

chmod +x /usr/local/bin/docker-compose

1.3.2 网络连接稳定

# 安装docker
curl -sSL https://get.docker.com/ | sh

# 安装docker compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

sudo chmod +x /usr/local/bin/docker-compose

1.4 建立yaml文件并启动

注意修改 你的域名 your_domains;修改 账户和密码 USERNAME PASSWORD

# 建立文件
vim zoteroWebdav.yml
# zoteroWebdav.yml 内容
version: '3'
services:
  webdav:
    image: k3vmcd/webdav
    restart: always
    ports:
      - "9999:443"
    environment:
      SERVER_NAMES: your_domains
      LOCATION: /dav
      AUTH_TYPE: Basic
      USERNAME: USERNAME
      PASSWORD: PASSWORD
      SSL_CERT: selfsigned
    volumes:
      - /root/webdav:/var/lib/dav
# 启动
docker-compose -f /root/webdav/zoteroWebdav.yml up -d

启动后,同步的数据放在 /root/webdav/data 里

1.5 一些配置

准备: **1.域名解析 2.ssl证书配置和下载 。**可参考华为云、阿里云(证书免费)文档。

配置:参考 在Apache服务器上安装SSL证书

1.5.1 掏出容器里的配置文件

# 掏出容器里的配置文件
docker cp webdav_webdav_1:/usr/local/apache2 /root/webdav/apache2

修改 /root/webdav/apache2/conf/sites-available/default-ssl.conf 改为以下内容

1.5.2 修改default-ssl.conf内容

修改 your_domains 以及 证书的位置

# default-ssl.conf文件内容
Listen 443
<VirtualHost *:443>
  Protocols h2 http/1.1
  ServerName your_domians
  ServerAlias your_domians
  DocumentRoot "/var/www/html/"
  <Directory "/var/www/html/">
    Require all denied
  </Directory>
  CustomLog /proc/self/fd/1 combined
  ErrorLog /proc/self/fd/2
  SSLEngine on
  SSLCertificateFile /var/lib/dav/certApache2/your_domians_public.crt
  SSLCertificateKeyFile /var/lib/dav/certApache2/your_domians.key
  SSLCertificateChainFile /var/lib/dav/certApache2/your_domians_chain.crt
  SSLProtocol all -SSLv3
  SSLCipherSuite ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS
  SSLHonorCipherOrder on
  SSLSessionTickets off
</VirtualHost>

1.5.3 复制替换掉容器里conf文件

docker cp /root/webdav/apache2/conf/sites-available/default-ssl.conf webdav_webdav_1:/usr/local/apache2/conf/sites-available/default-ssl.conf

1.5.4 重启与端口

# 重启docker 服务
docker restart webdav_webdav_1
# 开启端口
ufw route allow proto tcp from any to any port 9999

1.6 zotero里配置

a. Edit - Preferences - Sync - Location of Files - 勾选 Attach stored copy of file(s)

b. url: https://your_domians:9999/dav/zotero/ , zotero 会自动补https:// 与 /zotero/

c. 并填入 username 和 password

d. 点击 Verify Server

e. Download files 选择 at sync time

f.

在必备的插件ZotFile 里进行设置!

Tools - ZotFile Preferences - Location of Files - 勾选 Attach stored copy of file(s)

这个很必须,不然附件无法同步

1.7 一些说明

参考项目来自bytemark/webdav , 但存在一些问题 ,所以使用了其改进版本

其中一些配置说明:

Environment variables

All environment variables are optional. You probably want to at least specify USERNAME and PASSWORD (or bind mount your own authentication file to /user.passwd) otherwise nobody will be able to access your WebDAV server!

  • SERVER_NAMES: Comma-separated list of domains (eg, example.com,www.example.com). The first is set as the ServerName, and the rest (if any) are set as ServerAlias. The default is localhost.

–> 域名,默认是localhost

  • LOCATION: The URL path for WebDAV (eg, if set to /webdav then clients should connect to example.com/webdav). The default is /.

–> 连接时候的URL path,本文设置的是/dav, 默认是 /

  • AUTH_TYPE: Apache authentication type to use. This can be Basic (best choice for HTTPS) or Digest (best choice for HTTP). The default is Basic.

–> Basic 是https ,尝试使用http但未成功

  • REALM: Sets AuthName, an identifier that is displayed to clients when they connect. The default is WebDAV.
  • USERNAME: Authenticate with this username (and the password below). This is ignored if you bind mount your own authentication file to /user.passwd.

–> 用户名

  • PASSWORD: Authenticate with this password (and the username above). This is ignored if you bind mount your own authentication file to /user.passwd.

–> 密码

  • ANONYMOUS_METHODS: Comma-separated list of HTTP request methods (eg, GET,POST,OPTIONS,PROPFIND). Clients can use any method you specify here without authentication. Set to ALL to disable authentication. The default is to disallow any anonymous access.
  • SSL_CERT: Set to selfsigned to generate a self-signed certificate and enable Apache’s SSL module. If you specify SERVER_NAMES, the first domain is set as the Common Name.

–> selfsigned 是自签名证书, zotero好像不允许这个,所以做了配置

1.8 ip访问的搭建参考

https://blog.devzeng.com/blog/build-webdav-server-in-docker.html

2 参考项目

https://github.com/BytemarkHosting/docker-webdav

https://hub.docker.com/r/bytemark/webdav

https://hub.docker.com/r/twizzel/webdav

https://hub.docker.com/r/k3vmcd/webdav

https://hub.docker.com/r/derkades/webdav

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-03-21 21:35:42  更:2022-03-21 21:38:53 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 0:33:02-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码