本文非完全小白文,只是提及关键,太基础的不说。不懂的请自行百度,不作解答。且本文的意图在于分享,而不是教你 Linux 基础。不过也算是超级基础了
大家好,我是总是那么无语
这几天我在折腾着 Caddy,因为要用到他的两个插件。
这里两个插件分别是,FileManager 和 WebDav
这里两个插件可以很好地管理文件以及使用文件
因为个人的小鸡多一些而且经常变动,每次配置就要花十来分钟配置就很蛋疼了。所以又写了个脚本。
本脚本面向的用户
本脚本适用于
小鸡有较大的硬盘
或者云端账号有较大空间(使用 rclone 挂载/davfs2)
而且需要用到 webdav 来备份上传/下载
有离线下载需求等等
个人需求以及为何选择此来搭建
我个人因为开发的原因,有些源或者包,慢得要死。还有下一些小片片,也是一样的情况。
所以自己就有离线下载的需求。
为毛不挂梯子是吧,因为不墙,加入了黑名单走梯子也很慢。。简直是有毒。
还有手机的纯纯写作需要用到 webdav 来备份,或者有时候可以通过手机访问下资料。
WebDav
WebDav 在全平台都有产品为它服务,那么就意味着你可以随时随地地访问资料,绝对是折腾的首选。
选取的客户端得当就可以在线浏览,在线看视频
FileManage
FileManage 是 Caddy 的一个插件,实则为一个 web 的文件管理,有中文。在电脑上面的浏览器操作的时候就非常之直观,而且能够在线看 PDF,视频,图片等。不需要第三方的软件支持(浏览器算不算,滑稽)。
Aria2
Aria2 是一个非常之优秀的全平台下载开源应用。有很多的开源项目的支持,你可以在浏览器上面,电脑上面,手机上面,发现很多与它相关的插件,而且你还可以随时通过 JSON-RPC 服务来操作你的下载任务。 Aria2 支持主流的下载链接,常规的下载链接,磁力链,种子,Metalink。 Aria2 本身是一个命令行下载工具,拥有众多可调的参数。让开发用户着迷,让普通用户望而却步。
Rclone
Rclone 是一个 Github 上面的一个开源项目,专门开发用来在 Linux 上面同步文件/文件夹,上传的一个命令行工具。
专门针对各种主流主流云盘,例如
- Amazon Drive
- Amazon S3 / Dreamhost / Ceph / Minio / Wasabi
- Backblaze B2
- Box
- Dropbox
- FTP
- Google Cloud Storage
- Google Drive
- HTTP
- Hubic
- Mega
- Microsoft Azure Blob Storage
- Microsoft OneDrive
- OpenDrive
- Openstack Swift / Rackspace cloud files / Memset Memstore / OVH / Oracle Cloud Storage
- pCloud
- QingStor
- SFTP
- Webdav / Owncloud / Nextcloud
- Yandex Disk
- The local filesystem
而 Rclone 里面的 FUSE mount 是我用到的一个功能。
可以把上面的云盘都挂载到 Linux 主机上面(OVZ 架构需要商家开启 FUSE 模块)
那么就意味着,你可以把小小的主机的硬盘容量变相扩大了。
域名以及解析
你需要先拥有一个域名并且把 A 记录给解析好
可以到去注册一个免费域名,或者花钱购买一个域名
免费和花钱,之间自然是有区别的,请自行百度
原本想让你们去百度,想想还是自己带一次算了
打开freenom
搜索你要的域名
选一个没有用过的域名。一个就行了。
点现在获取,再点购物车
然后在右边选免费的月数,最高 12 个月
老用户直接登录,新用户左边注册 我是老用户直接就登录了
新用户一系列注册之后都会跳到这个界面的
这里填的是域名信息
如果你只是想玩玩的,手机号码和 email 请填写好,其他随意填。 如果不是,请如实填写
填写完之后,打钩,点 Complete Order
点 Services 再点 My Domains
找到刚刚注册的域名,点最后面的 Manage Domain
点 Manager Freenom DNS
Type | Name | Target |
---|---|---|
A | 看图 | server ip |
A | www | server ip |
A | webdav | server ip |
最后的服务器 IP 写你自己的,别写我这个拿来做教程的服务器 IP
别忘了,最后的 webdav
到时候 webdav 的访问地址为 https://webdav.xxxxx.xxx
看图说话,最后点 Save Changes
Save Changes Save Changes Save Changes
然后在自己的电脑上面 ping 一下,下面这几个域名,看看通不通。
DNS 解析全球生效需要一定的时间,别着急。
把 cdfm.ga 换成自己刚刚注册的那个
1ping cdfm.ga
2ping www.cdfm.ga
3ping webdav.cdfm.ga
正常情况就是下面这个状况
请确保域名 A 记录已正确解析至服务器 IP
不要开启任何的 CDN,因为 CDN 会使得 Caddy 自动申请域名证书的时候失效。
如果需要换域名管理商,请自行百度解决。
使用脚本安装 Caddy + FileManage + WebDav
本人开发此脚本的时候是在 Debian9 x64 上面开发的。 而且本教程用的服务器系统也是 Debian9 x64 只是在下面几个系统里面测试过,用不用得了自测,特别是 centos 系统。 我是不用 centos 系统的,没啥经验。 也对这个系统的开发兼容的动力基本为 0,因为我不用,很简单。 不用喊我兼用 centos,我是不会动手的。我太懒了。
请自行来这里fork,自己改
Centos7 x64 Centos6 x64 Debian9 x64 Ubuntu16 x64
1wget -N --no-check-certificate https://github.com/zsnmwy/Caddy-FileManage-WebDav/releases/download/v1.0/caddy-filemanage-webdav-install.v1.0.sh && chmod 777 caddy-filemanage-webdav-install.v1.0.sh && bash caddy-filemanage-webdav-install.v1.0.sh
运行脚本需要 root
把上面的命令丢到 shell 里面回车
然后出来选择界面
选 1 进行安装
然后会让你输入几个信息
域名
邮箱
webdav 的账号
webdav 的密码
webdav 的挂载点
FileManager 的挂载点
详细地说下这几个填写的问题。
域名
域名,举个例子
你申请的域名是
1xxxx.xxx
那么填写的时候就是填这个
不要填
1www.xxxx.xxx
记得不要带 www.
不然写入的 Caddy 配置文件会出错的
不要开启任何的 CDN,因为 CDN 会使得 Caddy 自动申请域名证书的时候失效。
邮箱
邮箱就是邮箱了
起码把格式给写对
1xxx@xxx.com
这个是用来让 Caddy 自动申请 ssl 证书
WebDav FileManager
webdav 账号就是当你使用 webdav 服务的时,登入的账号名
webdav 密码参照上条
webdav 挂载点,其实就是一个管理目录
到时候你只能够管理到这个目录的文件
例如,路径是 /mnt/webdav
那么只能够管理到这个路径下面的文件
像 /home /home/ubuntu 这些就碰不到。
记得需要的是绝对路径
其实相对路径也行,问题脚本里面的相对路径不是你想要的
直接在新建目录的时候就用pwd
取一下路径就是了
FileManager 的挂载点同上
回到安装正题
填写完信息后接来下就是回车,等他安装完
安装完之后,现在并不能够访问来着,因为 Caddy 还没有启动
回到目录,启动刚刚下好的脚本
1cd ~ #刚刚运行脚本的那个目录
2bash caddy-filemanage-webdav-install.v1.0.sh #输入 c 再按TAB补全就是。而且这脚本的名字可能会变化,版本变,他就变了。
3
4#####
5也可以用刚刚上面的那条命令再次启用脚本
6
选择 2
因为 Caddy 申请证书的时候是用 Let’s Encrypt
需要你同意条款
同意之后他就会自动申请证书了,只要出现网址了
你就可以通过给出的网址去访问 FileManager 了
注意 webdav 开头的网址,是没有 web 服务的,就是没有网页的。
但你也可以通过管理软件去连接 webdav 服务
我的是 iMac ,Finder 可以直接使用 webdav 服务
确定访问没有问题了,就按 Ctrl + C
关掉 caddy
如果访问有问题,应该是防火墙的问题。请自行解决。
1cd ~ #刚刚运行脚本的那个目录
2bash caddy-filemanage-webdav-install.v1.0.sh #输入 c 再按TAB补全就是。而且这脚本的名字可能会变化,版本变,他就变了。
3
4#####
5也可以用刚刚上面的那条命令再次启用脚本
6
在脚本里面选 3
3 的作用就是把 caddy 丢到 PM2 里面去管理,caddy 这程序死了,PM2 会帮他自启。
到这里为止,使用脚本安装 Caddy + FileManage + WebDav 就算完了
注意!!
1############# PM2 ############
23.启动Caddy
34.查看Caddy日志
45.重启Caddy
56.删除Caddy
6############# PM2 ############
这里的选择都是针对于 PM2 对 caddy 的管理的,仅仅是进程管理
FileManage
修改密码和语言
点左边的 setting,然后看图操作就好了
你可以直接拿这个来看 PDF,部分格式的视频等等
Aria2
Aria2 的安装我是选择使用 Toyo 的脚本
毕竟能不造轮子就不造轮子
在脚本里面按 7 根据提示安装即可
安装完之后,把下载目录改成上面 FileManager 和 WebDav 的挂载目录
这样子,你就能够在浏览器,webdav 服务上管理下载的文件了
在电脑网页端,我推荐使用AriaNg
是非常之方便
你只需要在 GitHub下载压缩包,然后解压
双击打开 index.html 即可用了
然后把它添加到浏览器的收藏夹就好了
而 Android 方面,我推荐用 Aria2App
IOS?没找过
以及 Aria2 的 on-download-complete 这一项配置是值得你探究的
可以在下载完之后执行一个脚本
实例可以参照这个
Rclone
这个开源的项目地址:https://github.com/ncw/rclone 以及这个项目的 wiki:https://rclone.org/docs/
在脚本里面集成了 Rclone 的安装,在脚本里面选下 8 就行
然后就是配置账号信息以便于连接到各大网盘
网上也有很多教程了,我也不造轮子了
贴几个教程出来,让大家参考了
本文首次完成于 2018/5/30 23:28
转载请注明出处