找回密码
 马上注册

QQ登录

只需一步,快速开始

搜索
查看: 425|回复: 12

全志a20安卓盒子打造云盘服务器-安装可道云KodExplorer服务端-php7.3.0+nginx

[复制链接]
发表于 2018-12-31 12:39:56 | 显示全部楼层 |阅读模式
本帖最后由 能干些啥 于 2018-12-31 16:19 编辑

先介绍一下可道云:https://www.138vps.com/jc/1162.html
当然也可以去官网看演示:
http://demo.kodcloud.com/index.php?user/login

贴上几张图
360截图1729051098122136.png 功能强大

看图片:
360截图185107246365101.png
编辑器:
360截图17100818686969.png
当然也可以 上传、在线看视频、解压缩
前提是硬盘够大

我的设备:迪优美特x6ii
360截图18430714466161.png
外壳被我扔了
弄了个小盒子装着
改了3.5寸电源DC接口
IMG_20181229_184443.jpg
IMG_20181229_185810.jpg

插上TTL线
IMG_20181229_184202.jpg

单片机ADC测量电压和电流计算功率
IMG_20181231_115637.jpg
功耗非常低!平时1W多(没有挂硬盘)
IMG_20181231_115614.jpg

上传文件时2.8W左右
一个硬盘的功率都比它大

IMG_20181231_115918.jpg
IMG_20181231_120015.jpg

下面教程开始,务必看完再尝试
可以少走很多我走过的弯路
节省不少时间

准备工作
安卓盒子(芯片为全志A20)
U盘一个
双头USB线或SD卡(前提是盒子只支持SD卡刷机)
可联网电脑一台
已知管理权限的路由器一台或显示器

为什么要准备上述工具?
A20盒子可以刷入cubieboard2的cubian2.0(定制版debian7 arm版),如果其它盒子能刷debian,当然也是可以的
debian是使用了linux内核的系统
双头USB线用于给A20安卓盒子刷机,自制的话将两条数据线剪开,把里面的线按颜色一 一对应接好
电脑用于给盒子刷机,ssh、winscp或vnc操作盒子上的debian系统
有管理权限的路由器是为了查看盒子被DHCP分配的IP地址
有显示器的话接hdmi线直接看就好

刷入cubian2.0
我的固件在这里下的虽然是cubieboard2的固件,但是完美兼容
路径:
https://pan.baidu.com/s/1bppHqwf#list/path=%2FCubieBoard_Download%2FBoard%2FCubieBoard2&page=1
>[url=]CubieBoa...[/url]>[url=]Cubieboa...[/url]>[url=]Image[/url]>Cubieez
当然也可以通过这个分享:
链接: https://pan.baidu.com/s/1qq5uqtsyxB7vxQBTmmvTrQ 提取码: uuky

本文用到的工具:
链接: https://pan.baidu.com/s/1_wGURN4RSrVDsLVq6BjTDQ 提取码: ery7

刷机有两种方法(线刷和使用SD卡刷机):

对于无法usb线刷但有SD卡槽的盒子:
打开PhoenixCard
选择好SD卡和文件,点击卡量产点击烧录即可
需要十几分钟
360截图176303309186110.png
烧录完将卡插入盒子
插上TTL线
先找GND TX对RX RX对TX 无信息就调换一下TXRX
或者万用表黑表笔接GND,红表笔接你认为是TTL接口的排针,上电看看电压是不是不断在0-3.3V间变化

查看串口端口号
360截图17571120374053.png
点击设备管理器
360截图177104087876110.png
找到硬件,这里是COM3

360截图18470130285924.png 打开PuTTY
360截图17670920165908.png
填入参数
360截图18720120496933.png
开始查看信息
360截图175711208281113.png
开始刷机:
0.png

1.png
刷机完成
2.png
3.png

USB线刷

让设备进入刷机模式
按下设备的刷机按钮或短接:
IMG_20181229_201708.jpg

