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 + 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)。