基于 Ubuntu 24.04 部署 WebDAV

news2025/7/12 11:05:46

无域名,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 + 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.coloradmin.cn/o/2372148.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

tauri-plugin-store 这个插件将数据存在本地电脑哪个位置

tauri-plugin-store 插件用于在 Tauri 应用中以键值对形式持久化存储数据。它将数据存储在用户本地电脑的一个 JSON 文件中&#xff0c;具体路径取决于操作系统&#xff0c;并且通常位于操作系统的应用数据目录中。 默认存储位置 以默认配置为例&#xff08;使用 default sto…

一场陟遐自迩的 SwiftUI + CoreData 性能优化之旅(下)

概述 自从 SwiftUI 诞生那天起&#xff0c;我们秃头码农们就仿佛打开了一个全新的撸码世界&#xff0c;再辅以 CoreData 框架的鼎力相助&#xff0c;打造一款持久存储支持的 App 就像探囊取物般的 Easy。 话虽如此&#xff0c;不过 CoreData 虽好&#xff0c;稍不留神也可能会…

数字人驱动/动画方向最新顶会期刊论文收集整理 | AAAI 2025

会议官方论文列表&#xff1a;https://ojs.aaai.org/index.php/AAAI/issue/view/624 以下论文部分会开源代码&#xff0c;若开源&#xff0c;会在论文原文的摘要下方给出链接。 语音驱动头部动画/其他 EchoMimic: Lifelike Audio-Driven Portrait Animations through Editabl…

数据结构 集合类与复杂度

文章目录 &#x1f4d5;1. 集合类&#x1f4d5;2. 时间复杂度✏️2.1 时间复杂度✏️2.2 大O渐进表示法✏️2.3 常见的时间复杂度量级✏️2.4 常见时间复杂度计算举例 &#x1f4d5;3. 空间复杂度 &#x1f4d5;1. 集合类 Java 集合框架&#xff08;Java Collection Framework…

Python学习笔记--Django的安装和简单使用(一)

一.简介 Django 是一个用于构建 Web 应用程序的高级 Python Web 框架。Django 提供了一套强大的工具和约定&#xff0c;使得开发者能够快速构建功能齐全且易于维护的网站。Django 遵守 BSD 版权&#xff0c;初次发布于 2005 年 7 月, 并于 2008 年 9 月发布了第一个正式版本 1…

SecureCRT网络穿透/代理

场景 公司的办公VPN软件只有Windows系统版本&#xff0c;没有Macos系统版本&#xff0c;而日常开发过程中需要先登录VPN后&#xff0c;然后才能登录应用服务器。 目的&#xff1a;Macos系统在使用SecureCRT时&#xff0c;登录服务器&#xff0c;需要走Parallels Desktop进行网络…

视频添加字幕脚本分享

脚本简介 这是一个给视频添加字幕的脚本&#xff0c;可以方便的在指定的位置给视频添加不同大小、字体、颜色的文本字幕&#xff0c;添加方式可以直接修改脚本中的文本信息&#xff0c;或者可以提前编辑好.srt字幕文件。脚本执行环境&#xff1a;windowsmingwffmpeg。本方法仅…

OrangePi Zero 3学习笔记(Android篇)4 - eudev编译(获取libudev.so)

目录 1. Ubuntu中编译 2. NDK环境配置 3. 编译 4. 安装 这部分主要是为了得到libudev&#xff08;因为原来的libudev已经不更新了&#xff09;&#xff0c;eudev的下载地址如下&#xff1a; https://github.com/gentoo/eudev 相应的代码最好是在Ubuntu中先编译通过&#…

华为昇腾910B通过vllm部署InternVL3-8B教程

前言 本文主要借鉴&#xff1a;VLLM部署deepseek&#xff0c;结合自身进行整理 下载模型 from modelscope import snapshot_download model_dir snapshot_download(OpenGVLab/InternVL3-8B, local_dir"xxx/OpenGVLab/InternVL2_5-1B")环境配置 auto-dl上选择单卡…

upload-labs靶场通关详解:第三关

一、分析源代码 代码注释如下&#xff1a; <?php // 初始化上传状态和消息变量 $is_upload false; $msg null;// 检查是否通过POST方式提交了表单 if (isset($_POST[submit])) {// 检查上传目录是否存在if (file_exists(UPLOAD_PATH)) {// 定义禁止上传的文件扩展名列表…