打开PhoenixSuitV1.1
选择好路径立即刷机
360截图17290513547661.png 刷完可以直接接TTL线或接网线

接网线怎么操作:
登陆路由器的管理界面(192.168.1.1或192.168.0.1或192.168.123.1)
或者参考这里:
https://jingyan.baidu.com/article/359911f5afd24257fe030629.html
一般网关的地址就是路由器的管理网址
一般来说 账号:admin 密码:admin
也有guest guest
甚至腾达的老路由器没有密码
打开PuTTY,ssh登陆,用户为root,密码为cubieboard
另外一个用户是cubie,密码也是cubieboard
这里IP为192.168.77.202(改成你在路由器上看到DHCP分配给你设备的!)
360截图16280725284166.png
360截图184307117811165.png
虽然可以直接登陆root,但是我还是建议先用cubie登陆再su转root

接上TTL怎么操作
还是刚才那样

启动完成
360截图18141226362731.png
按下ENTER
提示输入用户名(cubie)
360截图187508159378124.png
提示输入密码
(输入cubieboard即可,密码是隐藏的)

360截图18430709282810.png
登陆完成
360截图187508159378125.png
输入su以转到root
360截图187508159378126.png
密码仍为cubieboard
成功
360截图187508159378127.png




好了,以上两种方法任选一种
可以继续输入命令了
nano /etc/network/interfaces

设置静态IP供后面使用
360截图187508159378128.png
这是图中的信息,把192.168.77.202(此设备IP)和192.168.77.1(网关)改为自己的IP即可
一定要修改,否则以后要再次插TTL线来设置!
不知道网段的话
查看这个教程,这步很重要!https://jingyan.baidu.com/article/359911f5afd24257fe030629.html

auto lo eth0为自动启用eth0端口
iface eth0 inet static
中的static为静态,改为dhcp就是动态分配




  1. # interfaces(5) file used by ifup(8) and ifdown(8)
  2. auto lo eth0
  3. allow-hotplug eth0
  4. iface lo inet loopback
  5. iface eth0 inet static
  6. address 192.168.77.202
  7. netmask 255.255.255.0
  8. gateway 192.168.77.1
复制代码






CTRL+X然后y再按enter即可保存
设置静态地址就不用担心IP变动找不到设备

修改DNS
  1. nano /etc/resolv.conf
复制代码
修改为114.114.114.114
360截图17860613689291.png

下面再设置软件源
  1. nano /etc/apt/sources.list
复制代码


我的系统代号是wheezy
这几个源都可以使用
  1. deb http://security.debian.org/ wheezy/updates main

  2. deb-src http://mirrors.163.com/debian-security wheezy/updates main contrib non-free

  3. deb-src http://mirrors.aliyun.com/debian/ wheezy main non-free contrib
  4. deb-src http://mirrors.aliyun.com/debian/ wheezy-proposed-updates main non-free contrib

复制代码
  1. deb http://mirrors.ustc.edu.cn/debian wheezy main contrib non-free
  2. deb-src http://mirrors.ustc.edu.cn/debian wheezy main contrib non-free
  3. deb http://mirrors.ustc.edu.cn/debian wheezy-updates main contrib non-free
  4. deb-src http://mirrors.ustc.edu.cn/debian wheezy-updates main contrib non-free
  5. deb http://mirrors.ustc.edu.cn/debian-security/ wheezy/updates main non-free contrib
  6. deb-src http://mirrors.ustc.edu.cn/debian-security/ wheezy/updates main non-free contrib
复制代码

确定盒子联网,保存后输入
  1. apt-get update
复制代码

如果出现  "There is no public key available"
输入
  1. apt-get install debian-keyring debian-archive-keyring
复制代码

  1. apt-get update
复制代码

安装tightvncserver(用于VNC连接)(可以省略,但是它以后是拔显示器的当服务器的,维护时接显示器不方便)
  1. apt-get install tightvncserver
复制代码


