找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 14346|回复: 25

小米路由3 原厂固件OPKG安装 nginx+php+mysql 搭建WEB环境 芒果云等

[复制链接]
发表于 2017-9-2 15:38 | 显示全部楼层 |阅读模式
本帖最后由 crosscc 于 2017-9-2 16:17 编辑

自己路由器是小米路由3,由于自带的APP和和迅雷远程下载,并且可以安装misstar tool(里面有KP SS webshell KMS aria2 远程管理等插件:http://bbs.xiaomi.cn/t-12975500)
所以不想刷第三方固件,百毒了小米搭建WEB环境教程,发现只有小米路由1的,在3上安装失败,没有小米路由3的教程,就这个教程理论上在小米路由mini 芯片都是一样的,不过没有测试。自己工地搬砖工没有编译能力。参考了一下别人教程后手动搭建了WEB环境,高手绕行
参考:小米路由3安装原生luci :https://www.right.com.cn/forum/thread-186594-1-1.html
【Newifi新玩法 3】-搭建OpenWRT+Nginx+Mysql+PHP(搬迁)-新路由社区 http://bbs.newifi.com/thread-785-1-1.html
__________________________________________________________________________________________________________
(请教两个问题
1、不知道怎么批量做链接,就是把一个目录下的所有文件批量做按原来的名字连接到另一个目录
2、怎么做延迟启动脚本,因为我的插件是安装在U盘的,路由重启后U盘挂载没那么快,所有会导致自动启动失败。想要个延迟启动和按某个顺序启动的方法。谢谢
教程如下:用到的工具:winscp putty
(下面教程如果提示 can load library xxxx.so.x  只要去/extdisks/sda5/opt/usr/lib 或者extdisks/sda5/opt/lib,找到xxxxx这个文件 有可能名字是XXXX.so.1.2.3 在链接或者复制一个名字为XXXXX.so.x 就可以了,/extdisks/sda5/都换成自己的路径)
——————————————————————————————————————————————————————————
1、拷贝 opkg /data/
我是从小米mini的openwrt固件里面拷贝出来的
2、修改/etc/opkg.conf
  1. # openwrt官方barrier_breaker/14.07的版本ramips/mt7620a/的软件包源
  2.             src/gz attitude_adjustment_base http://openwrt.mirrors.ustc.edu.cn/barrier_breaker/14.07/ramips/mt7620a/packages/base
  3.             src/gz attitude_adjustment_packages http://openwrt.mirrors.ustc.edu.cn/barrier_breaker/14.07/ramips/mt7620a/packages/packages/
  4.             src/gz attitude_adjustment_luci http://openwrt.mirrors.ustc.edu.cn/barrier_breaker/14.07/ramips/mt7620a/packages/luci/
  5.             src/gz attitude_adjustment_management http://openwrt.mirrors.ustc.edu.cn/barrier_breaker/14.07/ramips/mt7620a/packages/management/
  6.             src/gz attitude_adjustment_oldpackages http://openwrt.mirrors.ustc.edu.cn/barrier_breaker/14.07/ramips/mt7620a/packages/oldpackages/
  7.             src/gz attitude_adjustment_routing http://openwrt.mirrors.ustc.edu.cn/barrier_breaker/14.07/ramips/mt7620a/packages/routing/
  8.             src/gz openwrt_dist http://openwrt-dist.sourceforge.net/releases/ramips/packages
  9.             src/gz openwrt_dist_luci http://openwrt-dist.sourceforge.net/releases/luci/packages
  10.             # opkg命令默认讲软件安装的目录,我设置成/extdisks/sda5/opt目录,不设置会安装到/根目录            
  11. dest root /extdisks/sda5/opt
  12.             #opkg 临时文件目录
  13.             dest ram /tmp
  14.             # opkg的数据报索引文件的路径,也改到/extdisks/sda5/opt目录下
  15.             lists_dir ext /var/opkg-lists
  16.             option overlay_root /extdisks/sda5/opt/app
  17.             arch all 100
  18.             arch ramips 200
  19.             arch ramips_24kec 300
  20.             arch unknown 500
  21.             arch mips 400
复制代码

安装路径我是安装到我的U盘,路由器空间够的话也可以安装到/data/
3 修改/etc/profile
  1. <blockquote>export LD_LIBRARY_PATH=/extdisks/sda5/opt/usr/lib:/extdisks/sda5/opt/lib:/extdisks/sda5/opt/usr/lib/php
复制代码
(上面export LD_LIBRARY_PATH= lib库的位置”:”是分隔符,改成自己的位置
export PATH= 后面我也加了两个自己U盘的位置,改成自己相应的盘符,这样大部分找不到位置的库就不用做链接了
1、安装:
  1. /data/opkg update

  2. /data/opkg install nginx php5 php5-mod-gd php5-mod-session php5-mod-pdo php5-mod-pdo-mysql php5-mod-mysql php5-mod-mcrypt php5-mod-mbstring php5-fastcgi php5-cgi php5-mod-xml php5-mod-ctype php5-mod-curl php5-mod-exif php5-mod-ftp php5-mod-iconv php5-mod-json php5-mod-sockets php5-mod-sqlite3 php5-mod-tokenizer php5-mod-zip zoneinfo-asia zoneinfo-core
复制代码

小米路由3没有时区插件,如果没安装zoneinfo-asia zoneinfo-core 后导致打开芒果云等报错
3):如果报错报错libc 手动下载:https://downloads.openwrt.org/barrier_breaker/14.07/ramips/mt7620a/packages/base/libc_0.9.33.2-1_ramips_24kec.ipk winscp上传到U盘输入:/data/opkg install libc_0.9.33.2-1_ramips_24kec.ipk  安装
4:
  1. /data/opkg install mysql-server
复制代码
修改/extdisks/sda5/opt/etc/my.cnf
  1. datadir                = /extdisks/sda5/mysql/
  2. tmpdir                = /extdisks/sda5/tmp/
复制代码

(修改完后要在 /extdisks/sda5 创建sysql tmp 两个目录)
修改/extdisks/sda5/opt/etc/php.ini
  1. short_open_tag = on  
  2. doc_root = "/extdisks/sda5/web"
  3. extension_dir = "/extdisks/sda5/opt/usr/lib/php"
  4. date.timezone = Asia/Shanghai
  5. mysql.default_socket = /var/run/mysqld.sock
复制代码

去掉”;extension=xxx.so” 的注释“;”

#修改完成后把这两个文件复制 /etc/ 里面
然后把/etc/my.cnf 的权限改成0664(不然后面会报错Warning: World-writable config file '/etc/my.cnf' is ignored
6:/usr/share下创建mysql目录 在/usr/share/mysql下创建english目录
然后给在/extdisks/sda5/opt/usr/bin/下的my_print_defaults 等文件创建符号链接到/usr/bin/
(不知道怎么批量做链接,所以我都是一个个做连接的,嫌麻烦的话可以一个文件夹复制过去,会的大神教一下,谢谢)
一个一行 回车输入下一行
输入命令:
  1. ln -s /extdisks/sda5/opt/usr/bin/my_print_defaults /usr/bin/my_print_defaults
  2. ln -s /extdisks/sda5/opt/usr/share/mysql/mysql_system_tables_data.sql /usr/share/mysql/mysql_system_tables_data.sql
  3. ln -s /extdisks/sda5/opt/usr/share/mysql/fill_help_tables.sql /usr/share/mysql/fill_help_tables.sql
  4. ln -s /extdisks/sda5/opt/usr/share/mysql/english/errmsg.sys /usr/share/mysql/english/errmsg.sys
  5. ln -s /extdisks/sda5/opt/usr/share/mysql/mysql_system_tables_data.sql /usr/share/mysql/mysql_system_tables_data.sql
  6. ln -s /extdisks/sda5/opt/usr/bin/mysql /usr/bin/mysql
  7. ln -s /extdisks/sda5/opt/usr/bin/mysql_install_db /usr/bin/mysql_install_db
  8. ln -s /extdisks/sda5/opt/usr/bin/mysqld /usr/bin/mysqld
  9. ln -s /extdisks/sda5/opt/usr/bin/mysqldump /usr/bin/mysqldump
  10. ln -s /extdisks/sda5/opt/usr/bin/mysqladmin /usr/bin/mysqladmin
  11. ln -s /extdisks/sda5/opt/usr/bin/myisamchk /usr/bin/myisamchk
  12. ln -s /extdisks/sda5/opt/usr/share/mysql/mysql_system_tables.sql /usr/share/mysql/mysql_system_tables.sql
复制代码
以上命令输完一个回车一次,好了以后输入以下命令创建默认的数据库:
  1. /usr/bin/mysql_install_db --force
复制代码
打开:/extdisks/sda5/opt/etc/init.d 修改里面的nginx
  1. NGINX_BIN=/extdisks/sda5/opt/usr/sbin/nginx
复制代码
然后把里面的mysqldnginxphp5-fastcgi 复制到/etc/init.d (这样就可以开机启动)
7启动mysql
  1. /etc/init.d/mysqld start
复制代码

8输入如下命令创建mysql的密码
  1. /usr/bin/mysqladmin -u root password 123456
复制代码
(如果提示: can't load library 'libmysqlclient.so.16'  在/usr/lib/创建libmysqlclient.so.16 连接到/extdisks/sda5/opt/usr/lib/libmysqlclient.so.16.0.0 ,然后重新输入上面代码
9登陆数据库:
  1. mysql -u root -p
复制代码
密码就是刚才设置的的123456,mysql就创建完成了 按下Ctrl+C 退出 mysql
10/etc/nginx/nginx.conf
  1. user root;
  2. worker_processes  8;

  3. #pid        logs/nginx.pid;
  4. error_log        /dev/null crit;
  5. pid                /var/run/nginx.pid;

  6. events {
  7.     use epoll;
  8.     worker_connections  1024;
  9.     multi_accept on;
  10. }

  11. http {
  12.     include       mime.types;

  13.     #access_log  logs/access.log  main;
  14.     access_log        off;

  15.     charset utf-8,gbk;
  16.     server_names_hash_bucket_size 128;
  17.     client_header_buffer_size 2k;
  18.     client_body_buffer_size    64k;
  19.     large_client_header_buffers 2 4k;
  20.     client_max_body_size 16m;   
  21.     sendfile        off;
  22.     tcp_nopush     on;
  23.     tcp_nodelay     on;
  24.     keepalive_timeout          120;
  25.     send_timeout        300;

  26.     server {
  27.         listen       99;
  28.         server_name  localhost xyun.co;

  29.         #charset koi8-r;

  30.         #access_log  logs/host.access.log  main;
  31.         
  32.         root /www;
  33.         fastcgi_connect_timeout 300;
  34.         fastcgi_send_timeout 300;
  35.         fastcgi_read_timeout 300;
  36.         fastcgi_buffer_size 4k;
  37.         fastcgi_buffers 8 4k;
  38.         fastcgi_busy_buffers_size 8k;
  39.         fastcgi_temp_file_write_size 8k;

  40.         location / {
  41.             autoindex on;
  42.             index  index.html index.htm;
  43.         }

  44.         location /cgi-bin/luci {                                             
  45.                 fastcgi_split_path_info ^(/cgi-bin/luci)(/.+)$;                  
  46.                 fastcgi_pass  unix:/tmp/fcgi-cgi.sock;                           
  47.                 fastcgi_param PATH_INFO $fastcgi_path_info;                     
  48.                 set $script_name '/cgi-bin/luci';                                
  49.                 fastcgi_param SCRIPT_FILENAME $document_root$script_name;
  50.                 include fastcgi_params;                                    
  51.                 add_header Cache-Control no-store;
  52.         }   

  53.         error_page   500 502 503 504  /50x.html;
  54.         location = /50x.html {
  55.             root   html;
  56.         }

  57.     }

  58.                 server {
  59.         listen       8088;
  60.         server_name  localhost;
  61.         root  /extdisks/sda5/web;
  62.         index  index.html index.htm index.php default.php;

  63.         location ~* ^.+\.php(\/.*)*$ {
  64.         fastcgi_pass   127.0.0.1:1026;
  65.         fastcgi_index  index.php;
  66.         fastcgi_param  SCRIPT_FILENAME  /extdisks/sda5/web/$fastcgi_script_name;
  67.         include        fastcgi_params;
  68.                     }
  69.                 }
  70. }
复制代码

说明:/extdisks/sda5/web/是你网站的根目录根据自己的改,99端口是WEB管理端口,可以用来做下载页面,8088端口是网站php的端口
11启动spawn-fcgiphp必须,我也不懂原理,感兴趣的可以百度一下)
  1. /usr/bin/spawn-fcgi -a 127.0.0.1 -p 1026 -C 2 -f /extdisks/sda5/opt/usr/bin/php-cgi
复制代码
(注意:这里的默认端口是1026,要跟/etc/nginx/nginx.conf中设置的端口对应
如果需要开机启动的话,将上述指令放置到/etc/rc.local脚本中exit 0前面)
(如果提示spawn-fcgi: child exited with: 16, 运行
/usr/bin/spawn-fcgi -a 127.0.0.1 -p 1026 -C 2 -f /extdisks/sda5/opt/usr/bin/php-cgi -n  查看错误信息,我这提示少libxml2.so.2 复制或者链接一个libxml2.so.2.9.2 libxml2.so.2
然后重新运行上面命令两次,出现 spawn-fcgi: bind failed: Address already in use 说明php环境启动成功
最后是重启nginx
  1. /etc/init.d/nginx restart
复制代码
如果报错的话 先输入:/etc/init.d/nginx stop 再输入:/etc/init.d/nginx start
13现在这个框架搭建完成了,不出意外的话就可以创建php网站了,先测试一下php有没有正常运行
在网站根目录(/extdisks/sda5/web)创建test.php777权限)内容如下:
  1. <?php echo phpinfo();?>
复制代码
然后浏览器打开该页192.168.31.1:8088/test.php,如果显示如下,说明成功启动,否则失败:
14、KOD芒果云架设
我这里下载芒果云解压到WEB 打开一片空白
下载2.7版本的芒果云解压到WEB,则可以正常运行,然后点升级。
芒果云2.7版本我上传到我的百度云了链接: https://pan.baidu.com/s/1jIKKqKe 密码: yr6s





本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

评分

参与人数 1恩山币 +1 收起 理由
eschengpf + 1 我来恩山就是为了看你!

查看全部评分

我的恩山、我的无线 The best wifi forum is right here.
发表于 2017-9-2 15:49 | 显示全部楼层
感谢分享 666666666
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2017-9-2 16:22 | 显示全部楼层
66666666666666666666666
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2017-9-2 16:24 | 显示全部楼层
求高手回答问题
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2017-9-3 12:51 | 显示全部楼层
正在找这方面的东东!
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2017-9-7 09:02 | 显示全部楼层
楼楼,,我的小米路由器3 装了misstar tool,但是里面为什么没有SS插件啊,最新版的。。。加群群里不让讨论这个

点评

我这有备份作者的 安装包 要的话可以发你一个。  详情 回复 发表于 2017-9-7 09:27
我上周安装的还有插件。。  详情 回复 发表于 2017-9-7 09:24
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2017-9-7 09:24 | 显示全部楼层
Orz249 发表于 2017-9-7 09:02
楼楼,,我的小米路由器3 装了misstar tool,但是里面为什么没有SS插件啊,最新版的。。。加群群里不让讨论 ...

我上周安装的还有插件。。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2017-9-7 09:27 | 显示全部楼层
Orz249 发表于 2017-9-7 09:02
楼楼,,我的小米路由器3 装了misstar tool,但是里面为什么没有SS插件啊,最新版的。。。加群群里不让讨论 ...

我这有备份作者的 安装包 要的话可以发你一个。

点评

啊啊啊,谢谢楼主  详情 回复 发表于 2017-9-7 10:45
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2017-9-7 10:45 | 显示全部楼层
crosscc 发表于 2017-9-7 09:27
我这有备份作者的 安装包 要的话可以发你一个。

啊啊啊,谢谢楼主   345731733@qq.com

点评

发送给你了。  详情 回复 发表于 2017-9-11 09:44
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2017-9-11 09:44 | 显示全部楼层
Orz249 发表于 2017-9-7 10:45
啊啊啊,谢谢楼主

发送给你了。

点评

楼主可以给我发一份吗, 多谢了  详情 回复 发表于 2017-9-26 23:46
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2017-9-11 13:28 | 显示全部楼层
一看见一堆代码就头疼,纯小白一个
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2017-9-22 00:11 来自手机 | 显示全部楼层
我用lamp建站的端口8080,xxx.vicp.nent访问的是路由管理页面,xxx.vicp.net:8080访问到网站页面,我想把路由管理端口改成8080   llmp网站端口改80  但是改了就不能用手机app管理路由了,有什么方法可以改了管理页面端口手机app还能访问路由?

点评

我也是小白。。不懂哎  详情 回复 发表于 2017-10-6 11:34
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2017-9-26 23:46 | 显示全部楼层

楼主可以给我发一份吗,esmallseven@163.com  多谢了

点评

刚看到谢谢了  详情 回复 发表于 2017-10-7 15:36
发送给你邮箱了,小米论坛有还原的方法  详情 回复 发表于 2017-10-6 14:56
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2017-10-6 11:34 | 显示全部楼层
hyhylhy 发表于 2017-9-22 00:11
我用lamp建站的端口8080,xxx.vicp.nent访问的是路由管理页面,xxx.vicp.net:8080访问到网站页面,我想把路 ...

我也是小白。。不懂哎
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2017-10-6 14:56 | 显示全部楼层
sseven 发表于 2017-9-26 23:46
楼主可以给我发一份吗,  多谢了

发送给你邮箱了,小米论坛有还原的方法
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-3-29 21:32

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

快速回复 返回顶部 返回列表