在现代办公和远程协作环境中,WebDAV(Web Distributed Authoring and Versioning)是一种非常实用的协议,它允许用户通过 HTTP/HTTPS 对远程服务器上的文件进行读写操作。本文将详细讲解如何在 Ubuntu 系统上使用 Apache 搭建一个安全、可靠的 WebDAV 服务器,即使是 Linux 小白也能轻松上手。

一、准备工作
在开始之前,请确保你有一台运行 Ubuntu 20.04 或更高版本 的服务器,并且拥有
sudo权限。同时,建议更新系统软件包:
sudo apt updatesudo apt upgrade -y
二、安装 Apache 和 WebDAV 模块
Apache 是最常用的 Web 服务器之一,支持通过模块扩展功能。我们需要安装 Apache 及其 WebDAV 相关模块:
sudo apt install apache2 apache2-utils -ysudo a2enmod davsudo a2enmod dav_fs
执行完上述命令后,重启 Apache 服务以加载新模块:
sudo systemctl restart apache2
三、创建 WebDAV 共享目录
接下来,我们创建一个专门用于 WebDAV 文件共享的目录,并设置合适的权限:
sudo mkdir -p /var/www/webdavsudo chown -R www-data:www-data /var/www/webdavsudo chmod -R 755 /var/www/webdav
四、配置 WebDAV 虚拟主机
现在,我们需要为 WebDAV 创建一个 Apache 配置文件。使用你喜欢的编辑器(如 nano)创建新配置:
sudo nano /etc/apache2/sites-available/webdav.conf
将以下内容粘贴进去(请根据你的域名或 IP 地址调整
ServerName):
<VirtualHost *:80> ServerName your-domain-or-ip DocumentRoot /var/www/webdav <Directory /var/www/webdav> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory> <Location /webdav> DAV On AuthType Basic AuthName "WebDAV Restricted" AuthUserFile /etc/apache2/webdav.passwd Require valid-user </Location></VirtualHost>
保存并退出编辑器(在 nano 中按
Ctrl+O→ 回车 →
Ctrl+X)。
五、设置 WebDAV 用户认证
为了保障安全,我们需要为 WebDAV 设置用户名和密码。使用
htpasswd工具创建密码文件:
sudo htpasswd -c /etc/apache2/webdav.passwd username
系统会提示你输入并确认密码。你可以多次运行该命令(去掉
-c参数)来添加更多用户:
sudo htpasswd /etc/apache2/webdav.passwd another_user
六、启用站点并重启 Apache
启用我们刚刚创建的 WebDAV 站点配置:
sudo a2ensite webdav.confsudo systemctl reload apache2
七、测试 WebDAV 服务
现在,打开浏览器访问
http://your-server-ip/webdav,系统会弹出登录窗口。输入你设置的用户名和密码,如果看到目录列表,说明 Ubuntu WebDAV 配置 成功!
你也可以使用支持 WebDAV 的客户端(如 Windows 资源管理器、macOS Finder、rclone、Cyberduck 等)挂载该目录,实现本地化文件操作。
八、安全建议(可选但推荐)
使用 HTTPS 加密传输(可通过 Let's Encrypt 免费获取 SSL 证书) 限制 IP 访问范围(在 Apache 配置中使用Require ip) 定期更新系统和 Apache
总结
通过以上步骤,你已经成功在 Ubuntu 上搭建了一个基于 Apache 的 WebDAV 服务器。这项技术非常适合需要远程文件同步、团队协作或私有云存储的场景。掌握 WebDAV服务器搭建 技能,不仅能提升工作效率,还能增强对 Linux 服务器管理的理解。
如果你正在寻找一种简单、开放、跨平台的 Ubuntu文件共享 方案,WebDAV 无疑是一个值得尝试的选择。希望这篇 Ubuntu WebDAV配置 教程对你有所帮助!
