本帖最后由 jilyzx 于 2019-1-25 00:24 编辑
新人一枚,非专业开发人士,只是按实际需求去折腾一下新三,分享一下这个过程,不足之处请各位大佬多多教导一下。 搭建可道云,还是H大的padavan来的最直接,楼主只是习惯用潘多拉的酸酸乳而已。
本文主要集中解决的2大问题,希望能帮到大家
1.潘多拉固件安装可道云
2.frp内网穿透,实现外网访问(其他固件也适用)
故事背景: 设备:新三D2 固件:PandoraBox 19.01 2019-01-01-git-3e8866933 外设:64G的3.0U盘 需求:可道云+外网访问(均以实现)
方法及工具 : 搭建方式:通过搭建Entware软件包库,一键安装onmp脚本快速搭建Nginx/MySQL/PHP环境,并且内置了一些好用的网站程序一键免配置快速安装,包含我们本次需要的可道云(Kodexplorer)以及Nextcloud,根据需要安装即可,详细请参考网站文档1安装 Entware,网站文档2一键安装onmp。frp(内网穿透)搭建:参考koolshare的一键搭建文章(点我直达)。
frp-域名:来源于freenom
frp-服务器:GCP
-------------------------------------------以下正文---------------------------------------------------
一键安装无法识别ext4分区,于是采用手动模式,以下内容与文档中有区别的地方会标明,其他操作可参考文章进行。
ps.由于按照教程设置自动挂载,重启路由后依旧失效,具体原因未知,部分代码会加入开机自启中,确保挂载成功。
路由后台,系统-启动项,如图加入,点提交即可。
-------------------------------------------分割线-------------------------------------------
一、安装Entware,参考网站文档1安装 Entware
1.格式化U盘,直接电脑格ext4就可以。软件百度,这里我除了新建一个ext4分区,还有一个swap分区(避免后续数据库出错)
2.(额外增加)插上U盘,执行以下2行代码挂载swap分区,2行均加入开机自启
- $ mkswap /dev/sda6
- $ swapon /dev/sda6
复制代码 3.(采用其他挂载方法)挂载ext4分区,由于参考网站的教程一直重启就会掉,又参考了这篇挂载文章。乱码,中间那段直接文本上$ block detect> /etc/config/fstab; \
sed -is/option$'\t'enabled$'\t'\'0\'/option$'\t'enabled$'\t'\'1\'/ /etc/config/fstab;\ sed -i s#/dev/sda7#/mnt/onmp/#/etc/config/fstab; \ cat /etc/config/fstab; - $ mount /dev/sda7 /mnt/onmp/
复制代码 将下面的代码加入开机自启
- $ mount /dev/sda7 /mnt/onmp/
复制代码 4.挂载/opt,直接按照参考文档执行即可。
- $ mkdir /mnt/onmp/opt
- $ mkdir /opt
- $ mount -o bind /mnt/onmp/opt /opt
复制代码 并将以下代码加入开机自启
- $ mkdir -p /opt
- $ mount -o bind /mnt/onmp/opt /opt
- $ /opt/etc/init.d/rc.unslung start
复制代码 5.执行Entware安装命令,选择最下边的那行MIPS的代码
- $ wget -O - http://bin.entware.net/mipselsf-k3.4/installer/generic.sh | /bin/sh
复制代码 6.(增加2行代码)修改opt环境变量,由于重启路由后环境变量耶无法自动载入,后新增代码进行更改。
在最后加入以下3行代码
- $ export PATH="$PATH:/opt/bin"
- $ export PATH="$PATH:/opt/sbin"
- $ . /opt/etc/profile
复制代码 7.参考文章,重启验证是否全部挂载成功,已经opt环境变量,如结果一致,则Entware已安装成功
未完待续。。。
二、安装onmp,参考网站文档2一键安装onmp,这一part基本按文档走
1.(新增安装)安装curl、SFTP- $ opkg update
- $ pkg install openssh-sftp-server
- $ opkg install curl
复制代码 2.一键快速安装,接下去按照脚本走就好了
- $ sh -c "$(curl -kfsSl https://raw.githubusercontent.com/xzhih/ONMP/master/oneclick.sh)"
复制代码
楼主在安装过程出现了问题:
“可能会因为某些问题某些核心软件包无法安装,请保持/opt/目录足够干净,如果是网络问题,请挂全局xxx”
查看发现错误开始出现为“Cannot install package nginx-extras.”,
实测opt环境变量错误,增加了2行代码更改PATH(上文一.6内容),更正后重新尝试正常安装,跟兲朝上网没关系(别问我为什么知道(╯‵□′)╯︵┻━┻)
因此在安装Entware后记得验证以下PATH是否正确。
作者在参考文中也提及:
php-fpm 和 mysqld 启动失败的可以开启swap,因此楼主在开始执行的时候就直接建立swap分区,做一个内存上的补充,不过新三512应该时够用的
3.调用onmp open安装网站程序,选择可道云即可
4.安装完成后即可通过ip:端口即可,默认好像时88。附图~~
5.将onmp加入开机自启
三、frp内网穿透
frp(内网穿透)搭建方式:参考koolshare的一键搭建文章(点我直达),可以实现单一http穿透服务,但配置文件缺少了子域名部分内容,于是重新自己搭建了一个frp服务,实现多个http共用一个端口,并通过分配的子域名进行访问。各位按需选择恰当的方式,如仅需一个服务穿透,一键搭建更为合适。
frp-域名:freenom
frp-服务器:GCP
frp官方主页:点我直达
frps官方配置文档:点我直达
-----------------------------------------------------以下内容在服务器端进行---------------------------------------------------
废话就不多说了,先进服务器,sudo -i,然后开始下边的教程。
1.下载固件对应版本 Frp,L大潘多拉版本为0.20.0
- $ wget https://github.com/fatedier/frp/releases/download/v0.20.0/frp_0.20.0_linux_amd64.tar.gz
复制代码 2.使用 tar 指令解压 tar.gz 文件
- $ tar -zxvf frp_0.20.0_linux_amd64.tar.gz
复制代码 3.进入 frp 目录
- $ cd frp_0.20.0_linux_amd64
复制代码 4.删除不必要的客户端文件
- $ rm -f frpc frpc_full.ini frpc.ini
复制代码 5.服务器端配置文件,先vi
将以下内容写入配置文件后保存,有文字备注部分的均需要修改为自己的数据,服务器IP跟子域名一定要更改,其他按需修改即可。
- [common]
- bind_addr = xxx.xxx.xxx.xxx#填入你服务器ip
- bind_port = 7000
- bind_udp_port = 7001
- kcp_bind_port = 7000
- vhost_http_port = 8080
- vhost_https_port = 14430
- dashboard_addr = xxx.xxx.xxx.xxx#填入你服务器ip
- dashboard_port = 7500
- dashboard_user = admin#frp控制面板的用户名,可自行修改,不更改就是admin
- dashboard_pwd = admin#frp控制面板的密码,可自行修改,不更改就是admin
- log_file = ./frps.log
- log_level = info
- log_max_days = 3
- token = qwert789#链接的密钥,可自行修改,不更改就是qwert789
- allow_ports = 2000-3000,3001,3003,4000-50000
- max_pool_count = 5
- max_ports_per_client = 0
- subdomain_host = a.ga#需要自行修改为自己的子域名,实现abc.a.ga或者aaa.a.ga等*.a.ga子域名均可分配
- tcp_mux = true
复制代码 6.保存上面配置文件,启动 frp 服务器,进行测试,打开frp控制面板[域名:7500],如上述例子为www.a.ga:7500
7.测试无误后,Ctrl+c 退出运行,执行下列后台运行代码
- $ nohup ./frps -c ./frps.ini &
复制代码 8.按需设置vps服务器开机自启
8-a.复制文件
- $ cp frps /usr/local/bin/frps
- $ mkdir /etc/frp
- $ cp frps.ini /etc/frp/frps.ini
复制代码 8-b.编写 FRP SERVICE 文件
- $ vim /usr/lib/systemd/system/frps.service
复制代码 将以下内容写入并保存
- [Unit]
- Description=frps
- After=network.target
- [Service]
- TimeoutStartSec=30
- ExecStart=/usr/local/bin/frps -c /etc/frp/frps.ini
- ExecStop=/bin/kill $MAINPID
- [Install]
- WantedBy=multi-user.target
复制代码 8-c.启动 frp 并设置开机启动
- $ systemctl enable frps
- $ systemctl start frps
复制代码
至此服务器的frps就搭建ok啦
-----------------------------------------------------以下内容补充一下必要的子域名解析---------------------------------------------------
frp需要用到子域名来分配多个http服务来共用一个端口,需要在域名解析对应的域名
域名来源:freenom
如图所示解析主域名以及所需的子域名
直接开cmd,ping 主域名或者子域名,验证是否解析完成
ping 主域名
ping 子域名
-----------------------------------------------------以下内容在路由(即客户端)进行---------------------------------------------------
打开路由的frpc,先设置fprc通用设置
下方添加服务列表,如图添加对应的设置即可
至此路由(即客户端)的frpc就配置好啦
-----------------------------------------------------分割线---------------------------------------------------
下边展示一下最终的成果,服务端口均为8080(如果你没修改的话)
1.子域名luyou.***.ga:8080,路由管理服务
2.子域名kedaiyun.***.ga:8080,可道云服务
-----------------------------------------------------总结---------------------------------------------------
1.frp管理页面,可以看到哪些服务的穿透可用
主域名:7500,例如www.***.ga:7500
用户名,密码登录(如果没改,就都是admin)
2.服务页面
子域名:8080,例如luyou.***.ga:8080
所有的需求都实现啦~~希望能帮到你们
|