免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 602 | 回复: 0
打印 上一主题 下一主题

Boa程序的移植 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-03-16 18:36 |只看该作者 |倒序浏览

嵌入式Web服务器移植
    《嵌入式Linux系统开发详解——基于EP93XX系列ARM》一书和boa自带的文档等对该内容有比较详细的介绍,但在实验过程中,仍可能会出现一些问题。下面是我在WNC201系统(AT91RM9200)上的移植过程,欢迎讨论。
第一步 Boa程序的移植
1、下载Boa源码
    下载地址:
http://www.boa.org/
, 或者
http://sourceforge.net
    最新发行版本: 0.94.13
    下载 boa-0.94.13.tar.gz,注意:从boa上下载的是boa-0.94.13.tar.tar,解压方式一样
    解压:[color="#000000"]# tar xzf boa-0.94.13.tar.gz
2、生成Makefile文件
    直接运行src/configure文件
3、修改Makefile文件
    a、
修改 CC = gcc
为 CC = /usr/local/arm/2.95.3/bin/arm-linux-gcc
    b、
修改 CPP = gcc - E
为 CPP = /usr/local/arm/2.95.3/bin/arm-linux-gcc -E
4、编译
    [color="#000000"]# make
    # /usr/local/arm/2.95.3/bin/arm-linux-strip boa
第二步 Boa的配置
    Boa需要在/etc目录下建立一个boa目录,里面放入Boa的主要配置文件boa.conf。在Boa源码目录下已有一个示例boa.conf,可以在其基础上进行修改。
1、Group的修改
   
修改 Group nogroup
为 Group 0
    由于在/etc/group文件中没有nogroup组,所以设成0。另外在/etc/passwd中有nobody用户,所以User nobody不用修改。
2、ScriptAlias的修改
   
修改 ScriptAlias /cgi-bin/  /usr/lib/cgi-bin/
为 ScriptAlias /cgi-bin/  /var/www/cgi-bin/
3、ServerName的设置
修改 ServerName
www.your.org.here
为 ServerName
www.your.org.here
    注意:该项默认为未打开,执行Boa会异常退出,提示“gethostbyname::No such file or directory”,所以必须打开。其它默认设置即可。
第三部:Boa的执行
   
成功配置以后,还需要创建日志文件所在目录/var/log/boa,创建HTML文档的主目录/var/www,将静态网页存入该目录下(可以将主机
/usr/share/doc/HTML/目录下的index.html文件和img目录复制到/var/www目录下),创建CGI脚本所在录
/var/www/cgi-bin,将cgi的脚本存放在该目录下。另外还要将mime.types文件复制/etc目录下,通常可以从linux主机的
/etc目录下直接复制即可。
    实际运行时,可以将index.html文件、img目录和mime.types文件放到CF卡目录下,建立目录后,拷贝至相应目录。
    制作run.sh
mkdir /etc/boa
cp /cf/boa/boa.conf /etc/boa/
mkdir /var/log
mkdir /var/log/boa
mkdir /var/www
cp /cf/boa/index.html /var/www/
cp -r /cf/boa/img /var/www/
mkdir /var/www/cgi-bin
cp /cf/boa/mime.types /etc/
cp /cf/boa/boa /
./boa &
    直接在浏览器中输入
http://192.168.1.107
,出现Red Hat的欢迎网页。静态HTML调试成功。
第四步 CGI脚本测试
1、编写Helloworld.c程序
#include stdio.h>
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);
}
    交叉编译生成helloworld.cgi
# /usr/local/arm/2.95.3/bin/arm-linux-gcc -o helloworld.cgi helloworld.c
2、浏览
    将helloworld.cgi拷贝至/var/www/cgi-bin/下,浏览器输入
   
http://192.168.1.107/cgi-bin/helloworld.cgi
               
               
               

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

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP