十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
基于am335进行boa移植,一共需要五步,下面是详细的步骤,对这方面知识比较陌生的小伙伴,可以学起来啦。
公司主营业务:成都网站制作、网站建设、外贸网站建设、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。成都创新互联公司是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。成都创新互联公司推出白碱滩免费做网站回馈大家。
1.准备开发环境:
(1)VMware 10.0
(2)Ubuntu 14.04 64bit
(3)Sail335开发板
(4)交叉编译器:gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux
2.源码:
(1)Boa源码:boa-0.94.13.tar.gz
(2)Boa测试页面:index.html
3.移植过程:
(1)移植Boa
①解压缩
#tar zxvf boa-0.94.13.tar.gz
②进入boa-0.94.13目录
#cd boa-0.94.13
③进入src目录,在src目录下运行./configure
④生成Makefile,修改Makefile的编译器选项
#gedit Makefile
CC = gcc 改成 CC = arm-linux-gnueabihf-gcc
CPP = gcc -E 改成 CPP = arm-linux-gnueabihf-gcc -E
⑤添加交叉编译器临时环境变量
#export PATH=/usr/local/arm/gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux/bin/:$PATH
⑥修改文件src/boa.c,将boa.c文件中以下几行判断去掉即可。
if ( setuid ( 0 ) != - 1 ) {
DIE ( "icky Linux kernelbug!" );
}
⑦修改文件src/compat.h
#define TIMEZONE_OFFSET(foo) foo##->tm_gmtoff
改成
#define TIMEZONE_OFFSET(foo) foo->tm_gmtoff
⑧把src 文件夹下的config.c 里的if(!server_name){..........}
(大概在266 行到 286行之间)注释掉
⑨修改src/log.c 注释掉
if (dup2(error_log, STDERR_FILENO) == -1) {
DIE("unable to dup2 the error log");
}
⑨编译代码
#make
4.运行环境搭建
(1)在开发板中创建以下目录
/etc/boa /var/logs /var/logs/boa /var/www /var/www/cgi-bin
#mkdir -p /etc/boa
#mkdir -p /var/logs
#mkdir -p /var/logs/boa
#mkdir -p /var/www
#mkdir -p /var/www/cgi-bin
(2)拷贝、修改文件
拷贝boa-0.94.13/boa 和boa-0.94.13/boa_indexer 到 /usr/bin。
拷贝Ubuntu12.04的/etc/mime.type到 开发板/etc
拷贝boa-0.94.13/boa.conf 到/etc/boa
修改/etc/boa/boa.conf
#ServerNamewww.your.org.here 改为ServerName www.dianyu.org
ScriptAlias /cgi-bin//usr/lib/cgi-bin/改为ScriptAlias /cgi-bin//var/www/cgi-bin/
AccessLog/var/log/boa/access_log改为AccessLog /var/logs/boa/access_log
ErrorLog /var/log/boa/error_log改为 ErrorLog /var/logs/boa/error_log
拷贝 index.html 到/var/www
5.测试与运行
连接好PC与开发板网卡0(eth0)的网络连接
将开发板eth0网卡设置ip为192.168.1.123
#ifconfig eth0 192.168.1.123 up
测试开发板网卡0与PC的网络连接
#ping PC的IP地址
运行Boa
#boa&
在PC上打开浏览器,在浏览器中输入192.168.1.123,查看boa显示的index.html(这个文件名称和boa.conf文件中的DirectoryIndex index.html中的index.html要一样)