静看光阴荏苒
不管不顾不问不说也不念

NextCloud安装ocDownloader插件实现离线下载功能

此方法同样适用于OwnCloud,毕竟NextCloud和它都是一个亲妈生的,不过LALA个人还是建议使用NextCloud。如果你还不知道该如何搭建NextCloud可以参考下面这篇文章:

最简单的方法安装NextCloud私人网盘程序

在这里也给之前这篇文章做一点小更新,建议大家在使用宝塔面板安装NextCloud的时候选择LAMP环境,注意是LAMP环境!我之前这篇文章中写的是LNMP环境,实测LNMP跑NextCloud会有一些问题,这里长话短说,LAMP环境是可以完美运行NextCloud的。

另外LALA之前也写过很多这类自建网盘的教程,如果你对这方面非常感兴趣,可以浏览一下其他方案:

Aria2整合FileRun自建离线下载网盘

Aria2整合KODExplorer实现自建离线下载网盘

开源的私有云网盘程序Seafile安装教程

国外网盘程序YetiShare详细安装教程

那么进入今天的正题咯~

首先登录你的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发布了更新,只要不是涉及到严重安全漏洞的,我建议大家都不要去手贱更新,因为这款程序,我个人觉得设计的非常臃肿,更新这块的功能做的也很蛋疼,一旦更新出问题,可能就很难恢复原样了,再者这是一款网盘程序,资料比什么都贵重,稳定运行才是真!

未经允许不得转载:荒岛 » NextCloud安装ocDownloader插件实现离线下载功能
分享到: 更多 (0)

