站点图标 Linux-技术共享

斐讯N1刷入Armbian系统+安装lamp环境+可道云文件管理系统

什么是可道云

可道云是最常用的搭建私人云盘的软件之一,分为kod explorer和kodbox两个版本,属于不同产品,适用的场景也不相同。kod explorer无需数据库就可以运行,本质上是一个在线的文件管理器,可以用来管理指定文件夹的文件,和File Browser有点类似,可以理解成是是一个在线的“我的电脑”。通过kod explorer看到的文件跟我们通过WINSCP或者SSH看到的文件是一样的,因而更适合用来管理文件或者搭配下载软件实现“离线下载,云端播放”。而kodbox是需要数据库的,它会将你上传的文件分成一个一个的小文件进行存储。在kodbox里面看到的是完整的文件,而通过WINSCP或SSH看到的则是一个一个的小文件,无法正常读取。同样的,通过WINSCP或者FTP上传的文件也不能被kodbox识别。所以kodbox的安全性会更高,更适合用来分享文件。本文会分别讲kod explorer和kodbox在Armbian设备上的部署。

部署kod explorer

准备工作

部署kod explorer之前,确保你已经准备好了如下内容:

①kod explorer源码(下载地址在文章最后);
②一台Windows电脑并安装了WINSCP( 下载地址在文章最后 );
③一台运行着Armbian系统的设备,如N1盒子、红盒子R3300-L(点击看刷机教程)、玩客云等;
④设备已配置好LNMP或LAMP或其他方案的Web环境,无论是什么方案,必须要有php环境。
LNMP环境搭建可以参考这篇文章:Armbian搭建LNMP环境

上传kod explorer至网站目录

打开WINSCP,设置如下:文件协议:SFTP如果不行就换SCP,输入Armbian设备的IP地址,端口号22,输入自己的用户名密码,然后登录

登录后界面,左边是自己电脑的文件,右边就是Armbian设备的文件

点箭头所指处返回上级菜单

找到/var/www/html目录(这个是LAMP环境的默认Web目录,如果你用的是宝塔,请先根据提示添加一个网站,宝塔5.9默认Web目录为“/www/wwwroot/你设置的域名”,后面不再提及宝塔,请自行替换),删除里面所有的文件(如果你用的是宝塔,则可以保留404.html)

然后将下载的可道云源码解压,如下所示

选中所有的文件和文件夹,拖到WINSCP打开的/var/www/html目录(放到二级目录也行,这样主页就不是可道云kod explorer了 )

上传中

上传完毕

赋予kod explorer权限

打开Putty或Xshell,SSH登录Armbian设备,输入如下命令并回车,赋予目录权限:

chmod -R 777 /var/www/html/xxx/(这是web目录,请根据自己的实际情况修改目录)

安装并配置kod explorer

在浏览器打开Armbian设备的IP地址(如果你把kod explorer传到html文件夹下的一个目录而不是根目录,则需要在ip后面加上二级目录)并回车,就可以看到安装指南了。根据提示操作即可。

设置管理员密码

登录kod explorer

登录后的界面

修改可道云kod explorer的默认文件夹

kod explorer登录进去之后的默认文件夹(主文件夹)是在Armbian设备的内部存储,所以我们上传文件时默认上传到了Armbian设备的内部存储。内部存储空间小,且存放着系统文件,可谓一寸空间一寸金。如果你不嫌烦的话,也可以每次在上传文件时都手动跳转到你想上传的文件夹,但是这会非常麻烦。因此,将默认文件夹改到外部存储设备就显得十分有必要了。

默认存储路径是内部存储
方法一 挂载硬盘法

我们通过SSH连接Armbian设备,然后cd到上图的目录:

/var/www/kodexplorer/data/User/admin/home

并ls后可以看到

SSH里显示的跟登录进kod explorer里显示的是一样的,所以我们可以通过把外置存储设备挂载到默认目录,实现将文件存储载外置设备里的目的。即:

