【教程】使用docker搭建WebDAV服务

这篇具有很好参考价值的文章主要介绍了【教程】使用docker搭建WebDAV服务。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

由于zotero和joplin等软件同步需要用到WebDAV,而国内WebDAV用的最多的坚果云存在一些限制,用的还是不太放心,于是便自建WebDAV服务.WebDAV是一项比较成熟的技术,其实现方式很多.本次使用的是docker-webdav的开源项目,其使用docker进行部署,操作十分方便.

环境

  • 腾讯云服务器
  • CentOS 8.2

安装docker,docker-compose

  • docker安装教程

  • docker-compose安装

拉取镜像

docker pull bytemark/webdav

启动

通过docker启动

mkdir <本机的webdav共享文件夹目录>
docker run --restart always -v <本机的webdav共享文件夹目录>:/var/lib/dav/data \
    -e AUTH_TYPE=Digest -e USERNAME=test01 -e PASSWORD=123 \
    --publish 80:80 --name webdav \
    -e LOCATION=/webdav -d bytemark/webdav

停止容器

docker stop webdav

通过docker-compose启动(推荐)

将配置写入yaml避免每次启动带一堆参数

mkdir 
mkdir compose
cd compose
vim docker-compose.yml
version: '1'
services:
  webdav:
  	container_name: mydav
    image: bytemark/webdav
    restart: always
    ports:
      - "80:80"
    environment:
      AUTH_TYPE: Digest #HTTP使用digest,HTTPS使用Basic
      USERNAME: test01
      PASSWORD: 123
    volumes:
      - <本机的webdav共享文件夹目录>:/var/lib/dav/data

启动docker-compose

docker-compose up -d    
# -d为后台运行

此时可以访问服务器的ip,能看到共享文件夹的内容

docker webdav,docker,容器,运维

关闭

docker-compose down

设置密码

除了在docker-compose.yml中设置密码也可以将验证信息写入文件user.passwd,这样可以多用户访问,并且密码更改可以不用重启docker-compose

# 安装 htdigest
yum install httpd-tools
# 在 compose 目录中
touch user.passwd
htdigest -c user.passwd WebDAV <你的用户名> # -c是新建文件夹或覆盖,不带参数是追加
#根据提示输入密码并重复
  • htdigest用法

中文乱码修复

通过测试发现,当文件名中出现中文时会出现乱码,解决方案参考issue

docker ps #查看容器id
docker exec -it <容器id> /bin/bash
vi conf/conf-enabled/dav.conf
<Directory "/var/lib/dav/data/">
  Dav On
  Options Indexes FollowSymLinks

  AuthType Basic
  AuthName "WebDAV"
  IndexOptions Charset=utf-8      <-----------添加这一行
  AuthUserFile "/user.passwd"
  <RequireAny>
    Require valid-user
  </RequireAny>
</Directory>

从容器创建一个新的镜像

 docker commit <容器id> bytemark/webdav:v1.1

最终的配置文件

version: '1'
services:
  webdav:
    container_name: mydav
    image: bytemark/webdav:v1.1
    restart: always
    ports:
      - "80:80"
    environment:
      #SERVER_NAMES: <你的域名>
      LOCATION: /dav  # 客户端连接url,默认是/
      AUTH_TYPE: Digest
      #USERNAME: xxxxx #如果挂载了user.passwd可以不用这里的用户名和密码
      #PASSWORD: xxxxx 
      ANONYMOUS_METHODS: '' #GET,PROPFIND,OPTIONS,HEAD #ALL #未登录用户允许的HTTP方法,如果需要未登录也能读就要设置为后面的一串
    volumes:
      - <本机的webdav共享文件夹目录>:/var/lib/dav/data
      - /root/compose/user.passwd:/user.passwd #前者改成实际的user.passwd的路径

客户端测试

## windows

客户端使用RaiDrive进行测试,可以将webdav的共享文件夹挂载到本地硬盘

docker webdav,docker,容器,运维

  • 如果是http不勾选地址,端口使用80

设置完成后在文件资源管理器中看到挂载的共享盘,使用方式和正常的文件夹相同

docker webdav,docker,容器,运维

mac

右键访达连接服务器,输入http://<IP>/dav,按提示输入账户密码即可使用

  • ref

参考

  • Run your own WebDAV server with Docker

  • Docker使用WebDav服务器

  • docker-webdav github文章来源地址https://www.toymoban.com/news/detail-780348.html