完成后输入
vncpasswd
设置密码
让它自启动可以参加这篇
https://www.douban.com/note/317673056/
把VNCUSER='pi'中的pi改为root即可自启动
输入reboot
重启完成测试vnc

360截图1729050558100109.png
输入密码
360截图1683111587118104.png
完成
360截图17950507335181.png

安装nginx
  1. apt-get update
  2. apt-get install nginx
复制代码
输入y同意
360截图179505073351819.png
360截图1795050733518197.png
安装中
360截图17950507335181971.png
安装完成
360截图17710406857484.png
  1. service nginx start
复制代码
启动nginx,然后它就会在下次开机自启动

浏览器输入设备IP(192.168.77.202是我的设备的IP)
成功之后:

360截图18750824306542.png
下载php源码
网址:http://www.php.net/downloads.php

我把它放到了U盘(已格式化为ext4),所以先df
放到U盘是一方面是保护内部nand闪存,另一方面防止编译时空间不足

360截图170010228294116.png
可以看到,U盘在/media/cf02cf0a-3e9d-44d1-96ba-94981f4340a1(之后记得把这个换成你的U盘,现在仅以我的U盘示范)
那么就要转到那里
命令:

  1. cd /media/cf02cf0a-3e9d-44d1-96ba-94981f4340a1
复制代码
当然也可以使用(记得先转到U盘目录)
  1. wget http://cn2.php.net/distributions/php-7.3.0.tar.gz
复制代码
开始解压

  1. tar xvf php-7.3.0.tar.gz
复制代码
多了个文件夹
360截图18141222165533.png
进入它:
  1. cd php-7.3.0
复制代码
编译安装php参考自
https://www.jianshu.com/p/00d44d6196de

非常感谢这篇教程

开始编译安装PHP7.3.0
这一步我是在u盘上进行的,因为担心损坏盒子的nand闪存,编译需要对闪存频繁读写,而且内部闪存速度比u盘慢一些

安装依赖包
  1. apt-get install  libxml2-dev libssl-dev libbz2-dev libjpeg-dev libpng-dev libxpm-dev libfreetype6-dev libgmp-dev libgmp3-dev libmcrypt-dev libmysqlclient15-dev libpspell-dev librecode-dev libcurl4-gnutls-dev libgmp-dev libgmp3-dev librecode-dev libpspell-dev  libmysqlclient15-dev  libmcrypt-dev  libreadline-dev libtidy-dev libxslt1-dev  -y
复制代码

360截图18500826103133141.png

完成
360截图1872012387119100.png
输入编译选项
缺少的依赖包会提示
命令:


  1. ./configure \
  2. --prefix=/usr/local/php \
  3. --with-config-file-path=/etc \
  4. --enable-fpm \
  5. --with-fpm-user=nginx  \
  6. --with-fpm-group=nginx \
  7. --enable-inline-optimization \
  8. --disable-debug \
  9. --disable-rpath \
  10. --enable-shared  \
  11. --enable-soap \
  12. --with-libxml-dir \
  13. --with-xmlrpc \
  14. --with-openssl \
  15. --with-mhash \
  16. --with-pcre-regex \
  17. --with-sqlite3 \
  18. --with-zlib \
  19. --enable-bcmath \
  20. --with-iconv \
  21. --with-bz2 \
  22. --enable-calendar \
  23. --with-curl \
  24. --with-cdb \
  25. --enable-dom \
  26. --enable-pcntl \
  27. --enable-exif \
  28. --enable-fileinfo \
  29. --enable-filter \
  30. --with-pcre-dir \
  31. --enable-ftp \
  32. --with-gd \
  33. --with-openssl-dir \
  34. --with-jpeg-dir \
  35. --with-png-dir \
  36. --with-zlib-dir  \
  37. --with-freetype-dir \
  38. --enable-gd-jis-conv \
  39. --with-gettext \
  40. --with-gmp \
  41. --with-mhash \
  42. --enable-json \
  43. --enable-mbstring \
  44. --enable-mbregex \
  45. --enable-mbregex-backtrack \
  46. --with-onig \
  47. --enable-pdo \
  48. --with-mysqli=mysqlnd \
  49. --with-pdo-mysql=mysqlnd \
  50. --with-zlib-dir \
  51. --with-pdo-sqlite \
  52. --with-readline \
  53. --enable-session \
  54. --enable-shmop \
  55. --enable-simplexml \
  56. --enable-sockets  \
  57. --enable-sysvmsg \
  58. --enable-sysvsem \
  59. --enable-sysvshm \
  60. --enable-wddx \
  61. --with-libxml-dir \
  62. --with-xsl \
  63. --enable-zip \
  64. --enable-mysqlnd-compression-support \
  65. --with-pear \
  66. --enable-opcache
