Nextcloud外部存储(本地)整合Aria2 AriaNG离线下载

实现用 AriaNG 远程控制 Aria2 进行下载,用 Nextcloud 进行文件管理(在线预览或同步至本地)。

我们需要

  1. 搭建好Nextcloud 详见: Centos搭建Nextcloud私有云(宝塔)
  2. 配置好Aria2 详见: Centos离线下载Aria2 AriaNG bt-tracker自动更新

做完以上两步我们来添加 Nextcloud 外部存储(本地),将 Nextloud 的外部存储(本地)目录作为 aria2 的默认下载目录。

设置外部存储

开启外部存储

应用管理界面启用 External storage support

nextcloud外部存储

添加外部存储(本地)

打开外部存储设置页面

nextcloud外部存储

如果页面提示

没有安装 “smbclient”无法挂载 “SMB / CIFS”, “SMB / CIFS 使用 OC 登录信息”. 请联系您的系统管理员安装.

解决方法如下

yum -y install libsmbclient libsmbclient-devel
pecl install smbclient

安装完成后输出

Build process completed successfully
Installing '/www/server/php/71/lib/php/extensions/no-debug-non-zts-20160303/smbclient.so'
install ok: channel://pecl.php.net/smbclient-0.9.0
Extension smbclient enabled in php.ini

重载php-fpm生效

# 重载php-fpm
宝塔-软件管理-php-7.0设置-php服务-重载配置

刷新网页

重要!!添加的外部存储目录(本地)必须已经存在,而且需要有www用户读写权限。

创建目录,设置权限

# 例如新建一个目录
mkdir /home/test
chown -R www:www /home/test
chmod -R 750 /home/test

目录创建好之后,添加

  • 目录名称 随意 nextcloud 显示的名称
  • 外部存储 本地
  • 认证 无
  • 配置 /home/test 刚创建的目录
  • 可用于 分配用户/组
  • 设置 勾选预览、分享
  • 保存 点击保存,左侧绿球说明生效,红方块请检查修改设置再保存

nextcloud外部存储

文件权限设置

aria2 下载的文件默认权限为644所有者为root,其他用户默认只有读取权限。

所以你会发现 nextcloud 里的文件你只能预览及下载,无法删除。

所以我们需要添加计划任务,每隔1小时更新一次下载目录的权限(间隔自己掌握)

crontab -e
# 添加如下字段
* */1 * * * chown -R www:www /home/test
* */1 * * * chmod -R 750 /home/test

设置aria2默认下载目录

先关闭aria2

systemctl stop aria2c
# 或者
kill all aria2c

修改配置文件

vi /root/.aria2/aria2.conf
# 修改如下字段
# 文件的保存路径(可使用绝对路径或相对路径), 默认: 当前启动位置
dir=/home/test

重启aria2

systemctl start aria2c