自己搭建的Cloudreve的离线服务一直都没有用,最近群里的带飞大佬说打算在服务器搞了下载工具搭配filebrowser使用下载动画在线看,突然灵感一发,想起了我Cloudreve里面的离线服务,所以就搞了起来了,搞了两天,熬过夜,累死累活,终于搞定了。不过还是有很多遇到的问题不知道原因,不过“六字真言”驱使我重新安装Cloudreve,现在能正常用了。现在首推安装方法是直接用解压包安装Cloudreve,真的舒服【最后再提一下怎么直接解压安装】。Cloudreve的离线是接入Aria2下载工具,所以还是蛮复杂的。
本文涉及vi/vim的使用,不懂得请去先学习有关vi/vim的使用,这里不说了。
也可以用nano,先安装然后把命令的vi改成nano即可。
第一步:下载aria2
我这里下载aria2是直接用centos的自带aria2源安装,还有一种方法是编译安装,比较复杂,就不说编译安装了,可以直接看这里——————>centos安装aria2,下面都是基于我用自带源的安装方法去配置。
自带源安装命令:
yum install aria2
第二步:配置aria2
建立aria2的配置文件目录
aria2的配置文件目录是可以任意地方建立的,我个人选/etc/aria2作为目录,以下是建立目录命令
mkdir 目录路径
例子:
mkdir /etc/aria2
建立配置文件
在刚刚建立的配置文件目录下建立配置文件:
建立session文件:
touch /配置文件目录/aria2.session建立conf文件:
vi /配置文件目录/aria2.conf
输入配置信息,此处不提供配置信息,配置信息请到百度上找,这里要注意一下的是:
#启用RPC服务的开关,必须设置为true
enable-rpc=true
#RPC服务的端口,默认为6800,可以随意安排一个非特殊端口
rpc-listen-port=
#设置PRC服务的密钥,随你喜欢填写
rpc-secret=
这三条东西一定要填写好,关系到后面的连接。
这里要提一下的是:
如果是阿里云服务器搭建的话,必须要在控制台开放你自定的RPC端口,也就是上面的rpc-listen-port,开放TCP即可,同时还要在服务器防火墙内设置端口开放,否则就无法使用,而其他服务器直接在防火墙开放端口即可。
第三步:添加服务控制
建立systemctl服务文件
vi /usr/lib/systemd/system/aria2.service
在里面插入以下内容,并修改相关点:
[Unit]
Description=aria2c
[Service]
User=此处输入php-fpm所在的用户组,我这里是www
ExecStart=/aria2c的文件路径/aria2c --conf-path=/配置文件路径/aria2.conf
Restart=on-abort
[Install]
WantedBy=multi-user.target
重新加载deamon,让新的服务文件生效
systemctl daemon-reload
systemctl enable aria2
第四步:添加定时任务
添加定时任务使用Crontab,需要用到Crontab服务。
打开Crontab编辑命令:
crontab -e
进入之后输入以下命令
* * * * * curl http://你的域名/Cron
注意:如果网盘站点有SSL证书,也就是443端口,以https开头的话,相应的要把http改成https
第五步:修改相关权限
进入aria2c的文件路径,修改aria2c文件和aria2.conf的用户组
chown -R www:www aria2c文件路径
chown -R www:www aria2.conf文件路径
//www:www是根据我自己的情况而定,有些使用Caddy的,这里修改的是caddy:caddy
确保网盘的public/downloads和public/upload的权限是777,虽然一般在安装的时候已经设置好了,但是如果没有,就要运行以下命令:
chmod 777 网盘文件夹路径/public/downloads 网盘文件夹路径/public/upload
第六步:开启相关端口
上面提到了,这里就说一下,阿里云服务器搭建的,必须要先在控制台开放你自定的RPC端口,然后再去防火墙开放RPC端口,其他服务器直接防火墙即可。防火墙命令如下:
firewall-cmd --zone=public --add-port=自定的RPC端口号/tcp --permanent
//默认:firewall-cmd --zone=public --add-port=6800/tcp --permanent
firewall-cmd --reload //防火墙规则重载
部分机子可能装完LNMP之后会锁定防火墙,可以用以下命令先解锁并且启动http和https服务
systemctl unmask firewalld
firewall-cmd --permanent --add-service=http --add-service=https
无论设置了多少,设置了什么,都要记得重载一下防火墙:firewall-cmd --reload
防火墙的部分命令参考:关于建站时候的相关端口(80和443等)和相关服务(selinux)
第七步:测试是否使用
检测是否成功安装
aria2c –v //aria2的版本信息
检测是否能启动
/aria2c的文件路径/aria2c --conf-path=/配置文件路径/aria2.conf
//没有[ERROR]即为启动成功
检测是否能下载
aria2c https://pan.gxiaorz.top/Share/Download/3tq8rjbn
//没有not complete字样就证明可以下载
检测外网是否能连接
下载AriaNg,解压到D:\ProgramFiles\aria2(路径不能有错,多了个空格也会影响)
然后打开AriaNg.lnk
进入AriaNg 设置,选择第一个RPCAria2 RPC地址:输入你的服务器IPRPC密钥:输入上面填在aria2.conf里面的rpc-secret=后面的内容
这时候右上角就会出现 配置已经修改,请重新加载页面使其生效 ,下面有个重启加载页面的按钮,重启过后,如果连接成功,就会在软件左侧的Aria2状态那里显示已连接,否则就是服务器的aria2.conf配置不对或者端口没打开。
第八步:配置Cloudreve后台
打开Cloudreve后台:域名/admin,找到离线下载进入
RPC Server:http://127.0.0.1:RPC端口
//RPC端口输入你自定义那个,我自己是默认6800
RPC Token:输入RPC密钥
//RPC密钥就是上面填在aria2.conf里面的`rpc-secret=`后面的内容
下载临时目录:站点文件夹/public/downloads
//这个就没什么解释的了,如果没有修改777权限一定要修改
其他下载参数:没什么必要添加
//其实就是在这里加入原写在aria2.conf配置文件里面内容,有需要最好直接在aria2.conf里面改
第九步:测试Cloudreve是否能用
在网盘页面点击有上的+号,选择离线下载,然后把一些下载链接放上去,点击新建下载任务
疑问排除:
Q1. 能成功建立下载,离线下载任务列表显示下载完成,但是找不到文件
A1. 原因在aria2c的用户组没有设置为和php-fpm的用户组一样,导致文件不能从下载目录移动到指定储存位置,先检查php-fpm的用户组是属于谁的,然后修改aria2c的用户组
Q2. 能建立下载链接,但是离线下载任务列表和完成列表都没有,也找不到文件
A2. 先检查Log,如果log没有什么实质的报错,那么就备份网盘内文件先重新安装一下Cloudreve,不要还原原来的数据库,也不要替换原来上传文件的文件夹,重新安装重新上传
Q3. 提示500报错,登录过期,请重新登录
A3. 这个暂时还没找到原因,还是先想Q2的解决方法那样做吧
Q4. 提示undefined
A4. 后台设置的配置信息错了,检查端口号和Token
Q5. 能建立连接,但是下载失败
A5. 后台信息的临时下载目录错了,临时下载目录是绝对路径,一定要完完整整的填写路径,不要缺斤少两,也不要多了字母。
我暂时就遇到那么多问题,剩下的有出现问题解决了再补充。
参考资料里面查阅论坛里面一些大神的讨论和官方解决方法吧。虽然有很多解决方法我试了最后都没弄好(除了改所有组这里)。说不定是我做的不对,有兴趣的可以根据他们的方法尝试一次。
特别鸣谢(虽然可能他看不到)在论坛上面回复我的大佬:Snowail




0 条评论