目前常规的win10搭建webdav服务一般是通过开启内置IIS服务的方式来进行,操作步骤多,而且在我自己的电脑上搭建好之后,在其它电脑上浏览器可以访问,但rclone或者windows内置的映射网络驱动器都挂载不上 = =。
本篇文章中使用了tfcenter这个工具来进行搭建,无需安装,下载软件后一键运行就自动搭建好了,同时支持在win10和linux上进行部署,方便快捷。再通过frp来设置下内网穿透就可以进行公网访问和挂载~
tfcenter作者CSDN地址:tfcenter的博客_CSDN博客
工具
部署流程
webdav搭建
下载上方工具内的tfcenter绿色版并解压,目录结构如下:
windows
进入windows系列对应目录,直接运行tfcenter.exe,出现提示启动成功,应用已最小化就完成了启动。
此时默认用户名admin,密码 tf12345678。
如果遇到服务启动失败,请关闭防火墙和windows defender,并尝试手动运行同目录下的 tfcenter-service.exe。
右击电脑右下角的最小化图标,弹出菜单后选择打开网页进入设置页面。
在用户管理-用户配置界面修改现有用户密码或添加用户
在webdav管理页面,可以修改需要使用的端口与协议,启用的用户和可以访问的目录,是否只读等。
设置好后,根据你设置的协议和端口号访问协议://127.0.0.1:端口号
,出现如下页面就说明部署成功了。
如果你有公网IP的话,这个时候在其它电脑浏览器上访问协议://你的公网IP:端口号
,登录后就可以访问文件了,需要挂载的话直接跳过下面的内网穿透部分看最后一节。
linux
linux部署流程类似,进入linux系列(centos7&ubuntu18等)文件夹,运行tar -xzvf tfcenter-linux-v2.0.5.tar.gz
解压文件,然后cd tfcenter-linux
进入文件夹。
执行 ./tfcenter
(需要保持终端不关闭)或者nohup ./tfcenter &
(后台运行,可以关闭终端),这时也就完成启动了。
查找管理Web的端口号 netstat -pan | grep tfcenter
默认是8866。
如果有图形化界面的话,直接打开浏览器访问127.0.0.1:管理后台端口号
进入管理后台。
没有图形化界面的话,查看下linux电脑的IP,在另一台内网电脑上访问对应IP:管理后台端口号进入管理后台。此时默认用户名admin,密码tf12345678。
后续设置请参考上面的windows部分教程即可。
注意:需要放行对应的管理后台端口号和选择的webdav服务的端口号,负责无法访问。命令参考sudo firewall-cmd –zone=public –add-port=80/tcp –permanent,将80修改为你需要放行的端口。
frp内网穿透
一般情况下,目前电脑都是内网IP,并不能直接公网访问,这时候就需要内网穿透了。我这里是使用frp,借助自己的云服务器来进行搭建,你也可以使用公共frp服务,花生壳,ngrok或者cpolar等工具。
tfcenter自己也带端口映射实现穿透,但这需要暴露一个自己服务器的公网端口,不太安全,所以后面选择frp的stcp模式进行穿透。
服务端配置
前往frp release版本地址Release v0.45.0 · fatedier/frp (github.com),选择对应的版本下载到服务器内。
执行如下命令
1 2 3 |
tar -zxvf frp_0.45.0_linux_amd64.tar.gz cd frp_0.45.0_linux_amd64/ vi frps.ini |
在vim界面修改配置文件如下所示:
1 2 3 4 5 6 7 8 9 10 11 |
[common] # frp监听端口,默认是7000,需要放行 bind_port = 7000 # 授权码,请使用强密码 token = 1234abcd # 这个token之后在客户端会用到 # frp管理后台端口,默认7500 dashboard_port = 7500 # frp管理后台用户名和密码,请改成自己的 dashboard_user = admin dashboard_pwd = admin |
保存后退出。
放行端口:
1 2 3 4 5 |
# 添加监听端口 sudo firewall-cmd --permanent --add-port=7000/tcp #对应上一步的bind_port # 添加管理后台端口 sudo firewall-cmd --permanent --add-port=7500/tcp #对应上一步的dashboard_port sudo firewall-cmd --reload |
这时可以通过nohup ./frps -c frps.ini
来在后台启动frps了。
如果需要开机自启动和更方便的查看和管理,可以将frps添加到系统服务中使用systemctl管理。
运行sudo vi /usr/lib/systemd/system/frps.service
,如下编辑文件:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
[Unit] Description=frps daemon After=syslog.target network.target Wants=network.target [Service] Type=simple # 重要:请把这里的/software/frp/frps和/software/frp/frps.ini修改为你自己的路径 ExecStart=/software/frp/frps -c /software/frp/frps.ini Restart= always RestartSec=1min [Install] WantedBy=multi-user.target |
保存退出后,重新加载配置文件
1 |
systemctl daemon-reload |
如下命令启动/停止/重启,查看状态,设置开机自启/关闭开机自启
1 2 3 4 5 6 7 8 9 10 11 12 |
# 启动 systemctl start frps # 停止 systemctl stop frps # 重启 systemctl restart frps # 查看服务状态 systemctl status frps # 设置开机自启 systemctl enable frps # 关闭开机自启 systemctl disable frps |
客户端配置
需要在你部署webdav服务的电脑和需要访问服务的电脑上都配置客户端
部署webdav服务的电脑上下载frp,如下编辑frpc.ini文件:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
[common] # 你的frp服务端的公网IP server_addr = XXX.XXX.XXX.XXX # 你的frp服务端的监听端口,即frps.ini里的 bind_port server_port = 7000 # 对应frps.ini里的token token = 1234abcd [webdav] # 连接类型,选择stcp type = stcp # 连接密钥,请使用强密码,最好不要和上面的token重合 sk = abcdefg # 本机环回地址 local_ip = 127.0.0.1 # 本机webdav服务的端口,也就是刚才在tfcenter管理后台里设置的端口 local_port = 8900 |
需要访问webdav服务的电脑上下载frp,如下编辑frpc.ini文件:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
[common] # 你的frp服务端的公网IP server_addr = XXX.XXX.XXX.XXX # 你的frp服务端的监听端口,即frps.ini里的bind_port server_port = 7000 # 对应frps.ini里的token token = 1234abcd [webdavvisitor] # 连接类型,选择stcp type = stcp # 连接角色为访问者 role=visitor # 需要连接的服务的名字,一定要对应 server_name=webdav # 连接密钥,需要和刚才的sk一致 sk = abcdefg # 本机环回地址 bind_addr=127.0.0.1 # 本地访问端口地址,用于访问服务,可以随便选择一个没有被占用的 bind_port=6000 |
在两台客户端上都使用
.frpc.exe -c frpc.ini
(windows系统)或者nohup ./frpc -c frpc.ini
(linux系统)来启动客户端即可,注意windows的话运行完毕不要关闭终端。
启动完成后,在需要访问服务的电脑浏览器中进入127.0.0.1:本地访问端口
,输入用户名和密码就已经可以访问了。
将webdav挂载为本地磁盘
每次在浏览器内访问显然是不方便的,我们可以将webdav服务挂载为本地磁盘进行使用,可以使用windows自带的映射网络驱动器,rclone或者raiddrive等工具进行挂载。
- rclone的挂载方法请参考:Clone 挂载Webdav
- raiddrive请参考: RaiDrive通过WebDAV挂载阿里云盘
如果不想下载软件的话,可以直接用windws自带的映射网络驱动器,简单好用。
先参考Windows下WebDAV映射网络驱动器若干问题 -博客园 修改注册表,使得挂载可以支持http协议和大文件复制。
然后打开资源管理器,点击映射网络驱动器,在弹出的窗口内输入你的访问地址,部署端有公网IP的话就是http(s)://公网IP:webdav端口
,通过内网穿透的话,参考上面的frp部署的话就是http(s)://127.0.0.1:本地访问端口
。
点击连接后,输入webdav的用户名和密码就可以了。
浏览量: 49