主机论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 193|回复: 10

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

[复制链接]

81

主题

263

回帖

1087

积分

金牌会员

Rank: 6Rank: 6

积分
1087
发表于 3 天前 | 显示全部楼层 |阅读模式
本帖最后由 novip 于 2024-12-20 18:22 编辑

在搭建 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 安装中选择 编译安装,并点击 添加自定义模块。


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




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 网站服务
添加一个新网站



最后前往网站设置选择配置文件,在最后面 } 符号之前粘贴以下设置代码:
  1. location / {
  2. root     /www/wwwroot/xx.xxx.cn; # WebDAV目录路径(请自行修改为搭建目录)
  3. client_max_body_size 102400M; # 大文件支持参数
  4. charset utf-8; # 编码参数(不设定可能导致中文乱码)
  5. autoindex on;
  6. dav_methods PUT DELETE MKCOL COPY MOVE;
  7. # 需要 nginx-dav-ext-module 才有下面的选项
  8. dav_ext_methods PROPFIND OPTIONS LOCK UNLOCK;
  9. create_full_put_path  on;
  10. }
复制代码




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



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

比如:Joplin


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

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

使用道具 举报

2

主题

209

回帖

748

积分

高级会员

Rank: 4

积分
748
发表于 3 天前 | 显示全部楼层
docker装。这个保存一下
回复

使用道具 举报

34

主题

134

回帖

562

积分

高级会员

Rank: 4

积分
562
发表于 3 天前 | 显示全部楼层
建议用caddy搭建,nginx的wevdav这垃圾模块我就不说了,我前几天刚发现了一个BUG发现好几年前就有人提交了没人管。当然了你要是自己编译我不说什么
回复

使用道具 举报

34

主题

134

回帖

562

积分

高级会员

Rank: 4

积分
562
发表于 3 天前 | 显示全部楼层
这个BUG就是,不显示隐藏文件(.开头的文件名)。
回复

使用道具 举报

147

主题

374

回帖

1725

积分

金牌会员

Rank: 6Rank: 6

积分
1725
发表于 3 天前 | 显示全部楼层
我也折腾过 应该还是自己搭建joplin server同步最靠谱
回复

使用道具 举报

81

主题

263

回帖

1087

积分

金牌会员

Rank: 6Rank: 6

积分
1087
 楼主| 发表于 3 天前 | 显示全部楼层
jarmoku 发表于 2024-12-20 16:25
建议用caddy搭建,nginx的wevdav这垃圾模块我就不说了,我前几天刚发现了一个BUG发现好几年前就有人提交了 ...

caddy难不,主要就是觉得wevdav比较简单!
回复

使用道具 举报

34

主题

134

回帖

562

积分

高级会员

Rank: 4

积分
562
发表于 3 天前 | 显示全部楼层
novip 发表于 2024-12-20 18:23
caddy难不,主要就是觉得wevdav比较简单!

我给你一个配置吧,caddy的教材我是真看不懂
回复

使用道具 举报

34

主题

134

回帖

562

积分

高级会员

Rank: 4

积分
562
发表于 3 天前 | 显示全部楼层
本帖最后由 jarmoku 于 2024-12-20 20:25 编辑

https://pastebin.com/KtNaT8Ha
你再问问chatgpt应该都能理解了
回复

使用道具 举报

17

主题

230

回帖

863

积分

高级会员

Rank: 4

积分
863
发表于 3 天前 | 显示全部楼层
为了 webdav 弄个joplin 可还行   flydav 了解下 直接一个二进制。一个配置文件就可以多用户了
回复

使用道具 举报

0

主题

1

回帖

4

积分

新手上路

Rank: 1

积分
4
发表于 3 天前 | 显示全部楼层
jarmoku 发表于 2024-12-20 20:21
https://pastebin.com/KtNaT8Ha
你再问问chatgpt应该都能理解了

多谢有么有思维导图加笔记的开源项目
回复

使用道具 举报

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

本版积分规则

QQ|Archiver|手机版|小黑屋|主机论坛

GMT+8, 2024-12-23 05:51 , Processed in 0.080442 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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