基于 Ubuntu 24.04 部署 WebDAV

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.pswp.cn/bicheng/80634.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/80634.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/80634.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

node.js 實戰——在express 中將input file 美化,并完成裁剪、上傳進度條

美化上傳按鈕 在ejs 頁面 <!DOCTYPE html> <html> <head><meta charset"utf-8"></meta><title><% title %></title><link relstylesheet href/stylesheets/form.css/><!-- 本地 Bootstrap 引入方式 -->…

MySQL為什么選擇B+樹

1.hash表&#xff1a;不支持范圍查詢 2.跳表&#xff1a;索引層增加太快&#xff0c;IO成本增加太快 3.二叉樹、AVL樹、紅黑樹&#xff1a;樹高度增加太快&#xff0c;IO成本增加太快 4.B樹&#xff1a;樹高增加太快&#xff1b;范圍查詢只能走中序遍歷&#xff0c;IO成本很…

go程序編譯成動態庫,使用c進行調用

以下是使用 Go 語言打包成 .so 庫并使用 C 語言調用的完整步驟&#xff1a; 1. Go 語言打包成 .so 庫 &#xff08;1&#xff09;編寫 Go 代碼 創建一個 Go 文件&#xff08;如 calculator.go&#xff09;&#xff0c;并定義需要導出的函數。導出的函數名必須以大寫字母開頭…

YOLO-World:基于YOLOv8的開放詞匯目標檢測

文章目錄 前言1、出發點2、方法2.1.TextEncoder2.2.ReparmVLPAN2.3.輸出頭 3、實驗3.1.數據集3.2.LVIS測試集 總結 前言 本文介紹一篇來自騰訊的開放詞匯檢測工作&#xff0c;發表自CVPR2024&#xff0c;論文鏈接&#xff0c;開源地址。 1、出發點 GroundingDINO在開放詞匯檢測…

華為網路設備學習-21 IGP路由專題-路由過濾(filter-policy)

一、路由過濾&#xff08;filter-policy&#xff09; 1、用于控制路由更新、接收的一個工具 2、只能過濾路由信息&#xff0c;無法過濾LSA 二、路由過濾&#xff08;filter-policy&#xff09;與動態路由協議 1、距離矢量路由協議 RIP動態路由協議 交換的是路由表&#xff0…

美化IDEA注釋:Idea 中快捷鍵 Ctrl + / 自動注釋的縮進(避免添加注釋自動到行首)以及 Ctrl + Alt + l 全局格式化代碼的注釋縮進

打開 Settings 界面&#xff0c;依次選擇 Editor -> Code Style -> Java&#xff0c;選擇 Code Generation&#xff0c; 取消 Line comment at first column 和 Block comment at first column 的勾選即可&#xff0c; 1、Line comment at first column (行注釋在第一列…

服務器數據恢復—硬盤壞道導致EqualLogic存儲不可用的數據恢復

服務器存儲數據恢復環境&故障&#xff1a; 一臺EqualLogic某型號存儲中有一組由16塊SAS硬盤組建的RAID5陣列。上層采用VMFS文件系統&#xff0c;存放虛擬機文件&#xff0c;上層一共分了4個卷。 磁盤故障導致存儲不可用&#xff0c;且設備已經過保。 服務器存儲數據恢復過程…

openharmony系統移植之gpu mesa3d適配

openharmony系統移植之gpu mesa3d適配 文章目錄 openharmony系統移植之gpu mesa3d適配1. 環境說明2. gpu內核panfrost驅動2.1 使能panfrost驅動2.2 panfrost dts配置 3. buildroot下測試gpu驅動3.1 buildroot配置編譯 4. ohos下mesa3d適配4.1 ohos下mesa3d編譯調試4.1.2 編譯4.…

Kafka生產者send方法詳解

Kafka生產者send方法詳解 1. send方法的工作原理 1.1 基本流程 #mermaid-svg-EXvKiyf8oSlenrxK {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-EXvKiyf8oSlenrxK .error-icon{fill:#552222;}#mermaid-svg-EXvKiyf…

【sdkman】sdk命令使用簡介

SDKMAN! 使用指南 SDKMAN! 是一個用于管理多個軟件開發工具包版本的命令行工具。 基本命令 安裝 SDK # 安裝最新穩定版 sdk install java# 安裝特定版本 sdk install scala 3.4.2# 安裝本地版本 sdk install groovy 3.0.0-SNAPSHOT /path/to/groovy-3.0.0-SNAPSHOT sdk ins…