mount /dev/sda /var/www/kodexplorer/data/User/admin/home(适合小白)

这样就可以实现以admin用户登录kod explorer后上传的文件都是存储在外置存储设备了。而缺点就是,当你的kod explorer有多个用户的时候,其他用户的默认文件夹还是存储载内部存储。为了解决这个问题,你可以这么挂载外部存储设备

mount /dev/sda /var/www/kodexplorer/data/User/(适合小白)

这样的话所有用户的默认文件夹都存放在外置存储设备了。当然你也可以更激进一点,试试这样挂载:

mount /dev/sda /var/www/(适合有一定基础的玩家)

也就是直接将外部存储设备挂载到/var/www/目录。这样操作不仅所有用户的默认文件夹都存放在外置存储设备,而且kod explorer的本体也会被存放在外部存储设备,但是不推荐这么做,因为外部存储设备的稳定性不如内部存储。如果你这么操作了,需要重新上传kod explorer到/var/www/xxx文件夹(xxx代表存放网站文件的文件夹,默认的一般是html,挂载外部存储设备到/var/www/后,需重新创建xxx或html文件夹)。然后重新安装kod explorer即可。

上面的挂载命令只是一次性挂载,重启后不会自动挂载。要想实现开机自动挂载外部存储设备到指定目录,可以参考Armbian开机自动挂载硬盘的两种思路这篇文章。

方法二 新建define.php

首先要挂载好外部存储设备,我这里把一个128G的U盘挂载到了/var/www/netdisk/,命令就是

mount /dev/sda /var/www/netdisk

然后用WINSCP将/var/www/kodexplorer/下的data文件夹移到/var/www/netdisk/下面

目标路径

给移动后的目录777权限,命令如下:

chmod -R 777 /var/www/netdisk/data

然后在/var/www/kodexplorer/config/下新建一个define.php,如下图:

文件内容如下(路径请换成自己移动后的data路径):

<?php
define('DATA_PATH','/var/www/netdisk/data/');
?>
define.php内容

保存文件后重新登录kod explorer会发现,默认文件夹已经变成了修改后的了,可以尽情上传文件而不用担心会占满内部存储了。

默认地址已完成修改

至此,不依赖数据库的kod explorer的安装和配置就完成了。依赖数据库的kodbox稍微复杂一点,请接着看下文

这是分割线

部署kodbox

准备工作

部署kodbox的过程和部署kod explorer的过程基本一样,先下载好kodbox的文件,再传到Armbian服务器内的网站根目录并赋予777权限。此时先不要访问Armbian设备的IP地址。如果你想同时保留kod explorer和kodbox,而且不想使用二级目录,那就需要配置一下nginx了,也就是让一个服务器同时运行多个站点,可以参考如何用nginx创建多个站点(正在创作中)这篇文章。

创建数据库

做好上述准备工作后,我们需要创建一个数据库。这是与部署kod explorer不同的地方。推荐小白使用phpMyAdmin进行数据库的管理和新建,图形化操作,非常容易上手。phpMyAdmin的部署和配置可以参考这篇文章Armbian部署和配置phpMyAdmin。在浏览器打开phpMyAdmin的网址,然后根据下图操作即可完成数据库创建:

安装kodbox

访问Armbian的IP地址(或你自己设置的IP+端口号)会看到以下界面。一般是没什么问题,点下一步即可:

数据库配置根据下图配置一下即可

设置账号密码

确定后会提示安装成功并跳转到登录界面:

至此,kodbox就已经部署完成了,登录后即可使用

修改kodbox默认目录

首先在外部存储设备里新建一个目录kodbox,我的是在/var/www/netdisk下新建了一个kodbox文件夹,并赋予了777权限:

chmod -R 777 /var/www/netdisk/kodbox

然后登录kodbox,并根据下面的图片指引依次点击:

