返回> 网站首页 

[转载]Boa的编译 - Http服务器

yoours2012-11-10 14:19:41 阅读 1219

简介一边听听音乐,一边写写文章。

一、下载Boa
http://www.boa.org

# tar  xzf  boa-0.94.13.tar.gz
        # cd  boa-0.94.13/src

二、交叉编译BOA
1) 生成Makefile文件
# ./configure
2)    修改Makefile文件,找到CC=gcc和CPP=gcc –E,分别将其改为交叉编译器的安装路径:CC=armv4l-unknown-linux-gcc和CPP=armv4l-unknown-linux-gcc –E 并保存退出。
3) 运行make进行编译,得到可执行程序boa
# make
# /opt/host/armv4l/bin/armv4l-unknown-linux-strip boa

三、配置BOA
为了能够在开发板上运行Boa,配置boa.conf:
Port 80
User root
Group 0
ServerName www.mymonitor.com
DefaultVHost board.mymonitor.com
DocumentRoot /host/boa/web
UserDir /host/boa/public-html
DirectoryIndex index.htm index.html
DirectoryMaker /host/boa/boa_indexer
KeepAliveMax 1000
KeepAliveTimeout 10
MimeTypes /host/boa/mime.types
DefaultType text/plain
CGIPath /etc/boa:/host/boa/cgi-bin
ScriptAlias /cgi-bin /host/boa/web/cgi-bin

最后将修改好的配置文件Boa.conf 存放于嵌入式系统根文件系统/etc/boa 目录下,根据boa.conf中的设置在根文件系统中建立相应的目录,如:创建HTML文档的主目录/host/boa/web,将HTML网页存入该目录下,创建CGI脚本所在目录/host/boa/cgi-bin,将cgi的脚本存放在该目录下,还要将mime.types文件复制/host/boa目录下。
将编译好的可执行文件放到root根文件系统里,将根文件系统烧进开发板即完成移植。

四、测试
1.静态HTML网页
在目标平台上运行boa,将主机与目标平台的IP设成同一网段,然后打开任一个浏览器(linux或windows下都可),输入目标平台的ip地址(http://172.23.2.225)即可打开/host/web/index.html网页。
2.CGI脚本测试
写一个简单的CGI程序hello.c,代码如下:
#include <stdio.h>
void main(){
printf("Content-type: text/html/n/n");
printf("<html>/n");
printf("<head><title>CGI Output</title></head>/n");
printf("<body>/n");
printf("<hl>Hello, world.</hl>/n");
printf("<body>/n");
printf("</html>/n");
exit(0);
}
执行编译指令:
#armv4l-unknown-linux-gcc –o hello.cgi hello.c
 
生成的hello.cgi复制到/host/cgi-bin目录下,像进行HTML网页测试一样在浏览器地址栏输入http://172.23.2.225/cgi-bin/hello.cgi,如果显示正常说明Boa服务器可以正常执行CGI 程序。
一般开发平台上用了cramfs和yaffs两种文件系统:cramfs因为是只读文件系统,作为根文件系统存储系统库和主要的应用程序,同时使用专门为Nand Flash开发的YAFFS文件系统,作为存储须改写的配置文件和保存的文件的空间。因此,为了使网页修改方便,也可以把boa文件夹整个放在/mnt/yaffs目录下,这样只需要把boa.conf配置文件中的/host修改为/mnt/yaffs,然后放在根文件系统的/etc里烧进开发平台就可以了,之后可以通过FTP修改yaffs中的网页和数据。
微信小程序扫码登陆

文章评论

1219人参与,0条评论