到了这里,关于【教程】使用docker搭建WebDAV服务的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 蓝易云:Ubuntu使用nginx搭建webdav文件服务器的详细过程

    在 Ubuntu 上使用 Nginx 搭建 WebDAV 文件服务器的详细过程如下: 安装 Nginx: 创建 WebDAV 目录: 配置 Nginx: 打开 Nginx 配置文件: 在  server  块内添加以下配置: 保存并关闭文件。 创建用户认证文件: 替换  your_username  为你想要设置的用户名。根据提示输入密码并确认。 检查

    2024年02月20日
    浏览(49)
  • CentOS 7 搭建 WebDav 服务器

    大部分参考了这篇文章:https://blog.acesheep.com/index.php/archives/834/ 本文对其中的关键点进行记录,并调整了部分配置,解决mac os finder连接上之后,无法新建和修改文件的问题 1、安装编译环境 增加了ghostscript,后面zlib会依赖到 2、创建非特权账户 这里和原文的区别是第一条命令

    2024年04月16日
    浏览(33)
  • 搭建WebDAV服务手机ES文件浏览器远程访问

    有时候我们想通过移动设备访问群晖NAS 中的文件,以满足特殊需求,我们在群辉中开启WebDav服务,结合cpolar内网工具生成的公网地址,通过移动客户端ES文件浏览器即可实现移动设备远程访问NAS文件,下面介绍步骤 在群晖套件中心,我们搜索 webdav ,找到且点击安装套件(如已安装可以

    2024年02月12日
    浏览(42)
  • 【搭建WebDAV服务手机ES文件浏览器远程访问】

    有时候我们想通过移动设备访问群晖NAS 中的文件,以满足特殊需求,我们在群辉中开启WebDav服务,结合cpolar内网工具生成的公网地址,通过移动客户端ES文件浏览器即可实现移动设备远程访问NAS文件,下面介绍步骤 在群晖套件中心,我们搜索 webdav ,找到且点击安装套件(如已安装可以

    2024年02月12日
    浏览(41)
  • macOS上基于httpd-dav搭建WebDav服务

    在局域网中,要想共享或访问 macOS 机器上的文件,可以通过文件共享、屏幕共享或 远程登录 这几种方式: FS (SMB): Set up file sharing on Mac,Control access to your Public folder on Mac。 SSH +SFTP: Allow a remote computer to access your Mac Screen Sharing (VNC): Turn Mac screen sharing on or off,Share the sc

    2024年04月16日
    浏览(25)
  • 阿里云服务器docker配置实现NAS/webdav访问

    最终踩雷是 未设置端口 (第四点),公网IP访问始终没有响应,在此感谢以下四位作者 1、NAS访问阿里云 使用阿里云盘打造免费 WebDAV 服务 nas访问阿里云 plex挂载阿里云访问_NAS存储_什么值得买 2、阿里云本地访问 zotero+阿里云盘+aliyun driver 实现文献管理云存储_北边颇有心气儿

    2024年02月12日
    浏览(42)
  • 【私有云】 Windows IIS搭建webdav服务实现公网文件共享「内网穿透」

    常用的文件共享有三种:FTP、Samba、WebDAV。FTP虽然简单方便、容易部署,但它的的传输效率低、安全性不佳,目前并不推荐使用。SMB使用的是445端口,因为安全原因,445端口可能会被封掉,所以SMB在内网中的应用会受限。 而WebDAV是基于HTTP的共享协议,用户可以使用用户名和密

    2023年04月09日
    浏览(43)
  • Windows系统搭建WebDAV服务并结合内网穿透实现公网访问本地文件

    在Windows上如何搭建WebDav,并且结合cpolar的内网穿透工具实现在公网访问。 WebDav是一种基于http的协议,允许用户在服务器上创建、修改、删除和移动文件,它的优点是可以方便的通过网络访问和管理文件,并且支持多用户协作,提供安全的加密机制。使用WebDav协议,用户可以

    2024年02月01日
    浏览(56)
  • 如何在Windows上搭建WebDAV服务并通过内网穿透实现公网访问

    在Windows上如何搭建WebDav,并且结合cpolar的内网穿透工具实现在公网访问。 WebDav是一种基于http的协议,允许用户在服务器上创建、修改、删除和移动文件,它的优点是可以方便的通过网络访问和管理文件,并且支持多用户协作,提供安全的加密机制。使用WebDav协议,用户可以

    2024年01月16日
    浏览(49)
  • [新版教程] 阿里云盘通过Docker挂载本地WebDAV实现全自动上传/下载 Rclone挂载本地

    利用开源开发者提供的 Docker 制作阿里云盘的 WebDAV,这个 WebDAV 可以基于本地服务器实现保存后 NAS 就会自动下载这个文件,整个过程自动化,不需要用户手动干预,下载速度非常快,使用非常方便。 点击这里使用阿里云盘扫码获取你的账户 token:https://messense-aliyundrive-webda

    2024年02月12日
    浏览(68)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包