依次点击
依次点击
依次点击,并保存

至此,kodbox的默认存储路径就修改成了外部存储设备,可以放心使用而不用担心内部存储爆了。

斐讯N1是使用的arm架构处理器,它上面所运行的armbian是由一个.dtb引导的(这方面对于我来说所知甚少,甚至说一窍不通)

我们平常在x86平台安装Linux系统都是从U盘安装镜像启动,然后通过安装引导把系统安装到硬盘。而对于盒子来说并不是这样,N1的安装思路是把提前配置好、封装好的系统写入U盘,然后从U盘启动系统,再通过脚本写入eMMC。如果你想要亲自封装系统,建议前往恩山论坛去查阅相关资料,这方面笔者也是一窍不通。

那么接下来,正式开始我的记录


I.准备工作

文章所有需要的资源集合在此,请按需拿取 

?点击下载

首先选择一个合适的系统,是你愉快玩耍的基础(误)……

内核版本 系统版本 概述
3.14.29 Armbian5.44 网络稳定,可刷入eMMC,不支持bbr
5.0.2 Armbian5.77 可刷入eMMC,替换dtb后稳定,支持bbr
4.18.7 CentOS 7.4 暂时不能刷入eMMC,支持性略好,其他优缺点同上

这三个版本的系统我都尝试了一下,说简单点就是第一个最稳定,第二支持的新特性最多,第三是属于尝鲜类的一个系统(暂时不能刷进eMMC)。

对于绝大多数人来说我个人还是推荐3.14内核的系统,可以免去很多折腾,作为一个喜欢折腾的人我选择了Armbian5.60。

 

#Google TCP-bbr算法

bbr谷歌开发的一个TCP的拥塞算法,能够通过合理化发包次序使高延时条件下链路传输稳定性大幅提升

对于玩VPS的都知道海外的VPS安装bbr后代理速度会提升很多,不过在局域网延时低链路稳定的条件下有无bbr体验差距很小。

不得不提到,4.18+的内核刷入eMMC后会改变分区,无法再通过U盘重新覆盖安装回到3.14的版本,也无法再直接刷回盒子的系统。这个问题的解决方法两种,一种是通过ddbr恢复分区备份,另一种是线刷(参考恩山论坛)。后者我并没有操作成功,因为我的盒子在翻车之后连接电脑不管是短接还是怎么都没反应。

所以当你已经向eMMC刷入了任一版本的armbian之后,再刷入其他版本发现无法从eMMC启动,请参考

斐讯N1 – 使用ddbr恢复官改系统

前几天在刷如3.14内核的armbian后,再刷入4.18内核的armbian发现系统无法启动,我也没有显示器也不知道发生了什么。然后再刷入什么版本的系统都没法正常启 …https://luotianyi.vc/1346.html

恢复至原版安卓系统,再刷入其他版本即可

II.刷机

1.系统降级

现在买到的盒子大多数版本都比较新,需要进行降级才能够刷入第三方系统。

①打开盒子的ADB功能

将盒子正常开机,进入主界面后连接鼠标,用鼠标左键单击四下【固件版本】即可开启ADB

之前在学校没有显示器,结果到了家发现家里显示器连HDMI都没有(我哭了)。没有显示器可以在手机上安装【斐讯遥控器】这个app,通过这个app可以截图,看着截图一点一点挪动鼠标……点四下……也是可以的……

②系统降级

随后打开【斐讯T1、N1官方系统降级工具】,解压至任意摸得到的地方,双击运行【onekey】文件夹下的run.bat运行脚本

当然是选择[2]回车,随后会让你输入IP地址,之前的主页面截图上自己看就是了……填进去,如果操作正确会出现下图

如果连接失败的话,请检查ADB是否已经开启。按照提示进行后,盒子会自动重启,至此降级过程就结束了。

2.制作系统U盘

①将镜像写入U盘

