将小米路由器3刷机成openwrt的方法,请参考上篇文章《 家庭宽带多运营商接入方案》
这里介绍怎么在已经刷成openwrt系统的小米路由器3上安装私有云nextcloud

openwrt开启SFTP

root@OpenWrt:~# opkg update
root@OpenWrt:~# opkg install openssh-sftp-server

注意:每次系统升级后,都要重新安装openssh-sftp-server开启SFTP。

挂载移动硬盘

1. 将移动硬盘插到路由器上,分为以下四个区:

格式化分区命令:
示例:mkfs.ext4 /dev/sda4
格式化完成且,重启路由器。
查看分区命令:fdisk -l

序号分区分区大小分区类型作用
1/dev/sda1NTFS作为数据存储分区
2/dev/sda210Gext3挂载到/overlay
3/dev/sda35Gswap挂载为swap分区(发现最大只显示2G)
4/dev/sda410Gext4挂载到/mnt/onmp
2. 挂载并激活swap分区
mkswap /dev/sda3
swapon /dev/sda3
3. 实现开机自动挂载swap分区

我发现,在图形化界面里自动挂载swap无效,只有在命令中实现才有效。

1. 编辑swap分区配置信息,编辑/etc/fstab文件,添加内容:/dev/sda3 swap swap defaults 0 0
2. 重新读取/etc/fstab文件,挂载Swap分区:swapon -a

注:普通分区使用mount -a重读/etc/fstab文件,swap分区使用swapon -a重读/etc/fstab文件

3. 开机自动挂载
编辑/etc/rc.local文件,添加一行:swapon-a

其它命令:
查看内存和Swap空间使用情况:free
查看swap分区的详细信息,看是否运行:swapon -s
卸载swap分区:swapoff /dev/sda3

4. 挂载overlay分区

将/dev/sda2挂载到/rom/overlay
在图形化界面中操作:
在这里插入图片描述

安装curl

opkg install curl

手动安装命令:
升级tar(先升级tar,否则解压文件时会出错,提示 invalid tar magic):
opkg upgrade tar
下载curl安装包:
cd tmp
root@lu:/tmp# wget --no-check-certificate https://curl.haxx.se/download/curl-7.61.0.tar.gz
解压:
tar -zxvf curl-7.61.0.tar.gz
解压缩后,开始编译:
root@lu:/tmp# cd curl-7.61.0/
root@lu:/tmp/curl-7.61.0# ./configure --prefix=/usr/local/curl
如果出错,提示configure: error: ar not found in PATH. Cannot continue without ar.,说明缺少ar,需要先安装binutils。
安装binutils:
opkg install binutils
安装时,又提示这个错误:configure: error: no acceptable C compiler found in PATH,需要安装gcc:
opkg install gcc
如果提示overlay空间不足,说明没有挂载移动硬盘的overlay分区。
gcc安装时间较长,十分钟吧,安装完后,开始编译。
make;make install
又出错,缺少make命令,那就安装吧
opkg install make,再make
编译时间也很长。
然后
export PATH=/usr/local/curl/bin:$PATH
最后,看一下安装的cur版本
curl -V

安装Entware

一定要先手动方式,自动方式的话,重启路由器后,会找不到盘。
1. 建立/mnt/onmp目录
mkdir /mnt/onmp
2. 实现开机自动建立
这个目录,在重启后会消失,需要加入到开机启动项中。
vim /etc/rc.local,添加一行:mkdir /mnt/onmp
这样重启后,就会自动建立/mnt/onmp目录,后续的自动操作也可以正常进行了。
3. 将/dev/sda4分区挂载到/mnt/onmp目录下
mount -t ext4 /dev/sda4 /mnt/onmp/
用mount或df -h 查看一下是否挂载成功

如果不能挂载,尝试先格式化,再挂载

4. 开机自动挂载
使用图形化界面挂载
在这里插入图片描述

命令行挂载方式:
配置挂载内容:
vim /etc/fstab,添加一行: /dev/sda4 /mnt/onmp ext4 defaults 0 1
再执行:
mout -a #挂载,此命令会重读/etc/fstab文件。
配置开机自动挂载:
vim /etc/rc.local,添加一行:
mount -a #这一句加到exit 0前面
exit 0

5. 将/mnt/onmp/opt与/opt绑定
先在移动硬盘上建立一个opt目录:
mkdir /mnt/onmp/opt
将其与/opt绑定:
mout -o bind /mnt/onmp/opt /opt

使用mout或df -h查看是否绑定成功

最后,重启路由器,使用opkg update,看是不是从entware.net网站上更新了。
** 安装完Entware成功后的提示:**

	Info: Congratulations!
	Info: If there are no errors above then Entware was successfully initialized.
	Info: Add /opt/bin & /opt/sbin to your PATH variable
	Info: Add '/opt/etc/init.d/rc.unslung start' to startup script for Entware services to start
	Info: Found a Bug? Please report at https://github.com/Entware/Entware/issues
	  _______                     ________        __
	 |       |.-----.-----.-----.|  |  |  |.----.|  |_
	 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
	 |_______||   __|_____|__|__||________||__|  |____|
	          |__| W I R E L E S S   F R E E D O M
	 -----------------------------------------------------
	 NATCAP 4.0_b201807150836, Bionic
 -----------------------------------------------------

安装ONMP

前面弄了一大堆,终于到了安装ONMP的时候了。

官方教程:https://github.com/xzhih/ONMP

1. 安装命令:
sh -c “$(curl -kfsSl https://raw.githubusercontent.com/xzhih/ONMP/master/oneclick.sh)”
安装完成后,观察提示信息,是否有失败信息:

现在开始初始化ONMP
----------------------------------------
|**********  onmp命令已经生成  **********|
|**********  管理 onmp open  **********|
|*********  启动 停止 重启ONMP  *********|
|*****  onmp start|stop|restart   *****|
|*******  查看网站列表 onmp list  *******|
----------------------------------------
onmp正在启动
nginx 启动成功
php-fpm 启动成功
mysqld 启动失败
onmp启动失败

这里mysql启动失败,是因为需要挂载swap分区,才能启动mysqld。按上面的步骤挂载swap分区。

2. 使onmp开机自动运行
vim /etc/rc.local
在exit 0之前加一句:onmp start

一个运行正常的rc.local文件示例:

root@hello:~# cat /etc/rc.local
# Put your custom commands here that should be executed once
# the system init finished. By default this file does nothing.
mkdir /mnt/onmp
mount -a
swapon -a
mkdir -p /opt
mount -o bind /mnt/onmp/opt /opt
/opt/etc/init.d/rc.unslung start
exit 0

安装nextcoud

onmp启动成功后,就可以安装nextcloud了。
启动onmp:
onmp open
选择7,安装网站程序,
选择4,nextcloud
安装需要15分钟左右的时间
安装后提示:

正在解压…
解压完成…
正在配置Nextcloud…
Nextcloud安装完成
浏览器地址栏输入:192.168.15.1:99 即可访问

首次打开要求配置用户和数据库信息
地址默认 localhost
用户名和密码是你自己设置的,或者是默认的root/123456

nextcloud升级失败,退出维护模式

opkg install sudo
sudo -u nobody php-cli occ maintenance:mode --off

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