星光云720全景VR系统升级版,720全景,360全景,vr全景,720vr全景

星光云720全景VR系统升级版&#xff0c;720全景&#xff0c;360全景&#xff0c;vr全景&#xff0c;720vr全景 星光云全景系统 系统体验地址 https://720.ailemon.cc 星光云全景新版体验地址 全景系统功能简介 基础设置&#xff1a;作品信息&#xff0c;加载样式&#xff…

第十六节:图像形态学操作-顶帽与黑帽变换

一、引言&#xff1a;形态学操作的视觉魔法 在数字图像处理领域&#xff0c;形态学操作犹如一柄精巧的解剖刀&#xff0c;能够精准地提取图像特征、消除噪声干扰&#xff0c;并增强关键细节。OpenCV作为计算机视觉的瑞士军刀&#xff0c;提供了一套完整的形态学处理工具。在掌…

将 iconfont 图标转换成element-plus也能使用的图标组件

在做项目时发现&#xff0c;element-plus的图标组件&#xff0c;不能像文档示例中那样使用 iconfont 的图标。经过研究发现&#xff0c;element-plus的图标封装成了vue组件&#xff0c;组件内容是一个svg&#xff0c;然后以组件的方式引入和调用图标。根据这个思路&#xff0c;…

大模型系列(四)--- GPT2: Language Models are Unsupervised Multitask Learners​

论文链接&#xff1a; Language Models are Unsupervised Multitask Learners 点评&#xff1a; GPT-2采用了与GPT-1类似的架构&#xff0c;将参数规模增加到了15亿&#xff0c;并使用大规模的网页数据集WebText 进行训练。正如GPT-2 的论文所述&#xff0c;它旨在通过无监督语…

ABP vNext + EF Core 实战性能调优指南

ABP vNext EF Core 实战性能调优指南 &#x1f680; 目标 本文面向中大型 ABP vNext 项目&#xff0c;围绕查询性能、事务隔离、批量操作、缓存与诊断&#xff0c;系统性地给出优化策略和最佳实践&#xff0c;帮助读者快速定位性能瓶颈并落地改进。 &#x1f4d1; 目录 ABP vN…

高品质办公楼成都国际数字影像产业园核心业务​

成都国际数字影像产业园的核心业务&#xff0c;围绕构建专业化的数字影像文创产业生态系统展开&#xff0c;旨在打造高品质、高效率的产业发展平台。 产业集群构建与生态运营 园区核心业务聚焦于吸引和培育数字影像及相关文创领域的企业&#xff0c;形成产业集聚效应。具体包…

MindSpore框架学习项目-ResNet药物分类-构建模型

目录 2.构建模型 2.1定义模型类 2.1.1 基础块ResidualBlockBase ResidualBlockBase代码解析 2.1.2 瓶颈块ResidualBlock ResidualBlock代码解释 2.1.3 构建层 构建层代码说明 2.1.4 定义不同组合(block&#xff0c;layer_nums)的ResNet网络实现 ResNet组建类代码解析…

【Spring Boot】Spring Boot + Thymeleaf搭建mvc项目

Spring Boot Thymeleaf搭建mvc项目 1. 创建Spring Boot项目2. 配置pom.xml3. 配置Thymeleaf4. 创建Controller5. 创建Thymeleaf页面6. 创建Main启动类7. 运行项目8. 测试结果扩展&#xff1a;添加静态资源 1. 创建Spring Boot项目 打开IntelliJ IDEA → New Project → 选择M…

学习spring boot-拦截器Interceptor,过滤器Filter

目录 拦截器Interceptor 过滤器Filter 关于过滤器的前置知识可以参考&#xff1a; 过滤器在springboot项目的应用 一&#xff0c;使用WebfilterServletComponentScan 注解 1 创建过滤器类实现Filter接口 2 在启动类中添加 ServletComponentScan 注解 二&#xff0c;创建…

雷赛伺服L7-EC

1电子齿轮比&#xff1a; 电机圈脉冲1万 &#xff08;pa11的值 x 4倍频&#xff09; 2电机刚性&#xff1a; pa003 或者 0x2003 // 立即生效的 3LED显示&#xff1a; PA5.28 1 电机速度 4精度&#xff1a; PA14 //默认30&#xff0c;超过3圈er18…