复制代码
开始检查

如果出现"Please reinstall the libzip distribution"
360截图182202149010085.png
回U盘根目录

  1. cd /media/cf02cf0a-3e9d-44d1-96ba-94981f4340a1
复制代码
编译安装cmake
  1. wget https://cmake.org/files/v3.3/cmake-3.3.2.tar.gz
  2. tar xzvf cmake-3.3.2.tar.gz
  3. cd cmake-3.3.2
  4. ./bootstrap --prefix=/usr
复制代码
360截图17571125474750.png
  1. make -j2
复制代码
360截图173606225310185.png

360截图1786060499137127.png

360截图17860608305421.png

编译后大概400MB
360截图1736062253101815.png


  1. make install
复制代码
等等安装完
下载libzip源码
  1. cd /media/cf02cf0a-3e9d-44d1-96ba-94981f4340a1
  2. wget https://libzip.org/download/libzip-1.5.1.tar.gz
复制代码
解压

  1. tar -zxvf libzip-1.5.1.tar.gz
复制代码
进入文件夹
  1. cd libzip-1.5.1
复制代码
编译安装:
  1. mkdir build && cd build

复制代码
  1. cmake ..
复制代码
360截图18750821689982.png

  1. make -j2
复制代码
360截图163005108798135.png
  1. make install
复制代码
360截图16860715255149.png
再次尝试
  1. cd /media/cf02cf0a-3e9d-44d1-96ba-94981f4340a1
  2. cd php-7.3.0
复制代码
重新输入编译选项
360截图172905106675104.png
如果遇到"configure: error: off_t undefined; check your library configuration"
输入(请逐行单独输入):
  1. echo '/usr/local/lib64
  2. /usr/local/lib
  3. /usr/lib
  4. /usr/lib64'>>/etc/ld.so.conf&&ldconfig -v
复制代码
再次输入编译选项重试
完成:

360截图16350909215427.png
先别急着开始,先设置1G的swap
512MB的是内存完全不够用的

所以在内部NAND闪存弄个SWAP
  1. cd /swap
  2. dd if=/dev/zero of=swapfile2 bs=1024 count=1000000
复制代码
这里需要等待几分钟
完成:

360截图18770605107116145.png

对swap文件进行准备
  1. mkswap swapfile2
复制代码
挂载和卸载命令:
  1. 挂载:  swapon swapfile2
  2. 卸载:  swapoff swapfile2
复制代码
查看是否挂载:
  1. free
复制代码
360截图17380407695996.png
先回到php源码目录

  1. cd /media/cf02cf0a-3e9d-44d1-96ba-94981f4340a1/php-7.3.0
复制代码
开始编译php:
  1. make
复制代码


如果用make -j2会卡死(编译500MB后)
编译的时间非常长,就不要等了,喝杯热茶吧
360截图18141229516345.png

期间内存和cpu使用量会很高
360截图187201289913284.png
几小时后编译完成
360截图17001022515169.png
先把swapfile2删除,防止内部空间不足
  1. cd /swap
  2. swapoff swapfile2
  3. rm -r swapfile2
