移值Boa WebServer到mini2440

一、Boa程序的移植

1、下载Boa源码
下载地址: http://www.boa.org/
    目前最新发行版本: 0.94.14rc21 (几年没更新版本了)
下载 boa-0.94.14rc21.tar.gz,

注意:若从boa上下载的是boa-0.94.14rc21.tar.tar,解压方式一样
解压:

[tekkamanninja@Tekkaman-Ninja source]$tar xzf boa-0.94.13.tar.gz

2、生成Makefile文件
进入boa-0.94.13,直接运行./configure文件

[tekkamanninja@Tekkaman-Ninja]$./configure

3、进入src目录,修改Makefile文件(注意:必须用cross-2.95.3, 如使用3.4.1、4.1.1等等会出错)

CC = arm-linux-gcc 
CPP = arm-linux-gcc -E


4、交叉编译

[tekkamanninja@Tekkaman-Ninja src]$ make

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

[tekkamanninja@Tekkaman-Ninja src]$ arm-linux-strip boa

6、将编译好的程序放入根文件系统的/bin目录下。

[tekkamanninja@Tekkaman-Ninja src]$ cp boa /root/ARM_NFS/root_qtopia/usr/sbin/


二、配置Boa

Boa需要在/etc目录下建立一个boa目录,里面放入Boa的主要配置文件boa.conf。在Boa源码目录下已有一个示例boa.conf,可以在其基础上进行修改。这个配置文件的路径是编译进可执行文件里面去了的,要想修改配置文件的路径,可以修改src目录下面的define.h文件里面的 #define SERVER_ROOT "/usr/sbin" 改成想要的就行了。至于是否可以改成 ./ 路径,让可执行文件在当前目录寻找,我试了一下,好像不行。

1、Group的修改

修改 Group nogroup
为 Group root(开发板上有的组)
修改 User nogroup
为 User root (user组中的一个成员)根据你的开发板的情况设定。一定要存在的组和用户。

2、ScriptAlias的修改

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

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

3、ServerName的设置

修改 #ServerName proudboy
为 ServerName proudboy

注意:该项默认为未打开,执行Boa会异常退出,提示“gethostbyname::No such file or directory”,所以必须打开。其它默认设置即可。

此外,还需要:

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

我的配置:

Port 80
User root
Group root
ErrorLog /dev/console
AccessLog /dev/null
ServerName friendly-arm
DocumentRoot /www
DirectoryIndex index.html
KeepAliveMax 1000
KeepAliveTimeout 10
MimeTypes /etc/mime.types
DefaultType text/plain
#CGIPath /bin
#AddType application/x-httpd-cgi cgi
ScriptAlias /cgi-bin/ /www/cgi-bin/

三、运行Boa

添加到系统服务,开机便自动启动:

1. 将下面语句写入/etc/init.d/rcS

      /etc/rc.d/init.d/httpd start

2. 在/etc/rc.d/init.d目录下增加脚本文件httpd,写入如下内容:

#!/bin/sh

base=boa

# See how we were called.
case "$1" in
start)
/usr/sbin/$base
;;
stop)
pid=`/bin/pidof $base`
if [ -n "$pid" ]; then
kill -9 $pid
fi
;;
esac

exit 0


四、功能测试

静态网页测试

将静态网页存入根文件系统的/www目录下


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

CGI功能测试

1、编写HelloworldCGI.c程序

[tekkamanninja@Tekkaman-Ninja source]$ vi helloworldCGI.c

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

#include<stdio.h>
#include<stdlib.h>
int main(void)
{
printf("Content-type: text/html\n\n");
printf("<html>\n");
printf("<head><title>CGI Output</title></head>\n");
printf("<body>\n");
printf("<h1>Hello,world.</h1>\n");
printf("<body>\n");
printf("</html>\n");
exit(0);
}

2.交叉编译生成CGI程序

[tekkamanninja@Tekkaman-Ninja source]$ arm-linux-gcc -o helloworldCGI helloworldCGI.c

将helloworldCGI 拷贝至根文件系统的/www/cgi-bin/下

[tekkamanninja@Tekkaman-Ninja source]$ cp helloworldCGI /root/ARM_NFS/root_qtopia/www/cgi-bin/

3.测试

浏览器输入
http://192.168.0.2/cgi-bin/helloworldCGI

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

原文地址 http://blog.chinaunix.net/u1/34474/showart.php?id=486604

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值