免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1104 | 回复: 0

[原]交叉编译嵌入式web服务器boa [复制链接]

论坛徽章:
0
发表于 2009-05-08 10:49 |显示全部楼层

/*************************************************
帅得不敢出门    C++爱好者灌水天堂   3503799   转载请保留此信息
*************************************************/
步骤大部分都一样吧,只是交叉编译器会有不同.
第一步Boa 程序的移植
    目标板为xscale pxa270 ,交叉编译器arm-linux-gcc
去网上下了一份源代码
http://www.boa.org/
Latest Released Version (0.94.13) here (signature here)
点击here弹出文件下载窗口下载它
解压出来
# tar zxvf boa-0.94.13.tar.gz  
进入 src目录
# cd boa-0.94.13/src
生成Makefile文件
# ./configure
修改Makefile
# vi Makeifle
找到CC=gcc
改成CC = arm-linux-gcc
找到CPP = gcc –E
改成CPP = arm-linux-gcc –E
如果直接make的话,会出现如下error
util.c:100:40: pasting "t" and "->" does not give a valid preprocessing token
make: *** [util.o] Error 1
修改src/compat.h:
# vi compat.h
找到
#define TIMEZONE_OFFSET(foo) foo##->tm_gmtoff
修改成
#define TIMEZONE_OFFSET(foo) (foo)->tm_gmtoff
编译
# make
剥离调试信息
# arm-linux-strip boa
完成
二、Boa 的配置和安装
跳到上一个目录
# cd ..
# vi boa.conf
1.修改Group nogroup为Group 0 设置成只有root用户才可执行boa服务
2.ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ 改成ScriptAlias /cgi-bin/ /var/www/cgi-bin/
3. 去掉#ServerName
www.your.org.here
前面的#号
其他几个有用的信息:(MimeTypes: This is the file that is used to generate mime type pairs
and Content-Type fields for boa.)
                                                                                
MimeTypes /etc/mime.types
(CGIPath: The value of the $PATH environment variable given to CGI progs.)
                                                                                
CGIPath /bin:/usr/bin:/usr/local/bin
(# ErrorLog: The location of the error log file. )
ErrorLog /var/log/boa/error_log
在目标板上的Linux 中建立相应的目录
mkdir /etc/boa     Boa 配置文件的目录
mkdir /var/log     
mkdir /var/log/boa  Log 文件的目录
mkdir /var/www      Boa 服务的根目录
mkdir /var/www/cgi-bin CGI 文件的目录
把boa拷贝到--->目标板下的/usr/bin或者/usr/local/bin下(CGIPath)
index.html以及相应的静态网页文件-->/var/www
mime.types可以在主机的/etc 下找到--->/etc
boa.conf 修改后的配置文件--->/etc/boa
设置好网络参数,后台运行boa:
boa &
将主机与目标平台的IP设成同一网段,然后打开任一个浏览器(linux或windows下都可),
输入目标平台的ip地址(http//192.168.0.50/)即可打开/var/www/index.html网页
三、CGI 脚本测试
建立一个helloworld.c
#include
int main(void)
{
printf("Content-type: text/html\n\n");
printf("\n");
printf("CGI Output\n");
printf("\n");
printf("Hello,world.\n");
printf("\n");
printf("\n");
exit(0);
}
编译
# arm-linux-gcc -o helloworld.cgi helloworld.c
将生成的helloworld.cgi 拷贝到目标板上的/var/www/cgi-bin 中,并在浏览器中输入:
http://192.168.0.50/cgi-bin/helloworld.cgi
即可看见相应的结果


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/64540/showart_1922070.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

DTCC2020中国数据库技术大会 限时9.5折

【架构革新 高效可控】2020年8月17日~19日第十一届中国数据库技术大会将在北京隆重召开。

大会设置2大主会场,20+技术专场,将邀请超百位行业专家,重点围绕数据架构、AI与大数据、传统企业数据库实践和国产开源数据库等内容展开分享和探讨,为广大数据领域从业人士提供一场年度盛会和交流平台。

http://dtcc.it168.com


大会官网>>
  

北京盛拓优讯信息技术有限公司. 版权所有 16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122
中国互联网协会会员  联系我们:huangweiwei@it168.com
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP