操作环境:
编译器:arm-2014.05编译器
文件系统:使用的busybox移植Qt5.7的文件系统。
硬件平台:IMX6ULL
本章用iTOP-IMX6ULL开发板搭建一个web服务器。需要用到boa,boa是一个小型的web服务器,可执行代码只有约60KB,可以用于多种平台,它是一个单任务web服务器,只能依次完成用户的请求,在嵌入式中比较常见。boa的官方网站为www.boa.org,可以在上面下载最新版本的boa,这里使用的是boa-0.94.13.tar.gz。
下载解压后如图 1:
图 1
进入解压后的boa-0.94.13文件夹,进入目录src,运行./configure生成Makefile编译文件,成功后如图 2:
图 2
修改Makefile,找到“CC = gcc”这一行,将这一行修改成“CC = arm-none-linux-gnueabi-gcc -static”,找到”CPP = gcc -E“这一行,修改成“CPP = arm-none-linux-gnueabi-gcc -E -static”,修改完成后如图 3:
图 3
完成后执行make编译,过程中可能会报缺少依赖库,百度查找即可解决,如果出现下面的错误要修改compat.h,如图 4所示
图 4
解决办法,使用vi命令打开当前目录下的compat.h,然后找到
“#define TIMEZONE_OFFSET(foo) foo##->tm_gmtoff”这一行,修改为如图 5所示:
图 5
然后保存并退出compat.h,输入make,继续编译boa,如图 6:
图 6
接下来使用arm-none-linux-gnueabi-strip boa命令为bos文件瘦身,如图 7。
图 7
通过上面的图片看到boa文件比之前变小了,至此boa的编译就完成了,下面需要把boa文件拷贝到文件系统里面。
拷贝编译最终生成的boa到共享文件夹。
虚拟机Ubuntu的/etc目录下的mime.types文件到共享文件夹。
boa-0.94.13目录下面有个默认的boa.conf文件,把它也拷贝到共享文件夹。
图 8
在/etc/目录下创建boa文件夹,将boa.conf拷贝到板子的etc/boa目录下;
图 9
mime.types拷贝到开发板etc目录下;
图 10
boa拷贝到开发板的bin目录下
图 11
接下来在开发板根目录下建立www文件夹,如图 12。
图 12
然后在开发板上面建立的www目录下面建立文件夹cgi-bin目录,如图 13:
图 13
然后在开发的etc目录下用命令touch group命令建立group文件,如图 14所示。
图 14
然后进到开发板etc/boa目录,使用vi boa.conf命令打开boa.conf文件,如图 15所示。
打开boa.conf文件,找到”Group nogroup”,修改为”Group 0”。
图 15
找到“ErrorLog ”和“AccessLog”这两行,指定log文件的路径,文件就会自动在此路径创建,修改成如图 16:
图 16
然后找到“#ServerName www.your.org.here”这一行,修改为“ServerName www.your.org.here“如图 17所示。
图 17
然后找到“DocumentRoot /var/www”这一行,修改
为“DocumentRoot /www”(注意:这里的“/www”就是前面步骤使用mkdir创建的www目录),如图 18所示。
图 18
然后找到“ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/”这一行,修改为“ScriptAlias /cgi-bin/ /www/cgi-bin/”,如图 19所示
图 19
boa.conf修改结束。
进入到前面创建的 www 目录,然后使用 vi index.html 命令建立 index.html 文件,在里面输入下面的代码:(注意:web 页面不要包含汉字)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><title>iTOP-i.MX6ULL</title><style type="text/css"><!--.STYLE1 {font-size: 36px}body {background-color: #996600;}--></style></head><body><table width="613" height="424" border="0"><tr><td colspan="2" valign="middle"><h2class="STYLE1">iTOP-i.MX6ULL WEB SERVER </h2></td></tr><tr><td></td><td></td></tr><tr><td> </td><td> </td></tr></table></body></html>代码如图 20所示:
图 20
然后保存并退出 index.html,至此基于 boa 的 web 服务器就搭建完成了,上面创建的index.html 是一个简单的网页,用于测试。现在启动开发板,开发板起来以后直接
输入 ps - e | grep “boa” 命令,可以看到 boa 程序在运行,如图 21:
图 21
在Ubuntu的浏览器输入开发板的IP地址可以看到我们放入的index.html网页:
图 22
到此boa服务器移植成功。
好物推荐-终结者开发板i.MX6ULL终结者开发板使用手册内容提纲:
i.MX6ULL终结者开发板购买链接:https://item.taobao.com/item.htm?spm=a230r.1.14.20.540ea5ef7UAvsf&id=614020183147&ns=1&abbucket=19#detail
■ 关注“迅为电子”微信公众号,不定期分享教程、资料和行业干货及产品一线资料。
■ 想要了解迅为更多信息,欢迎与我们联系:
销售工程师:0312-6796610转接8001
技术支持类:0312-6796610转接8003,8004
方案定制类:0312-6796610转接8003
■ 实时技术支持:
AM 9:00—12:00,PM 13:30—17:30(周一至周六)
END
长按识别二维码加关注
迅为电子
让学习更容易,让开发更简单
http://www.topeet.com/▼往期好文推荐阅读▼i.MX6ULL终结者底板资源介绍【现货开售】“I.MX6ULL终结者” 他来了!快讯 | 北京迅为开通官方企业店