斐讯N1+Armbian+宝塔+Apache+Mysql+PHP+cloudreve+aria2实现云存储+离线下载服务器

看到很多人提到不建议在N1的armbian中安装宝塔,因为无法安装WEB环保,于是写一个简单的内容来给大家提供一些灵感。

写在前面:

因为宝塔环境安装Arm系统的兼容性并不好,所以需要做的工作会稍多一些,但安装完成后的使用体验还是很不错的!

我的使用场景是简易的家庭存储+低功耗离线下载服务器

使用到了N1+250G SSD硬盘

当然使用U盘也可以,但容量会较小,用于离线下载会有些捉襟见肘,所以推荐使用硬盘,因为供电的问题不推荐使用机械移动硬盘!(虽然有一块320G的2.5吋硬盘,我没有实际测试过。)

本教程从刷入Armbian开始,未涉及降级部分

教程开始:

  1. 安装Armbian系统。

这部分网上的教程非常的多,所以我只简单的介绍下。

1.下载地址:N1选择S905

孤岛下载:http://cloud.feiji.work/s/49myr109 (已经开启了X-Sendfile我自己测试下载速度有所提升)

官方下载(速度较慢):https://yadi.sk/d/pHxaRAs-tZiei

下载完成后刷入到硬盘/U盘

这儿使用的是balenaEtcher,比较推荐

官方下载:https://www.balena.io/etcher/ (可能会比较慢)

孤岛下载:http://cloud.feiji.work/s/46p6ns9y (也可能很慢啦,但可以用工具下载!)

然后重新插拔一次硬盘,这时电脑上会多出一个分区“BOOT”

进入到目录:/boot/dtb

替换为恩山论坛大佬的dtb文件(注:我在写这篇文章的时候基于5.77版,这个版本的内核虽然已经很不错,但是空闲时负载较高,所以还是换为大佬的dtb)

下载地址:http://cloud.feiji.work/s/ddd09jgp

将下载好的meson-gxl-s905d-phicomm-n1.dtb 替换掉dtb目录的同名文件,也可以将原文件备份一下

返回目录:/boot

编辑文件:uEnv.ini

替换第一行内容为:

Bash
dtb_name=/dtb/meson-gxl-s905d-phicomm-n1.dtb

如果不进行配置很可能出现无网络的情况。

将硬盘接入N1的USB接口启动。

设置好armbian的密码后开始

2.环境配置

我在写内容时操作均在/root目录进行。

开始安装宝塔(此处请使用我提供的这个脚本进行安装,删除了官方脚本的防火墙部分,避免安装后端口被封而无法链接SSH,当然也可以安装官方原版,后使用键盘连接N1,手动关闭防火墙。):

Bash
wget http://feiji.work/n1/bt/install.sh && sudo bash install.sh

会自动安装相关的依赖,比较简单。

但过程中很可能出错,基本都是网络原因,不建议更换软件源,因为科大或aliyun,163的源arm版都不太完整,而官方源在网络高峰时期会非常缓慢,而导致下载失败而使得安装失败或过程中有错误。

避开网络高峰时段安装还是不错的选择(注意中/美日夜相反哦)

安装完成后进入后台登录后提示程序异常,则说明安装过程中出错了,再次执行安装脚本,网络闲时通常一次就可以安装通过。

安装完成后不要立即在后台开始安装WEB环境,因为PHP和Mysql缺乏依赖而不可能成功。

下载libiconv:

Bash
wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.13.1.tar.gz

如果下载非常缓慢,可以从我提供的下载地址,下载完成后通过SFTP或宝塔后台将文件上传到/root目录。

下载地址:http://cloud.feiji.work/s/xs8ikivz

解压下载回来的libiconv,并进入到该目录。

Bash
tar zxvf libiconv-1.13.1.tar.gz
cd libiconv-1.13.1

配置libiconv

Bash
./configure -prefix=/usr/local --build=arm-linux

编译安装

Bash
make
make install

创建一个文件链接到Libiconv库

Bash
ln -s /usr/local/lib/libiconv.so /usr/lib
ln -s /usr/local/lib/libiconv.so.2 /usr/lib/libiconv.so.2

然后就可以进入宝塔后台安装WEB环境了

过程中依然很可能,基本都还是与源之间的网络原因。

推荐安装Apache 2.4 / PHP 7.2 / Mysql 5.6

内存占用还可以接受。

下面是截图:

01.jpg

创建网站

