此方法同样适用于OwnCloud,毕竟NextCloud和它都是一个亲妈生的,不过LALA个人还是建议使用NextCloud。如果你还不知道该如何搭建NextCloud可以参考下面这篇文章:
在这里也给之前这篇文章做一点小更新,建议大家在使用宝塔面板安装NextCloud的时候选择LAMP环境,注意是LAMP环境!我之前这篇文章中写的是LNMP环境,实测LNMP跑NextCloud会有一些问题,这里长话短说,LAMP环境是可以完美运行NextCloud的。
另外LALA之前也写过很多这类自建网盘的教程,如果你对这方面非常感兴趣,可以浏览一下其他方案:
那么进入今天的正题咯~
首先登录你的NextCloud后台,点击应用,打开应用列表,点击Tools,启用ocDownloader插件:
现在我们回到网盘首页,就可以看到上方导航栏多出了一个下载图标,点击它即可进入到ocDownloader的界面:
不要着急,现在这个插件是无法使用的,因为这个插件是基于Aria2和CURL的,当然CURL我们用宝塔装的环境默认就支持,但是CURL无法下载BT类型的文件,所以这里我们需要给服务器安装Aria2。
使用Xshell登录你的机器,输入如下命令安装Aria2:
wget https://copr.fedoraproject.org/coprs/rhscl/devtoolset-3/repo/epel-6/rhscl-devtoolset-3-epel-6.repo -O /etc/yum.repos.d/rhscl-devtoolset-3-epel-6.repo yum install devtoolset-3-gcc devtoolset-3-gcc-c++ devtoolset-3-binutils devtoolset-3-gcc-gfortran scl enable devtoolset-3 bash gcc --version wget https://github.com/aria2/aria2/releases/download/release-1.32.0/aria2-1.32.0.tar.gz tar xzvf aria2-1.32.0.tar.gz cd aria2-1.32.0 ./configure make make install
如果你的gcc编译器版本号够高,可以省略前三步,直接wget下载aria2然后编译即可。
aria2安装完成后,我们需要查看一下当前NextCloud是运行在哪个用户下的,因为我们需要确保运行aria2的用户和NextCloud是同一个,不然无法正常使用插件,所以输入如下命令查看当前机器的所有用户:
cat /etc/passwd
如图可以看到我搭建的NextCloud是用www用户运行的:
LALA在这里也稍微提一下,如果你是按照我之前文章写的那样,使用宝塔面板安装的NextCloud,那么你的NextCloud同样也是使用www用户运行的。如果不是用的宝塔,那么你就需要自己查找了。
由于我们编译安装的aria2是默认安装到了/usr/local/bin,而我们运行aria2需要用到sudo,但sudo默认没有将/usr/local/bin目录下的命令包括进去,所以接着我们需要编辑sudoers文件:
vi /etc/sudoers
找到如图中的这部分:
将:
Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin
修改为:
Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin
退出vi并保存,这里因为sudoers是一个只读文件,可能在退出vi的时候会弹警告提示,我们强行退出使用如下命令:
:wq!
现在就可以使用sudo以www的用户来运行aria2了:
sudo -u www aria2c --enable-rpc --rpc-listen-all --rpc-allow-origin-all -c --dir /root/downloads -D
这个命令行启动默认我们选择了文件的下载保存路径是/root/downloads,但实际上这个路径是不生效的,它的目的仅仅只是用于让aria2能够成功启动。我们稍后可以在ocDownloader插件中来设置文件保存路径。
那么我们现在回到NextCloud的ocDownloader插件界面中就可以来尝试添加一些下载任务,看看是否能够正常使用。
添加BT种子文件下载:
选择你刚上传的BT种子,点击启动BT下载,即可开始下载:
添加HTTP下载:
在页面的下方,或者点击正在下载栏目,都可以看到当前下载任务的具体情况:
下载完成后的文件会保存到你网盘中的Downloads目录下:
另外我们之前说过,你可以自定义文件的下载保存路径,点击你的个人信息,在下方就可以看到如图界面,输入你想要保存的路径即可:
当然在后台管理界面点击其他设置,可以更加详细的来设置ocDownloader插件的功能:
至此,ocDownloader插件的安装与使用大家就应该很明白了,教程也差不多到这里就结束了~
LALA的后话:
有几个需要额外补充的点,我在这里稍微说一下。
1、ocDownloader还支持下载Youtube的视频,但是还需要额外安装youtube-dl这款软件,但这个东西今天LALA并没有说明,当然也不在本文的讨论范围内,因为我个人是没有下载Youtube视频这个需求的,所以我也懒得配置。
2、如果你是一个长期使用NextCloud的用户,会发现这款程序其实使用起来真的不是很方便,最让人头疼的事情就是同步经常出错,文件经常被莫名其妙的锁定,并且还不能自动解锁,并且程序也没有解锁文件的功能。那么一旦你的文件被锁定你就无法对这个锁定的文件进行任何操作,一般我们在看后台log的时候可以看到如下报错:
LALA的解决办法是进入到数据库中,清空oc_file_locks这个数据表:
对于这个文件锁定的问题,官方的答复是,文件被锁定一般是由于这个文件正在进行操作(写入)等到文件写入完成,程序会自动解锁。但LALA用了这么久的NextCloud,想说官方的这个答复就是在放屁,至于你们信谁,我管不着,用过就知道了。。。
3、LALA个人建议不要频繁的去更新NextCloud,就算NextCloud发布了更新,只要不是涉及到严重安全漏洞的,我建议大家都不要去手贱更新,因为这款程序,我个人觉得设计的非常臃肿,更新这块的功能做的也很蛋疼,一旦更新出问题,可能就很难恢复原样了,再者这是一款网盘程序,资料比什么都贵重,稳定运行才是真!
按照两篇文章的操作,在到用sudo以www用户运行那一步输入代码提示sudo: aria2c: command not found
不知道如何解决,而且在下载Aria2时scl enable devtoolset-3 bash
gcc –version两步也出现了问题。
主机为搬瓦工VPS cotor 7的系统。求解答
这两步
sudo: aria2c: command not found本文已经给出了解决办法。
另外我不是很清楚cotor7是什么系统,如果你是说的CentOS7的话,那么就不用去装高版本的gcc,系统自带的就能够编译aria2。
嗯,那个系统名字我打错了
谢谢解答
返回的GID为空,请确保Aria2c正在运行
按照教程做的,而且换成LAMP环境了,运行种子文件出现这个提示。请问如何解决
这说明你的Aria2没有安装好或者是没有启动。
遇到了同样的问题,请问你解决问题了吗
日志 call_user_func_array() expects parameter 1 to be a valid callback, class ‘OCA\Files_External\Lib\Storage\Google’ does not have a method ‘getLocalFolder’ at /www/wwwroot/…siteurl/lib/private/Files/Storage/Wrapper/Wrapper.php#501
sudo: aria2c: command not found的解决办法在文中并没有找到呀
请大佬帮帮忙 sudo: aria2c: command not found这一步困了太久,文章中也没有找到解决办法
大佬有没安装youtube-dl教程
我没有折腾过youtube-dl,不清楚具体的安装步骤,你可以参考一下https://github.com/DjazzLab/ocdownloader
已经安装成功了,但是没法使用!
Tip:无法获取YouTube视频链接
你搭建这个用的哪里的服务器? 这个需要大硬盘啊!
买的1T硬盘的大盘鸡,别说了都是泪,已经宕机4天了,商家把阵列卡玩坏了,修不修的好都还是个未知数。
从后台安装了ocDownloader
插件设置为了curl下载方式
那么问题来了
提示:错误找不到gid
我用来下载直连
用的宝塔环境
是需要什么限权吗?
你在shell下面执行curl看能用不。
这个插件好奇怪哦,明明用的是Aria2,为啥不能支持磁力链接嘞,我还是选择使用aria的webui加nextcloud的了。
这个确实有点蛋疼,不过可以通过很多那些在线磁力转换种子的网站来转换。
github下载太慢了 用我的吧http://e.splace.cn/aria2-1.32.0.tar.gz
阔以的,最新版是1.33.1了,大佬同步更新下。
返回的GID为空,请确保Aria2c正在运行.
确定使用的都是亲提供的代码。
但是就是没有运行啊orz
祝亲新年愉快,狗年大吉
新年快乐,系统是CentOS7还是6?
centos7
CentOS7直接从wget那一条命令开始执行,上面的不用管。
大佬,我的完全按你的来,centos 6 64bit 一样不行啊
博主安装这个建议加上
需要Centos 7 64bit 系统
安装 arua2 需要GCC 4.8这个版本,
Centos 6 64bit 编译gcc 经常失败,Centos 7 yum安装就是4.8版本
对啊。。。CentOS7可以直接安装,CentOS6要升级GCC,我文章中不是写了升级GCC的命令么。。。
啊啊啊啊啊啊,bt下载没有速度啊,种子没问题,用的谷歌云
sudo -u www aria2c –enable-rpc –rpc-listen-all –rpc-allow-origin-all -c –dir /root/downloads -D
之后报错
/var/tmp/sclxwh08X: line 8: -u: command not found 如何解决呢?
文章中已经给出了解决办法。
昨天用了一天今天就提示返回的GID为空
已经快要折腾死了
这套配置不能重启机器和Aria2,因为不保存下载进度。重启了就会有类似GID为空的提示。
请问能把aria2c添加自启动吗?不能每次重启服务器就要去手动执行一次sudo www aira2的命令吧?
大佬 为什么vi /etc/sudoers 这一步打开之后空荡荡的没有内容可以修改啊?
你用的什么系统啊,正常应该都是有这个文件的。
就是centos 6 全部按照你的步骤安装的
用CentOS7
好吧
刚刚鼓捣了好久 竟然发现一个前缀为sudoers的文件
而且文件里的内容和你的展示图一样
我就把原来的sudoers删掉了
然后把那个相似的文件后缀删掉了
最后竟然也成功运行了
您好 我是centos7 下载完了之后 tar那一列无法进行
显示这个
gzip: stdin: unexpected end of file
aria2-1.32.0/po/en@quot.gmo
tar: Unexpected EOF in archive
tar: Unexpected EOF in archive
tar: Error is not recoverable: exiting now
请问如何解决
压缩包没下完整吧,重新下一遍。
请问aria2配置文件在哪,留空太危险了
什么留空?用命令行启动的Aria2不需要配置文件。
请大佬帮帮忙 sudo: aria2c: command not found这一步困了太久,文章中也没有找到解决办法
我也出现了无法删除文件的问题,请问如何清空oc_file_locks,不知道怎么进入数据库
使用phpmyadmin可以清空。
刚开始安装的时候手残选了SQLite,在数据库里面找不到oc_file_locks,后来重装的时候选了MySQL,已经能看到oc_file_locks了,感谢
话说不用清空吧,只要删除”lock”列中数值大于0的条目也可以呢
都行,能解决问题就好了,这个表就是用来存放被锁定的文件信息的。