FreeNAS配置Aria2下载工具

February 14, 2020
服务器FreeNAS保姆级教程

FreeNAS 是一个企业级的 NAS 服务器系统,我个人的家用 NAS 服务器就是使用的 FreeNAS。这篇文章是一个教程文,用来讲述如何在 FreeNAS 上部署 Aria2 下载工具。

平时很少写这一类的教程文章,但是因为 FreeNAS 在国内的普及率实在是太低了,所以还是来写一下。想要读懂这个教程需要基本的 Linux 命令行知识,最起码会用 vim 或者其他文本编辑器以及能看懂基本的英文。

FreeNAS 自带插件功能,用户可以直接在插件面板安装现有的插件,FreeNAS会自动配置好相应的一个 Jail 然后完事具备了,官方的插件中就有一个BT下载软件 Transmission,遗憾的是 Transmission 只支持 BT 下载功能,对于普通的 P2P 下载还不能支持,而且界面实在是简陋。我个人用了一阵子,但是还是放弃了。

Aria2 介绍

Aria2 是一个支持多种协议的下载工具,Windows 上著名的下载软件 IDM 就是使用的 Arial2 的内核。Aria2 本身不提供任何的用户界面,只能通过Shell指令来调用,所以在部署 Aria2 之后更多的人还会选择安装一个界面用于交互,不然每次都要打指令多麻烦的。

Jail 介绍

因为 FreeNAS 官方的插件并不提供 Aira2,所以就自己动手丰衣足食吧。

Jail 相当于是 FreeNAS 上的一种 FreeBSD 的轻量级虚拟机,个人感觉类似于 Docker,建立一个 Jail 之后可以进入 Jail 的命令行,Jail 相当于一个独立隔离开来的操作系统,不能与 FreeNAS 的系统以及数据集互通,保证了安全性。

我们需要建立一个新的 Jail,然后在 Jail 中安装 Aira2,这样做比较容器化,Jail 中的服务与操作系统本身隔离。当然也可以直接把 Aria2 部署在 FreeNAS 的操作系统中,但是那样的话实在是很不优雅,因为安装 Aria2 也需要各种依赖包,如果直接安装在操作系统上可能会出冲突并且卸载的时候也很不方便,所以在 Jail 上安装是一个更好的选择。

Jail 建立

在这篇教程中我所使用的 FreeNAS 版本为 11.3

后悔没有一开始鼓捣的时候就把图截好然后水这个文章,现在又得重头弄一遍

进入FreeNAS 的控制台,首先在左边的菜单中点击Jail进入Jail的管理界面,点击右上角的添加,之后就会跳出下边的选项,自己为 Jail 写一个名称,规定一下 Jail 的类型,我这边使用的是 11.3 的发行版。

点下一步来到网络配置,为了图方便,我选择了让 DHCP 自动配置 IP 地址,这样 Jail 建立之后路由器就会自动为这个 Jail 虚拟机分配一个地址。用于访问。

之后 Jail 的建立就完成了,在 Jail 管理中已经可以看到新建的 Jail,在面板中可以选择设置挂载点,启动与关闭,进入命令行等等。

Jail 一切就绪之后就可以安装 Aria2 了。

安装与配置 Aria2

安装 Arial2
首先进入刚才建立好 Jail 的命令行,其实就是这个 FreeBSD 虚拟机的 Shell,对于熟悉 FreeBSD 或者 Linux 的同学操作肯定是没有什么难度。

首先就是安装 aria2,执行标准的 FreeBSD 指令即可,第一次运行pkg指令的时候 BSD 会提示还没有包管理器,输入 Y 安装,之后再执行一次 aria2 的安装指令即可。

之后执行三条 sysrc 命令来配置自动启动和 aria2 的相关参数,最后我在跟目录建立了一个 download 文件夹用来当作下载目录并且配置权限为777。

  1. pkg install aria2
  2. # 设置自启动和变量
  3. sysrc aria2_enable=YES
  4. sysrc aria2_user=nobody
  5. sysrc aria2_group=nobody
  6. # 建立下载文件夹
  7. cd /
  8. mkdir download
  9. chmod 777 download

配置 Aria2
接下来就该配置 Aria2 了,首先在 /usr/local/etc/ 下建立一个 aria2.conf 的配置文件。

  1. vi /usr/local/etc/aria2.conf

然后加入以下内容并且保存

  1. continue
  2. daemon=true
  3. dir=/download
  4. file-allocation=falloc
  5. log-level=warn
  6. disable-ipv6=true
  7. log-level=warn
  8. min-split-size=5M
  9. rpc-listen-all=true
  10. rpc-allow-origin-all=true
  11. rpc-listen-all=true
  12. enable-rpc=true
  13. ca-certificate=/etc/ssl/cert.pem

保存文件之后执行 service aria2 start 即可顺利启动 aria2 了。

数据集映射
刚才提到了在虚拟机内部的 ~/downlaod~ 目录是 aria2 的默认下载目录,但是在日常使用中我们并不能直接访问到当前 Jail 的下载目录中,这时候就需要将我们能够访问的目录映射为虚拟机中的 /download 目录。

在Jail设置中的挂载点中添加一个映射,这里强烈建议映射源头为一个单独的数据集,当然是数据集下面的一个文件夹也行,但是那样的话如果那个文件夹有权限问题就不太方便了,所以推荐新建一个数据集专门用来存放下载数据。

需要注意的是映射的文件夹或者数据集的 Everyone 访问权限应该是完全控制,要不然 Jail 中的 aria2 是没有权限向数据集写入东西的。

安装与配置 Aria2 WebUI

WebUI 我选择了开源项目中比较著名的 AriaNG (http://ariang.mayswind.net/zh_Hans/),AriaNG完全使用 html 与 JS 编写,轻量但是功能全面,最主要的是只需要一个 Web 服务器就能使用。在这里我使用了平时用的比较多的 Apache2,熟悉 Linux 的同学可以使用 Nginx 或者 Lighttpd 等其他 Web 服务器。

Apache2 安装
首先来安装 Apache2,先根据apache2来搜索满足条件的包,然后根据结果来安装,我这边是安装了 apache24-2.4.41,具体的版本号可能会随着时间变动。安装完成后添加自启动并且启动服务。

  1. pkg search apache2
  2. pkg install apache24-2.4.41
  3. sysrc apache24_enable=YES
  4. service apache24 start

在浏览器中直接访问 Jail 的 ip,如果有内容则证明 apache 没有问题。

安装 AriaNG
首先去 GitHub 下载 AriaNG 的最新发行版本 Releases · mayswind/AriaNg · GitHub,下载到服务器上解压到 Apache2 的 www目录中即可。

Apache 在 BSD 中默认的路径为/usr/local/www/apache24/data 可以直接使用 wget 和 unzip 命令进行下载和解压缩。

解压缩后再次访问 Jail 的 ip 即可连接到 AiraNG 上了,试着添加一个下载任务,如果有速度就证明 Aria2 对于下载目录有读写权限。

大功告成啦,这样就可以把家用的 NAS 当成一个下载机用了。

Comments

作者
July 21, 2018 at 10:52 am

There are no comments

keyboard_arrow_up