评论 29

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #1

    按照两篇文章的操作,在到用sudo以www用户运行那一步输入代码提示sudo: aria2c: command not found
    不知道如何解决,而且在下载Aria2时scl enable devtoolset-3 bash
    gcc –version两步也出现了问题。
    主机为搬瓦工VPS cotor 7的系统。求解答
    这两步

    灭世6个月前 (10-26) Google Chrome 62.0.3202.62 Google Chrome 62.0.3202.62 Windows 10 x64 Edition Windows 10 x64 Edition回复
    • sudo: aria2c: command not found本文已经给出了解决办法。
      另外我不是很清楚cotor7是什么系统,如果你是说的CentOS7的话,那么就不用去装高版本的gcc,系统自带的就能够编译aria2。

      LALA6个月前 (10-26) TheWorld Browser TheWorld Browser Windows 7 x64 Edition Windows 7 x64 Edition回复
      • 嗯,那个系统名字我打错了 :cry:
        谢谢解答

        灭世6个月前 (10-27) Google Chrome 58.0.3029.83 Google Chrome 58.0.3029.83 Android 7.1.1 Android 7.1.1回复
      • 返回的GID为空,请确保Aria2c正在运行
        按照教程做的,而且换成LAMP环境了,运行种子文件出现这个提示。请问如何解决

        灭世6个月前 (10-27) Google Chrome 62.0.3202.75 Google Chrome 62.0.3202.75 Windows 10 x64 Edition Windows 10 x64 Edition回复
        • 这说明你的Aria2没有安装好或者是没有启动。

          LALA6个月前 (10-27) TheWorld Browser TheWorld Browser Windows 7 x64 Edition Windows 7 x64 Edition回复
        • 遇到了同样的问题,请问你解决问题了吗
          日志 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

          LaLa的粉丝4个月前 (12-31) Google Chrome 63.0.3239.84 Google Chrome 63.0.3239.84 Windows 10 x64 Edition Windows 10 x64 Edition回复
  2. #2

    :!: 大佬有没安装youtube-dl教程

    雪碧6个月前 (10-28) Google Chrome 61.0.3163.100 Google Chrome 61.0.3163.100 Windows 7 Windows 7回复
    • 我没有折腾过youtube-dl,不清楚具体的安装步骤,你可以参考一下https://github.com/DjazzLab/ocdownloader

      LALA6个月前 (10-28) TheWorld Browser TheWorld Browser Windows 7 x64 Edition Windows 7 x64 Edition回复
  3. #3

    :!: 已经安装成功了,但是没法使用!
    Tip:无法获取YouTube视频链接

    雪碧6个月前 (10-28) Google Chrome 61.0.3163.100 Google Chrome 61.0.3163.100 Windows 7 Windows 7回复
  4. #4

    你搭建这个用的哪里的服务器? 这个需要大硬盘啊!

    筑楼5个月前 (11-17) Google Chrome 47.0.2526.108 Google Chrome 47.0.2526.108 Windows 7 x64 Edition Windows 7 x64 Edition回复
    • 买的1T硬盘的大盘鸡,别说了都是泪,已经宕机4天了,商家把阵列卡玩坏了,修不修的好都还是个未知数。

      LALA5个月前 (11-18) TheWorld Browser TheWorld Browser Windows 7 x64 Edition Windows 7 x64 Edition回复
  5. #5

    从后台安装了ocDownloader

    插件设置为了curl下载方式

    那么问题来了

    提示:错误找不到gid

    我用来下载直连

    用的宝塔环境

    是需要什么限权吗?

    无名4个月前 (12-17) QQbrowser QQbrowser Android 6.0.1 Android 6.0.1回复
    • 你在shell下面执行curl看能用不。

      LALA4个月前 (12-18) TheWorld Browser TheWorld Browser Windows 7 x64 Edition Windows 7 x64 Edition回复
  6. #6

    这个插件好奇怪哦,明明用的是Aria2,为啥不能支持磁力链接嘞,我还是选择使用aria的webui加nextcloud的了。

    zvonimir4个月前 (12-18) Google Chrome 63.0.3239.84 Google Chrome 63.0.3239.84 Windows 10 x64 Edition Windows 10 x64 Edition回复
    • 这个确实有点蛋疼,不过可以通过很多那些在线磁力转换种子的网站来转换。

      LALA4个月前 (12-20) TheWorld Browser TheWorld Browser Windows 7 x64 Edition Windows 7 x64 Edition回复
  7. #7

    github下载太慢了 用我的吧http://e.splace.cn/aria2-1.32.0.tar.gz

    splace3个月前 (01-29) UC Browser 6.2.3964.2 UC Browser 6.2.3964.2 Windows 7 x64 Edition Windows 7 x64 Edition回复
    • 阔以的,最新版是1.33.1了,大佬同步更新下。

      LALA3个月前 (01-30) TheWorld Browser TheWorld Browser Windows 7 x64 Edition Windows 7 x64 Edition回复
  8. #8

    返回的GID为空,请确保Aria2c正在运行.
    确定使用的都是亲提供的代码。
    但是就是没有运行啊orz
    祝亲新年愉快,狗年大吉

    ErJiQwQ2个月前 (02-17) Google Chrome 64.0.3282.167 Google Chrome 64.0.3282.167 Windows 10 x64 Edition Windows 10 x64 Edition回复
    • 新年快乐,系统是CentOS7还是6?

      LALA2个月前 (02-17) TheWorld Browser TheWorld Browser Windows 7 x64 Edition Windows 7 x64 Edition回复
      • centos7 :mrgreen:

        ErJiQwQ2个月前 (02-17) Google Chrome 37.0.0.0 Google Chrome 37.0.0.0 Android 7.0 Android 7.0回复
        • CentOS7直接从wget那一条命令开始执行,上面的不用管。

          LALA2个月前 (02-18) TheWorld Browser TheWorld Browser Windows 7 x64 Edition Windows 7 x64 Edition回复
  9. #9

    大佬,我的完全按你的来,centos 6 64bit 一样不行啊

    北极熊2个月前 (02-25) Google Chrome 64.0.3282.123 Google Chrome 64.0.3282.123 Android 4.4.4 Android 4.4.4回复
  10. #10

    博主安装这个建议加上
    需要Centos 7 64bit 系统
    安装 arua2 需要GCC 4.8这个版本,
    Centos 6 64bit 编译gcc 经常失败,Centos 7 yum安装就是4.8版本

    北极熊2个月前 (02-25) Google Chrome 64.0.3282.123 Google Chrome 64.0.3282.123 Android 4.4.4 Android 4.4.4回复
    • 对啊。。。CentOS7可以直接安装,CentOS6要升级GCC,我文章中不是写了升级GCC的命令么。。。

      LALA2个月前 (02-25) TheWorld Browser TheWorld Browser Windows 7 x64 Edition Windows 7 x64 Edition回复
  11. #11

    啊啊啊啊啊啊,bt下载没有速度啊,种子没问题,用的谷歌云 :grin:

    shmily12小时前 Google Chrome 66.0.3359.117 Google Chrome 66.0.3359.117 Windows 8.1 x64 Edition Windows 8.1 x64 Edition回复

分享创造快乐

广告合作资源投稿