ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

如何自建 WebDAV 服务器:5 步跑起个人文件服务,手机电脑都能连

如何自建 WebDAV 服务器:5 步跑起个人文件服务,手机电脑都能连 如何自建 WebDAV 服务器5 步跑起个人文件服务手机电脑都能连【免费下载链接】webdavA simple and standalone WebDAV server.项目地址: https://gitcode.com/gh_mirrors/we/webdav在多台设备之间传文件、又不想给网盘开会员、更不想把私人资料放到公共云上时自建一台 WebDAV 服务器是最直接的办法。这个项目就是一个独立的 WebDAV 服务一份配置加一个可执行文件跑起来后任何支持 WebDAV 的客户端都能连上它读、写、删文件。先认识一下适合谁跑起来是什么样子它是一个单进程的 WebDAV 服务器没有数据库、没有管理后台适合部署在一台家用主机、树莓派或便宜的 VPS 上个人和小团队够用。跑起来之后它就是一个监听 6065 端口的目录服务你把文件放进服务器上某个文件夹客户端连上后就能直接看到、拖进拖出浏览界面就是你客户端自己的文件管理器。挑一条安装路径有 Docker 和无 Docker 怎么选看机器上有什么环境就走哪条路。有 Docker 的机器直接拉项目发布的镜像把配置文件和数据目录挂载进容器就能用后面所有配置写法完全一样。没有 Docker 的机器用 Go 工具链从源码编译编译完得到一个独立二进制后面各章按这条路演示git clone https://gitcode.com/gh_mirrors/we/webdav cd webdav go buildclone 地址不用改编译出的 webdav 二进制就在当前目录下面直接以./webdav调用。第一次启动写最小配置并验证成功在服务目录里建一个config.yml第一次只需要这四个字段address: 0.0.0.0 port: 6065 directory: ./data users: - username: admin password: admin把directory改成你真正存文件的目录password先随便写一个后面会换成加密密码。保存后启动并验证./webdav -c config.yml curl -I -u admin:admin http://127.0.0.1:6065/curl 那行的账号密码改成你配置里的值。终端打印出 listening 日志、curl 返回 200说明服务已就绪不带-u参数访问返回 401 是正常现象说明认证已生效。连上客户端传第一份文件新手最容易卡在这一步其实只差一个地址。以 macOS 为例不用装任何软件打开访达顶部菜单前往→连接服务器输入dav://你的服务器IP:6065在弹窗里填配置里的用户名和密码你的目录就会像网络共享一样出现在访达里。Windows 在资源管理器地址栏输入\\服务器IP:6065\需要系统自带的 WebClient 服务在运行手机上装任意一款 WebDAV 客户端服务器地址填http://服务器IP:6065账号密码同上。连上后随便拖一个文件进去再到服务器directory对应的文件夹里确认文件出现了第一份文件就算传成功了。进阶配置多用户、目录权限和加密密码三个字段各对应一个什么时候需要要第二个人用就在users列表里加一个账号用directory给每人一个独立目录要限制某人只能读某些内容就给他配permissionsC 创建、R 读、U 改、D 删可组合如RU或rules按路径细分权限确定要放外网就别再用明文密码。生成加密密码用自带命令输出的哈希直接填回配置./webdav bcrypt 你的密码你的密码换成真实密码填回配置时注意保留{bcrypt}前缀users: - username: admin password: {bcrypt}$2y$10$xxxxxxxxxxxxxxxxxxxx directory: /data/admin permissions: CRUDhash 那行整段替换成上一步命令的输出。放到服务器上长期跑反代 HTTPS 和开机自启长期跑要做两件事。第一件是开机自启用 systemd 托管服务文件里关键的[Service]段这样写[Unit]和[Install]段按标准模板补上即可[Service] Typesimple Userroot ExecStart/usr/bin/webdav -c /opt/webdav.yml Restarton-failureExecStart里的二进制路径和配置位置改成你自己的实际位置。第二件是把入口挪到反代后面做 HTTPS在 Nginx 里加一个 location 把请求转到127.0.0.1:6065并透传Host、X-Forwarded-For头如果客户端会用 COPY/MOVE还要按项目 README 里的示例重写Destination头否则部分操作会报 502。常见坑端口被占、外网不通、密码前缀漏了6065 端口被占。启动时报 bind 失败先用ss -lntp查谁占着这个端口然后把配置的port换成一个空闲端口。本地能连、外网不通。先在本机用 curl 确认服务本身正常再依次检查三处address是不是写成了127.0.0.1要对外访问就得是0.0.0.0、系统防火墙、云服务器安全组有没有放行对应端口。换了 bcrypt 密码却登录不上。检查配置里密码是否带{bcrypt}前缀、哈希是否以$2y$10$开头且没有被断行截断漏了前缀就会被当成明文密码去比对永远对不上。接下来可以做两件事再连一台设备手机或另一台电脑用同一个账号确认多端一致确定要长期对外用就按上一节把入口换成 HTTPS。【免费下载链接】webdavA simple and standalone WebDAV server.项目地址: https://gitcode.com/gh_mirrors/we/webdav创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表