复制代码

输入:
  1. cd /media/cf02cf0a-3e9d-44d1-96ba-94981f4340a1/php-7.3.0
  2. make install
复制代码
开始安装

开始配置php-fpm

配置参考自:https://blog.csdn.net/zhaosiwenzhaosiwen/article/details/81207229

接下来:
  1. cp php.ini-development /usr/local/php/lib/php.ini
复制代码

  1. nano /etc/profile
复制代码
在最后加上
  1. PATH=$PATH:/usr/local/php/bin
  2. export PATH
复制代码
保存

执行命令:
  1. source /etc/profile
复制代码
查看php版本
  1. php -v
复制代码
360截图17900102383941.png

  1. cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
复制代码
  1. cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
复制代码
开机自启:
  1. cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
复制代码
  1. chmod -R 755 /etc/init.d/php-fpm
复制代码
  1. apt-get install chkconfig
复制代码
  1. chkconfig --add php-fpm
复制代码
  1. chkconfig php-fpm on
复制代码
新建www-data 用户组
  1. groupadd www-data
复制代码
  1. useradd -g www-data www-data
复制代码
  1. nano /usr/local/php/etc/php-fpm.d/www.conf
复制代码
找到
360截图17040516354062.png
都把nginx修改为www-data


开启php-fpm

  1. /etc/init.d/php-fpm start
复制代码
360截图18720122607478.png
开始配置nginx:
  1. nano /etc/nginx/nginx.conf