開源字體設計工具字玩 FontPlayer

開源字體設計工具字玩 FontPlayer 內測版 v0.2.0 于 2025 年 5 月 9 日發布 基礎功能&#xff1a;用戶可以使用該工具繪制字體并導出 otf 字體文件&#xff0c;設計屬于自己的字庫。腳本功能&#xff1a;提供了腳本功能&#xff0c;用戶可以用程序的方式繪制字形組件&#xff0…

快速入門深度學習系列(3)----神經網絡

本文只針對圖進行解釋重要內容 這就是入門所需要掌握的大部分內容 對于不懂的名詞或概念 你可以及時去查 對于層數 標在上面 對于該層的第幾個元素 標在下面 輸入層算作第0層 對于第一層的w b 參數 維度如下w:4*3 b:4*1 這個叫做神經元 比如對于第一層的神經元 這里說的很…

【Python 算法零基礎 2.模擬 ⑤ 基于棧和隊列】

目錄 基于棧 Ⅰ、1441. 用棧操作構建數組 算法與思路 ① 初始化操作序列 ② 遍歷數字范圍 ③ 判斷并添加操作 ④ 提前結束循環 ⑤ 返回操作序列 基于隊列 Ⅰ、1700. 無法吃午餐的學生數量 思路與算法 ① 統計學生對三明治的需求&#xff1a; ② 遍歷三明治供應順序&#xff1a;…

管家婆實用貼-如何在Excel中清除空格

我們在使用管家婆軟件時&#xff0c;經常會用到Excel表格導入導出數據&#xff0c;在使用Excel整理數據時&#xff0c;數據中的空格可能會導致計算和分析出現問題。無論是多余的前導空格、尾部空格還是單元格中的不必要空格&#xff0c;清除它們都是確保數據準確性的關鍵。今天…

uniapp-商城-53-后臺 商家信息(更新修改和深淺copy)

1、概述 文章主要討論了在數據庫管理中如何處理用戶上傳和修改商家信息的問題&#xff0c;特別是通過深淺拷貝技術來確保數據更新的準確性和安全性。 首先&#xff0c;解釋了深拷貝和淺拷貝的區別&#xff1a;淺拷貝使得兩個變量共享相同的內存地址&#xff0c;而深拷貝則創建新…

numpy模塊綜合使用

一、numpy模塊的綜合使用方法 # 使用矩陣的好處&#xff0c;矩陣對于python中列表&#xff0c;字典等數據類型一個一個拿來計算是會方便計算很多的&#xff0c;底層使用的是c語言 # 在數據分析和數據處理的時候也經常常用 import numpy as np array np.array([[1,2,3],[2,3,4…

【github分享】開發者學習路線圖

地址&#xff1a;GitHub - kamranahmedse/developer-roadmap: Interactive roadmaps, guides and other educational content to help developers grow in their careers. 介紹&#xff1a;涵蓋了所有領域的開發者路線圖&#xff0c;前端、后端、運維、全棧、編程語言、AI等。…

《Linux命令行大全(第2版)》PDF下載

內容簡介 本書對Linux命令行進行詳細的介紹&#xff0c;全書內容包括4個部分&#xff0c;第一部分由Shell的介紹開啟命令行基礎知識的學習之旅&#xff1b;第二部分講述配置文件的編輯&#xff0c;如何通過命令行控制計算機&#xff1b;第三部分探討常見的任務與必備工具&…

[Java實戰]Spring Boot 解決跨域問題(十四)

[Java實戰]Spring Boot 解決跨域問題&#xff08;十四&#xff09; 一、CORS 問題背景 什么是跨域問題&#xff1f; 當瀏覽器通過 JavaScript 發起跨域請求&#xff08;不同協議、域名、端口&#xff09;時&#xff0c;會觸發同源策略限制&#xff0c;導致請求被攔截。 示例場…

MyBatis快速入門——實操

默認&#xff1a;電腦搭建好了Maven環境 本次入門實驗使用的idea版本&#xff1a;ideaU2022.1 目錄 一&#xff1a;前期準備工作 1. 創建一個springboot工程 2. Maven環境配置 3. 在mysql數據庫中創建一個user表 4. 編寫實體類User 二&#xff1a; 引入MyBatis的相關依賴…