无域名,HTTP
1. 简介
WebDAV(Web Distributed Authoring and Versioning)是一种基于 HTTP 的协议,允许用户通过网络直接编辑和管理服务器上的文件。本教程介绍如何在 Ubuntu 24.04 上使用 Apache2 搭建 WebDAV 服务,无需域名,仅使用 HTTP(适用于内网或测试环境)。
2. 前提条件
- Ubuntu 24.04 服务器(物理机/虚拟机/云服务器)
- SSH 访问权限(或本地终端)
- root 或 sudo 权限
3. 安装 Apache2 和 WebDAV 模块
更新软件包并安装 Apache2 及 WebDAV 依赖:
sudo apt update
sudo apt install apache2 apache2-utils
sudo a2enmod dav dav_fs
4. 配置 WebDAV 目录
4.1 创建 WebDAV 存储目录
sudo mkdir -p /var/www/webdav
sudo chown -R www-data:www-data /var/www/webdav
sudo chmod -R 775 /var/www/webdav
4.2 创建 WebDAV 用户密码文件
sudo htpasswd -c /etc/apache2/webdav-passwd username
(替换 username
为你的用户名,并输入密码)
5. 配置 Apache WebDAV 虚拟主机
5.1 创建 WebDAV 配置文件
sudo nano /etc/apache2/sites-available/webdav.conf
粘贴以下内容:
<VirtualHost *:80>
ServerAdmin admin@localhost
DocumentRoot /var/www/webdav
<Directory /var/www/webdav>
DAV On
Options Indexes FollowSymLinks
AuthType Basic
AuthName "WebDAV Restricted"
AuthUserFile /etc/apache2/webdav-passwd
Require valid-user
</Directory>
</VirtualHost>
保存并退出(Ctrl + X
→ Y
→ Enter
)。
5.2 启用配置并重启 Apache
sudo a2ensite webdav.conf
sudo systemctl restart apache2
6. 防火墙放行(如启用)
sudo ufw allow 80/tcp
sudo ufw reload
7. 测试 WebDAV 服务
7.1 浏览器访问
访问 http://你的服务器IP
,输入用户名和密码,应能看到 /var/www/webdav
目录内容。
7.2 命令行测试
curl -X PROPFIND --user username:password http://服务器IP/
预期输出:
HTTP/1.1 207 Multi-Status
<d:multistatus>...</d:multistatus>
7.3 挂载为本地磁盘(Linux/macOS)
sudo apt install davfs2 # 安装 davfs2(Linux)
sudo mount -t davfs http://服务器IP /mnt/webdav
(输入用户名密码后,文件会挂载到 /mnt/webdav
)
8. 常见问题排查
问题 | 可能原因 | 解决方案 |
---|---|---|
401 Unauthorized | 密码错误或未配置认证 | 检查 /etc/apache2/webdav-passwd |
403 Forbidden | 目录权限不足 | sudo chown -R www-data:www-data /var/www/webdav |
500 Server Error | WebDAV 模块未加载 | sudo a2enmod dav_fs && systemctl restart apache2 |
无法连接 | 防火墙阻止 80 端口 | sudo ufw allow 80/tcp |
9. 安全注意事项
⚠️ HTTP 是明文传输,仅适用于内网或测试环境!
如需公网访问,强烈建议启用 HTTPS(可使用 Let’s Encrypt 或自签名证书)。
10. 总结
- ✅ 已成功在 Ubuntu 24.04 上部署 WebDAV
- ✅ 支持 HTTP 访问,无需域名
- ✅ 可通过浏览器、命令行或挂载本地磁盘访问
下一步建议:
- 配置 HTTPS(使用
certbot
申请免费证书) - 限制访问 IP(增强安全性)
📌 支持 WebDAV 的软件一览表
类别 | 软件名称 | 用途 | WebDAV 支持方式 | 适用平台 |
---|---|---|---|---|
笔记管理 | Obsidian | Markdown 笔记管理 | 需插件(如 Remotely Save) | Windows/macOS/Linux |
Joplin | 开源 Markdown 笔记 | 原生支持 | 全平台 | |
Notion | 在线笔记(需第三方工具) | 通过 rclone/Zapier 间接同步 | Web/全平台 | |
文件管理 | Cyberduck | FTP/SFTP/WebDAV 客户端 | 原生支持 | Windows/macOS |
WinSCP | Windows 文件传输工具 | 原生支持 | Windows | |
RaiDrive | 挂载 WebDAV 为本地磁盘 | 原生支持 | Windows | |
rclone | 命令行文件同步工具 | 原生支持 | Linux/macOS/Win | |
办公工具 | LibreOffice | 开源 Office 套件 | 支持打开/保存 WebDAV 文件 | 全平台 |
Zotero | 文献管理软件 | 支持同步附件到 WebDAV | 全平台 | |
移动端 App | Solid Explorer | Android 文件管理器 | 原生支持 | Android |
Documents (Readdle) | iOS 文件管理 | 支持 WebDAV 连接 | iOS | |
FolderSync | Android 自动同步工具 | 支持定时同步到 WebDAV | Android | |
开发/备份 | Git | 版本控制(需服务器支持) | 通过 HTTP WebDAV 托管仓库 | 全平台 |
Duplicati | 加密备份工具 | 支持备份到 WebDAV | 全平台 |
📌 注意事项
- 安全性:HTTP 是明文传输,建议内网使用或搭配 HTTPS(如 Let’s Encrypt)。
- 兼容性:部分软件(如 Git)需要 WebDAV 服务器支持
PUT
/DELETE
方法。 - 移动端限制:iOS 需使用支持 WebDAV 的 App(如 Documents)。