Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2642488
  • 博文数量: 333
  • 博客积分: 4817
  • 博客等级: 上校
  • 技术积分: 4413
  • 用 户 组: 普通用户
  • 注册时间: 2011-02-28 10:51
文章分类

全部博文(333)

文章存档

2017年(20)

2016年(57)

2015年(27)

2014年(20)

2013年(21)

2012年(164)

2011年(24)

分类: LINUX

2012-03-17 15:31:22

今天终于完成了Boa web server的移植工作,本次移植的主要参考资料都来自于互联网,由于这些文章被转载得到处都是,我都不知道作者是谁。在这里衷心的感谢文章作者!!

一、Boa移植

1、下载Boa源码

    下载地址:       目前最新发行版本: 0.94.13   (几年没更新版本了)

    下载 boa-0.94.13.tar.gz(注意:若从boa上下载的是boa-0.94.13.tar.tar,解压方式一样)

    解压:tar xzf boa-0.94.13.tar.gz

2、生成Makefile文件

   进入boa-0.94.13,直接运行src/configure文件

cd src

./configure

3、修改Makefile文件(注意:必须用cross-2.95.3)

CC = /usr/local/arm/2.95.3/bin/arm-linux-gcc

CPP = /usr/local/arm/2.95.3/bin/arm-linux-gcc  -E

4、交叉编译

make

5、去除调试信息,减小体积。(可选)

arm-linux-strip boa

6、将编译好的程序放入根文件系统的/usr/sbin目录下。 (网上说要放在bin下,但提示not  found)

cp boa /opt/studyarm/rootfs/usr/sbin/  

二、配置Boa

Boa需要在/etc目录下建立一个boa目录,里面放入Boa的主要配置文件boa.conf。在Boa源码目录下已有一个示例boa.conf,可以在其基础上进行修改。

cp  /opt/studyarm/rootfs/etc/

mkdir boa

chmod 777 boa/

cd boa

cp /opt/studyarm/boa-0.94.13/boa.conf .

vi boa.conf

1、Group的修改

修改 Group nogroup  为 Group 0(开发板上有的组,或者为0)

修改 User nobody  (user组中有这个成员,不修改也可以)

根据你的开发板的情况设定。一定要存在的组和用户。

 2、ScriptAlias的修改

修改 ScriptAlias /cgi-bin/  /usr/lib/cgi-bin/    为 ScriptAlias /cgi-bin/  /var/www/cgi-bin/

这是在设置CGI的目录,你也可以设置成别的目录。比如用户文件夹下的某个目录。

3、ServerName的设置

修改 #ServerName 为 ServerName

注 意:该项默认为未打开,执行Boa会异常退出,提示“gethostbyname::No such file or directory”,所以必须打开。其它默认设置即可。你也可以设置为你自己想要的名字。比如我设置为:huang- tomey.blog.163.com

此外,还需要将mime.types文件复制/etc目录下,通常可以从linux主机的 /etc目录下直接复制即可。

(以下配置和boa.conf的配置有关)

创建日志文件所在目录/var/log/boa

mkdir -m 777 /boa

创建HTML文档的主目录/var/www

cd ..

mkdir -m 777 www

创建CGI脚本所在录 /var/www/cgi-bin

mkdir -m 777 www/cgi-bin

cd ..

cp /etc/mime.types etc/

三、运行Boa

开发板操作:

[root@H3-studio]#./usr/sbin/boa

如果发现boa没有运行,则可以在开发板的/var/log/boa/error_log文件中找原因。

cat /var/log/boa/error_log

四、功能测试

静态网页测试

将静态网页存入根文件系统的/var/www目录下(可以将主机 /usr/share/doc/HTML/目录下的index.html和img目录复制到/var/www目录下)

在根文件系统的/var目录下

cp /usr/share/doc/HTML/index.html www/

cp -r /usr/share/doc/HTML/img www/

直接在浏览器中输入开发板的IP地址(比如我的是01) ,出现Redhat的网页。静态HTML调试成功。

CGI功能测试

1、     编写HelloworldCGI.c程序

cd  /opt/studyarm/rootfs/var/www/cgi-bin/

 vi helloworldCGI.c

(主程序的程序开头一定要用Tab,而不是空格,不然编译可能不通过)

#include

#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);

}

2.交叉编译生成CGI程序

linux-gnu-gcc -o helloworldCGI helloworldCGI.c

3.测试浏览器输入

  

网页出现 Hello,world. 调试成功!

阅读(2213) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~