立即注册  找回密码
 立即注册
CeraNetworksBGVM服务器主机交流会员请立即修改密码Sharktech防护
查看: 15|回复: 1

Joplin最简单部署方法,基于Nginx搭建WebDAV服务的详细过程

[复制链接]

Joplin最简单部署方法,基于Nginx搭建WebDAV服务的详细过程

[复制链接]

95

主题

118

回帖

785

积分

高级会员

积分
785
novip

95

主题

118

回帖

785

积分

高级会员

积分
785
前天 14:47 | 显示全部楼层 |阅读模式
在搭建 Joplin 笔记服务的时候,发现了可以通过 WebDAV 服务来实现云笔记的功能,所以本篇就来介绍一下,怎么快速搭建 WebDAV 服务。

WebDAV (Web-based Distributed Authoring and Versioning) 一种基于 HTTP 1.1协议的通信协议。它扩展了HTTP 1.1,在GET、POST、HEAD等几个HTTP标准方法以外添加了一些新的方法,使应用程序可对[Web Server](https://baike.baidu.com/item/Web Server/9306055?fromModule=lemma_inlink)直接读写,并支持写文件锁定(Locking)及解锁(Unlock),还可以支持文件的版本控制。

从我的角度,简单地理解为,类似于FTP服务,提供网络文件交互服务。可以使用用户名和密码来控制访问,通过特定的客户端,可以直接存储、下载、编辑文件。


搭建与配置
这里我是用宝塔面板来实现整个过程的,知晓原理后,也可以用其他类似的手段实现。

官方安装示例 [Nginx http_dav_module](Module ngx_http_dav_module (nginx.org))


重新安装 Nginx
在宝塔面板,Nginx 安装中选择 编译安装,并点击 添加自定义模块。




添加自定义模块
[ol]
  • 模块名称:http_dav_module
  • 模块描述:webdev
  • 模块参数:--with-http_dav_module --add-module=/root/nginx-dav-ext-module
  • 前置脚本:git clone https://github.com/arut/nginx-dav-ext-module.git /root/nginx-dav-ext-module
  • [/ol]复制代码





    nginx-dav-ext-module 介绍

    标准的 ngx_http_dav_module 提供了部分WebDAV实现,仅支持GET、HEAD、PUT、DELETE、MKCOL、COPY和MOVE方法。要在 Nginx 中获得完整的 WebDAV 支持,您需要启用 ngx_http_dav_module 以及此模块(nginx-dav-ext-module)以补充缺少的方法,如:PROPFIND,OPTIONS,LOCK,UNLOCK。


    部署 WebDAV 网站服务
    添加一个新网站





    在配置文件中添加以下内容(别忘了还要添加第二行代码,就在server上面添加):

    [ol]
  • http {
  •     dav_ext_lock_zone zone=foo:1m; # 默认锁超时值为 1 分钟
  •     ...
  •     server {
  •         ...
  •         location / {
  •             root /www/wwwroot/webdav;
  •             
  •             client_body_temp_path /www/wwwroot/webdav/client_temp;
  •             #client_max_body_size 102400M;#大文件支持
  •             dav_methods PUT DELETE MKCOL COPY MOVE;
  •             create_full_put_path on;
  •             dav_access                user:rw group:rw  all:r;
  •             autoindex on;
  •             # 需要 nginx-dav-ext-module 才有下面的选项
  •             dav_ext_methods PROPFIND OPTIONS LOCK UNLOCK;
  •             dav_ext_lock zone=foo;
  •         }
  •     }
  • }[/ol]复制代码





    在 网站目录 加入密码保护即可





    应用
    接下来,就可以在需要 WebDAV 服务的地方使用了。

    比如:Joplin




    WebDAV URL:就是你访问那个 WebDAV 网站的地址

    用户名和密码:就是刚才设置的密码访问
  • 回复

    使用道具 举报

    2

    主题

    45

    回帖

    172

    积分

    注册会员

    积分
    172
    yinguo520

    2

    主题

    45

    回帖

    172

    积分

    注册会员

    积分
    172
    前天 14:50 | 显示全部楼层
    docker装。这个保存一下
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Archiver|小黑屋|HS2V主机综合交流论坛

    GMT+8, 2024-12-22 20:20 , Processed in 0.015364 second(s), 2 queries , Gzip On, Redis On.

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表