zotero官方给的300M云存储空间很快就用完了, 但是发现zotero软件支持用webdav进行云同步, 实现Pad/手机/笔记本/台式机之间文献库的共享, 遂研究如何设置webdav. 其实只要直接去坚果云注册一下就能获得1G免费的webdav空间用于zotero, 但是我怕以后1G的免费坚果云不够用, 所以还是自己搭吧.

连接所有设备

我的手机和Pad走的是4G网络, 如果使用自己的电脑或者像树莓派之类的sbc作为webdav服务器, 就需要搭建虚拟专用网(VPN)连接各设备与服务器, 或者将服务器穿透到公网.
可以的操作有:

  • 买一台带公网IP的服务器(阿里云学生特惠9.5RMB/月)
  • 去运营商更换带有公网IP的网络套餐, 配置家庭路由器端口转发
  • 花生壳内网穿透(每月1G免费流量)
  • 单位提供的Easyconnect VPN
  • 蒲公英VPN(免费版只能连3个设备)
  • 使用IPv6

webdav服务搭建

系统为Ubuntu 18.04 LTS.

创建webdav目录, 如果后面出现权限错误, 记得给这个目录777或者775的权限.

依赖软件

需要安装软件nginx-full(或者nginx-extras), apache2-utils.

sudo apt install nginx-full apache2-utils

密码文件生成

sudo htpasswd -c /etc/nginx/webdav.passwd webdav用户名

nginx配制文件

编辑/etc/nginx/sites-available/default, 加入:

server {
    listen 8081 default_server; # 端口号自定义
    listen [::]:8081 default_server;  # 端口号自定义
    server_name 域名或者IP;

    root /webdav/目录/路径;
    client_body_temp_path /webdav/目录/路径/tmp;
    access_log  /webdav/目录/路径/webdav_access.log;
    error_log   /webdav/目录/路径/webdav_error.log;
    client_max_body_size 5g;  # 单个文件允许大小

    # Add index.php to the list if you are using PHP
    index index.html index.htm index.nginx-debian.html;

    location / {
        # First attempt to serve request as file, then
        # as directory, then fall back to displaying a 404.

        autoindex on; # autoindex on后可以在浏览器像ftp一样访问
        autoindex_localtime on;
        dav_methods PUT DELETE MKCOL COPY MOVE;
        dav_ext_methods PROPFIND OPTIONS;
        create_full_put_path on; # 给予创建目录权限
        dav_access user:rw group:r all:r; # 设定webdav存储文件的权限
        auth_basic "Authorized Users Only"; # 这个参数内容随便写
        auth_basic_user_file /etc/nginx/webdav.passwd;  # 密码文件目录
    }

}

开放端口

sudo ufw allow 8081

zotero设定

首选项>同步…

这个不赘述了, 注意此处建立的webdav是基于http的, 没有加密.

安卓系统可以使用zootero同步文献库进行阅读.



server GNU/Linux

本博客所有文章除特别声明外,均采用 CC BY-SA 3.0协议 。转载请注明出处!