选择一个自己最理想的镜像下载下来,解压获得一个.img映像文件,下载工具包中的【usbit.zip】,直接运行Usb Image Tool.exe即可

(注意此操作会格式化U盘)将一个8G以上的U盘插入电脑,在左侧选择U盘,然后再点击Restore,然后选择刚才解压出来的.img镜像,一路yes就会开始写入U盘,等着写入结束即可

②修改引导dtb

有些镜像已经修改好了引导,但是有的包并没有,检查一下总是没问题的

刻录完的U盘会有一个可读取分区和一个不可读取分区,进入可读取的那个分区(如图),用【Notepad++】编辑uEnv.ini这个文件

如图把那个.dtb替换成【meson-gxl-s905d-p230.dtb】,【Ctrl+S】保存

*armbian5.77请替换dtb为下面xiangsm大神修改的版本 点击下载


3.引导从U盘启动

进入刚才的降级工具/onekey/data目录下(就是包含adb.exe那个文件夹),按住【Shift】键并单击鼠标右键,选择【在此处打开PowerShell窗口】

在打开的PowerShell窗口先后运行这两条指令,注意IP地址可能与刚开始降级时看到的不一致,可以在盒子的截图里再看看现在的IP是多少Shell

12 .\adb.exe connect 192.168.xx.xx.\adb.exe shell reboot update
采集失败,请手动处理

https://web.xiaowenweb.com/wp-content/uploads/2021/01/2019-01-23_15-28-51.png

操作正确后,盒子会自动重启并从U盘启动


4.将系统写入U盘

盒子在重启之后IP地址又会改变,这个时候最简单的是进入路由器去查看盒子的新IP,如果不行的就只能扫端口了

下载工具包中的【ScanPort.exe】,双击打开

采集失败,请手动处理

https://web.xiaowenweb.com/wp-content/uploads/2021/01/2019-01-23_15-35-56-1024x679.jpg

去网络属性里查看一下你的路由器分配的内网网段是多少,红框内填写你的网段IP,端口号22,其他如图所示,扫描可见开放了22端口(SSH端口)的设备,其中之一肯定是你的盒子

下载并打开Xshell(其他的ssh客户端也可以,大同小异),新建连接,IP填你盒子的,然后点击【用户身份验证】,用户名root,其中armbian的默认密码是1234,CentOS的默认密码是centos,保存后连接即可

采集失败,请手动处理

https://web.xiaowenweb.com/wp-content/uploads/2021/01/2019-01-23_15-42-49-1024x476.jpg

 

连接之后会提示你输入现在的密码并再输入新密码,输入即可(密码并不会在ssh界面显示,不要以为没输进去)

采集失败,请手动处理

https://web.xiaowenweb.com/wp-content/uploads/2021/01/2019-02-13_09-15-14.png

设置完又会提示加新用户,直接【Ctrl+C】跳过,重新连接。CentOS登录则直接完成,如果修改密码请用passwd指令。


三个镜像写入方式有一点差别,这里分开来写……

①Armbian_5.44

按顺序如下一条一条执行即可,按提示输入y一步一步整起走Shell

12345678910111213 #根目录加权chown root:root / -R#清除不需要的脚本rm -f install.sh#下载需要的安装脚本apt-get install wgetwget https://static.lty.fun/%E5%85%B6%E4%BB%96%E8%B5%84%E6%BA%90/n1/5.44/install.sh#为脚本添加执行权限chmod +x install.sh#准备系统分区mkfs.ext4 /dev/data#安装系统至eMMCnand-sata-install
采集失败,请手动处理

https://web.xiaowenweb.com/wp-content/uploads/2021/01/2019-01-23_16-07-33.png

最后显示Complete即可拔掉电源,然后拔掉U盘,再插上电源即从eMMC中的系统启动

②Armbian_5.77

一定要先替换成上面提供的补丁版dtb,然后直接执行如下条目即可Shell

退出移动版