当前位置: 首页 > java >正文

基于 Ubuntu 24.04 部署 WebDAV

无域名,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@localhostDocumentRoot /var/www/webdav<Directory /var/www/webdav>DAV OnOptions Indexes FollowSymLinksAuthType BasicAuthName "WebDAV Restricted"AuthUserFile /etc/apache2/webdav-passwdRequire valid-user</Directory>
</VirtualHost>

保存并退出(Ctrl + XYEnter)。

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 ErrorWebDAV 模块未加载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 支持方式适用平台
笔记管理ObsidianMarkdown 笔记管理需插件(如 Remotely Save)Windows/macOS/Linux
Joplin开源 Markdown 笔记原生支持全平台
Notion在线笔记(需第三方工具)通过 rclone/Zapier 间接同步Web/全平台
文件管理CyberduckFTP/SFTP/WebDAV 客户端原生支持Windows/macOS
WinSCPWindows 文件传输工具原生支持Windows
RaiDrive挂载 WebDAV 为本地磁盘原生支持Windows
rclone命令行文件同步工具原生支持Linux/macOS/Win
办公工具LibreOffice开源 Office 套件支持打开/保存 WebDAV 文件全平台
Zotero文献管理软件支持同步附件到 WebDAV全平台
移动端 AppSolid ExplorerAndroid 文件管理器原生支持Android
Documents (Readdle)iOS 文件管理支持 WebDAV 连接iOS
FolderSyncAndroid 自动同步工具支持定时同步到 WebDAVAndroid
开发/备份Git版本控制(需服务器支持)通过 HTTP WebDAV 托管仓库全平台
Duplicati加密备份工具支持备份到 WebDAV全平台

📌 注意事项

  1. 安全性:HTTP 是明文传输,建议内网使用或搭配 HTTPS(如 Let’s Encrypt)。
  2. 兼容性:部分软件(如 Git)需要 WebDAV 服务器支持 PUT/DELETE 方法。
  3. 移动端限制:iOS 需使用支持 WebDAV 的 App(如 Documents)。
http://www.xdnf.cn/news/4966.html

相关文章:

  • window 显示驱动开发-配置内存段类型
  • Jenkins linux安装
  • 【一】浏览器的copy as fetch和copy as bash的区别
  • 解决:EnvironmentNameNotFound: Could not find conda environment?
  • 深入解析Docker底层原理:从Namespace到联合文件系统
  • 使用SVM进行图像分类
  • 每天五分钟深度学习框架pytorch:视觉工具包torchvison
  • 浏览器节能机制导致Websocket断连的坑
  • Python 爬虫基础入门教程(超详细)
  • 代发考试战报:思科华为HCIP HCSE CCNP 考试通过
  • CSS:盒子模型
  • Missashe计网复习笔记(随时更新)
  • C++:求分数序列和
  • 23盘古石决赛
  • docker 镜像的导出和导入(导出完整镜像和导出容器快照)
  • Java 匿名内部类的作用
  • IM系统群消息推送方案
  • 多模型协同预测在风机故障预测的应用(demo)
  • 订阅“科技爱好者周刊”,每周五与你相约科技前沿!
  • Docker下Gogs设置Webhook推送Spug,踩坑记录与解决方案
  • Git clone时出现SSL certificate problem unable to get local issuer certificate
  • 安装docker
  • 【网络编程】四、守护进程实现 前后台作业 会话与进程组
  • ChatTempMail - AI驱动的免费临时邮箱服务
  • 线程中常用的方法
  • PX4开始之旅(二)通过自定义 MAVLink 消息与 QGroundControl (QGC) 通信
  • 开源数字人框架 AWESOME - DIGITAL - HUMAN:技术革新与行业标杆价值剖析
  • AWS IoT Core与MSK集成实战:打造高可靠实时IoT数据管道
  • 探索表访问方法功能:顺序扫描分析
  • 复合机器人案例启示:富唯智能如何以模块化创新引领工业自动化新标杆