WebDAV不是又一个新的网盘服务,而是一种经典、开放且强大的技术协议
只要是存储系统,都可以使用 webdav 作为标准访问接口,让任何支持 webdav 的客户端访问存储系统。
它就像一把神奇的钥匙,能让你将家里的电脑、NAS 或任何一台服务器,变成一个完全由你掌控的、跨平台的“私人数据中心”。
简单来说,WebDAV (Web-based Distributed Authoring and Versioning) 是一个诞生于上世纪的互联网标准协议。
别被它拗口的名字吓到,你可以把它想象成:
它的核心优势,正是我们这个时代最稀缺的东西:数据私有
、开放通用
、成本低廉
。
WebDAV 的魅力不在于它技术有多新潮,而在于它能切实解决我们数字生活中的具体问题。
对于像 Obsidian、Joplin 这样的笔记软件用户来说,WebDAV 是实现多设备同步的“平价法拉利”。你不再需要依赖昂贵的官方同步服务,只需简单配置,就能让你的知识库在手机、平板和电脑间无缝漫游,安全又私密。
Zotero 用户的普遍痛点是免费的附件同步空间(300MB)捉襟见肘。而通过 WebDAV,你可以将 Zotero 的文献附件指向自己的服务器。这意味着你的文献库空间可以无限扩展——你的硬盘有多大,空间就有多大!
想象一下,你家里的 NAS 或服务器上存着上百G的高清电影和剧集。有了 WebDAV,你只需在手机或平板的 nPlayer、Infuse 等播放器里添加一个地址,就能随时随地在线播放它们,无需下载,即点即看,如同拥有一个私人的 Netflix。
随时随地,打开手机上的文件管理器(如 Solid Explorer),就能直接访问、管理你家里电脑的文件。临时需要一份报告?打开手机就能取用。想给朋友分享一张照片?直接从服务器上就能分享,无需先下载到手机。
对于现代玩家而言,Docker 是部署服务的最佳方式,它干净、独立、迁移方便。我们将介绍两种主流的、通过 Docker 搭建 WebDAV 服务的方法:Alist 和 Nextcloud。
Alist 是一个神奇的程序,它能挂载多种网盘(阿里云盘、百度网盘等)和本地存储,并提供一个统一的、美观的列表界面,同时,它也内置了强大的 WebDAV 服务。
操作步骤:
在家里的电脑或服务器上创建一个文件夹,例如 alist
。
在 alist
文件夹内,创建一个名为 docker-compose.yml
的文件,并粘贴以下内容:
yamlversion: '3.3'
services:
alist:
image: 'xhofe/alist:latest'
container_name: alist
volumes:
- './data:/opt/alist/data' # 将配置文件映射到当前目录的data文件夹
ports:
- '5244:5244' # 冒号左边的 5244 可以改成你喜欢的任何未被占用的端口
restart: always
environment:
- PUID=0
- PGID=0
- UMASK=022
在该目录下打开终端(或命令提示符),运行命令:docker-compose up -d
等待片刻,Alist 就运行起来了。访问 http://你的IP地址:5244
,后台管理页面会提示你初始管理员密码。
登录后,务必先修改密码。然后在“存储” -> “添加”中,选择“本机存储”,填入挂载路径 /opt/alist/data
(或其他你想暴露的服务器路径),即可将本地文件夹通过 Alist 管理。
Alist 的 WebDAV 服务是自动开启的,地址通常是 http://你的IP地址:5244/dav
。
Nextcloud 不仅仅是一个 WebDAV 服务,它是一整套开源的私人云解决方案,包含了文件同步、日历、联系人、在线Office等功能,堪称“自建的 Google Drive”。
操作步骤:
同样,创建一个 nextcloud
文件夹,并在里面新建 docker-compose.yml
文件:
yamlversion: '3'
services:
db:
image: postgres:latest
restart: always
volumes:
- ./db:/var/lib/postgresql/data
environment:
- POSTGRES_DB=nextcloud
- POSTGRES_USER=nextcloud
- POSTGRES_PASSWORD=your_strong_password_here # 请务必修改成一个安全的密码
app:
image: nextcloud:latest
restart: always
ports:
- 8080:80 # 冒号左边的 8080 可以改成你喜欢的端口
links:
- db
volumes:
- ./nextcloud:/var/www/html
environment:
- POSTGRES_HOST=db
- POSTGRES_DB=nextcloud
- POSTGRES_USER=nextcloud
- POSTGRES_PASSWORD=your_strong_password_here # 和上面数据库的密码保持一致
在该目录下运行命令:docker-compose up -d
首次访问 http://你的IP地址:8080
,会进入 Nextcloud 的安装向导。创建一个管理员账户,然后在数据库配置部分,选择 PostgreSQL,并填入上面 docker-compose.yml
文件中你设置的数据库信息(数据库用户、密码、名称都是 nextcloud
,主机是 db
)。
安装完成后,登录你的 Nextcloud。在左下角“设置” -> “移动与桌面设备”里,你就能找到你的专属 WebDAV 地址。它通常是这样的格式:http://你的IP地址:8080/remote.php/dav/files/你的用户名/
Alist vs Nextcloud 如何选?
配置 WebDAV 客户端非常简单,万变不离其宗,你只需要记住四个关键信息:
WebDAV 配置四要素:
- 服务器地址:
http://<你的IP或域名>:<端口号>
- 路径 (Path)(如果有的话): 例如 Alist 是
/dav
,Nextcloud 是/remote.php/dav/files/用户名/
- 用户名: 你的登录账号
- 密码: 你的登录密码
以 nextcloud 为例
这里就是 webdav 的 地址 用户名和密码则为 nextcloud 的用户账号和密码
为了安全起见,建议为 webdav 专门注册一个 app 授权,不使用用户的默认密码
各平台推荐应用:
享受自由的同时,责任也随之而来。请务必牢记以下几点:
安全第一:公网访问必须使用 HTTPS! 如果你打算在外网访问你的 WebDAV,直接使用 HTTP 等于在互联网上“裸奔”,账号密码和数据都可能被窃取。请务必使用 Nginx Proxy Manager 或 Caddy 等反向代理工具,为你的服务套上一个免费的 SSL 证书,实现 HTTPS 加密访问。
性能认知:它并非万能 WebDAV 非常适合看电影、同步笔记附件等大文件和低频次操作。但它不适合同步大量、细碎的文件(如代码项目),这种场景下,专业的同步工具 Syncthing 会是更好的选择。
数据备份:自建不等于高枕无忧 切记:WebDAV 是访问方式,不是备份方案! 你的服务器硬盘可能会损坏。请务必为你的重要数据建立独立的备份策略,例如使用 NAS 的 RAID,或定期将数据备份到另一块硬盘或云端。
本文作者:Silon汐冷
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!