如果是宽带用户,很可能封80、8080端口,建议自定义端口,没有域名就直接用IP,仅内网用用,就啥也不用干了!如果是移动宽带,很可能是个大局域网,就需要做内容穿透了,但如果把外网服务器放在国内就得B案,且费用不会很便宜,放在国外延时速度太慢,意义真的不大,所以这个教程就不写了!

电信宽带基本都可以直接80端口,部分可能需要改端口。

02.JPG

注意:如果是IPv6网络,绑定域名或可能会出现Apache因为端口冲突无法启动的问题。

我的解决办法简单粗暴。

03.JPG

例如我就直接IPv6用999端口,IPv4用80/666端口(测试环境是移动宽带,封80,所以外网我用了其它端口)

Bash
Listen 80
Listen 81
Listen [::]:82

保存,重新加载配置再点启动就OK了!

在软件管理中开启PHPinfo扩展

04.JPG

禁用函数可根据自身实际情况去修改,我自身准备做一个云转码,所以开启了比较多高风险的函数(纯折腾,毕竟N1这配置还要啥自行车?)

到此环境配置就完成了

3.安装Cloudreve+Aria2

Cloudreve是国产的云存储中表现非常不错的一个,持续维护更新中。有官方论坛可以答疑,体验非常不错,但使用了Mysql,对N1来说有些压力。不过实测效果还不错,不想安装Mysql的话也可以直接用可道云,体验也是非常好的,但不能结合aria2实现离线下载,很是遗憾。

下载最新版Cloudreve:https://cloudreve.org/download.php

官方的安装说明:https://github.com/HFO4/Cloudreve/wiki/安装说明

直接在宝塔后台下载或电脑端下载后上传都可以,直接将压缩包上传到网站根目录后用宝塔解压即可。

输入:http://你的域名或IP/CloudreveInstaller

按提示完成安装就可以了

Aria2的编译安装与配置

下载并解压最新的aria2

Bash
cd /root
wget https://github.com/aria2/aria2/releases/download/release-1.34.0/aria2-1.34.0.tar.bz2
tar -jxv -f aria2-1.34.0.tar.bz2

编译并安装

Bash
cd aria2-1.34.0
./configure
make
make install

安装完成后就可以开始配置Aria2了

在/etc/aria2/中新建一个aria2.conf文件

Bash
mkdir /etc/aria2
yum install nano
nano /etc/aria2/aria2.conf

写入以下内容:其它配置内容可以根据自身的需要进行修改,我这是一个极为简单的配置。

Bash
#是否启用RPC服务,设置为true
trueenable-rpc=true
#RPC服务端口,默认是6800
rpc-listen-port=6800
#设置PRC服务的密钥,在后的配置中会用到,可以自己设定具体内容
rpc-secret=feiji.work

#这段内容不要删除,用于解决Aria2与Cloudreve系统对接的权限问题!
on-download-complete=/root/hook.sh

完成后按Ctrl+X 退出 再按“Y”不要修改文件名,直接回车保存即可。

再新建一个aria2.service服务文件

Bash
nano /lib/systemd/system/aria2.service

直接命令执行就可以了,不要在宝塔后台去建,如果习惯在宝塔后台建,记得建好了之后修改权限!

写入内容:

Bash
[Unit]
Description=aria2c

[Service]
User=root
#此处的配置路径不要修改,跟着教程操作下来,已经为大家配置好了的
ExecStart=/usr/local/bin/aria2c --conf-path=/etc/aria2/aria2.conf
Restart=on-abort

[Install]
WantedBy=multi-user.target

返回root目录(当然在任意目录都可以,但如果不喜欢在root目录,可以修改前面的脚本位置,如果不会,就按我默认的来即可)

Bash
cd /root/

新建hook.sh

Bash
touch hook.sh

输入内容:

Bash
#!/bin/shchmod -R 777 /www/wwwroot/xxx.com/downloads/

“/wwwroot/xxx.com/downloads/”此处实际录入你已经建立好的临时下载目录。

赋予文件执行权限

Bash
chmod +x hook.sh

重载daemon,让新的服务文件生效

Bash
systemctl daemon-reload
systemctl enable aria2

启动Aria2

Bash
systemctl start aria2

登入Cloudreve后台开始配置离线下载功能

05.JPG

RPC Server不要修改,如果使用的是非本机,记得开放防火墙端口。

RPC Token就是上面设置的密码了

设置好后保存设置即可。

测试离线下载通过:

06.JPG

剩下的事情就是尽情去玩耍吧!!!