复制代码
在http{}中的末尾添加
  1. server {
  2.         listen       80 default_server;
  3.         root         /usr/share/nginx/www/html;

  4.         # Load configuration files for the default server block.
  5.         include /etc/nginx/default.d/*.conf;

  6.         location / {
  7.             # 这里改动了 定义首页索引文件的名称
  8.             index index.php index.html index.htm;
  9.         }

  10.         error_page 404 /404.html;
  11.             location = /40x.html {
  12.         }

  13.         error_page 500 502 503 504 /50x.html;
  14.             location = /50x.html {
  15.         }

  16.         # 这里新加的
  17.         # PHP 脚本请求全部转发到 FastCGI处理. 使用FastCGI协议默认配置.
  18.         # Fastcgi服务器和程序(PHP,Python)沟通的协议.
  19.         location ~ \.php$ {
  20.             # 设置监听端口
  21.             fastcgi_pass   127.0.0.1:9000;
  22.             # 设置nginx的默认首页文件(上面已经设置过了,可以删除)
  23.             fastcgi_index  index.php;
  24.             # 设置脚本文件请求的路径
  25.             fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
  26.             # 引入fastcgi的配置文件
  27.             include        fastcgi_params;
  28.         }
  29.     }
复制代码

360截图1875081891116106.png

修改网页路径为自己想要的地方,
现在以/web/www为例,把

root         /usr/share/nginx/www/html;
改为
root         /web/www;
再删去这个/usr/share/nginx/www文件夹
即可
最后保存


如果觉得命令行不好更改,可以使用winscp

360截图175711218699126.png
360截图17290510316440.png


操作就不多说
现在网页路径为/web/www
那么先到这个目录
  1. cd /web/www
复制代码
测试php
创建一个php文件

  1. nano  index.php
复制代码
添加
  1. <?php phpinfo(); ?>
复制代码




退出

再重启一下php和nginx
  1. service php-fpm restart
  2. service nginx restart
复制代码
打开设备IP [在浏览器中输入:192.168.77.202  (这是我的设备!记得替换) ]
成功:
360截图17001020397969.png
使用一个探针(仅作演示PHP没问题)
360截图17571119655471.png
下载可道云
  1. cd /web/www
  2. wget http://static.kodcloud.com/update/download/kodexplorer4.37.zip
复制代码
  1. unzip kodexplorer4.37.zip -d /web/www
复制代码
删除安装包
  1. rm -r kodexplorer4.37.zip
复制代码
改权限777
  1. chmod -R 777 /web/www/
复制代码
此时浏览器访问设备IP(192.168.77.202)
360截图17690628315456.png
登陆
360截图18780423489267.png
看文件

360截图162610127511578.png
设置一下
删除掉guest只留下admin(为了安全)
360截图17290512114156157.png

桌面
360截图16251123262753.png
还可以编辑文件,支持高亮
360截图18141226636188.png
缩略图(耗内存比较多)
360截图175711188874100.png
缺点就是上传速度慢,只有3.9MB/S
下载速度倒是能到7MB/S
360截图17090926164560.png

修改系统root密码:
passwd
修改cubie密码:
passwd cubie


楼主之前没有玩过debian,只是硬改过路由器、刷过Openwrt、在虚拟机上安装过Ubuntu这个板子也是几星期前才刷上的cubian
如果本文有什么不正确的地方欢迎大家指出
谢谢!




完!感谢观看
如果想要转载,请随意,不过请注明源地址
此教程编辑了好几小时,请尊重楼主的劳动

 楼主| 发表于 2019-1-12 21:46:56 | 显示全部楼层
616 发表于 2019-1-10 23:09
这玩意搭建discuz有没有问题

应该要安装mysql
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2019-1-1 11:23:45 来自手机 | 显示全部楼层
,真奇怪
回复 支持 反对

使用道具 举报

发表于 2019-1-2 19:13:06 | 显示全部楼层
回复 支持 反对

使用道具 举报

发表于 2019-1-2 23:49:32 | 显示全部楼层
好熟悉的操作啊
回复 支持 反对

使用道具 举报

发表于 2019-1-3 00:39:24 | 显示全部楼层
要是有行车记录仪的感光片驱动方案更好了,可以自己开发可换镜头的小相机。
回复 支持 反对

使用道具 举报

发表于 2019-1-5 11:12:34 来自手机 | 显示全部楼层
安卓可以chroot呀!不用刷机
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-1-5 12:15:21 | 显示全部楼层
geekgeek 发表于 2019-1-5 11:12
安卓可以chroot呀!不用刷机

刷机是因为安卓本身内存就占了400MB,而这台机器是512MB内存的
实际上我以前尝试过chroot,就是因为内存不足,进程常常被杀掉
刷debian,可以使资源利用率高一点,还有丰富的软件支持
如果盒子性能好的话,安装一个Termux也是能达到同样的效果
感谢你的意见
回复 支持 反对

使用道具 举报

发表于 2019-1-8 12:29:29 来自手机 | 显示全部楼层
能干些啥 发表于 2019-1-5 12:15
刷机是因为安卓本身内存就占了400MB,而这台机器是512MB内存的
实际上我以前尝试过chroot,就是因为内存 ...

SDRAM貌似是可以加的,旧内存条里有
回复 支持 反对

使用道具 举报

发表于 2019-1-10 23:09:14 | 显示全部楼层
这玩意搭建discuz有没有问题
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-1-12 21:47:55 | 显示全部楼层
geekgeek 发表于 2019-1-8 12:29
SDRAM貌似是可以加的,旧内存条里有

它使用的是ddr3内存,很难搞
回复 支持 反对

使用道具 举报

发表于 2019-1-12 22:55:45 来自手机 | 显示全部楼层
能干些啥 发表于 2019-1-12 21:47
它使用的是ddr3内存,很难搞

swap加大点也不错
回复 支持 反对

使用道具 举报

发表于 2019-1-12 23:37:37 | 显示全部楼层

可以先用电脑安装mysql,安装discuz的时候填写数据库地址为电脑内网ip进行测试,没问题以后再往盒子里装。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|极客迷网 ( ICP09011854

44030602000010

© 2009-2016 All Rights Reserved

GMT+8, 2019-1-21 14:01 , Processed in 0.341883 second(s), 49 queries , Gzip On, Memcache On.