boa是一个使用cgi语言的轻型web server,可以使用在嵌入式环境中
我所移植的环境是arm-xilinx-linux-gnueabi
一、准备boa
boa项目地址
http://www.boa.org/
二、编译
boa解压后进入文件夹
cd src
./configure
生成了makefile文件
1、修改makefile文件
LDFLAGS = -g -static
CC = arm-xilinx-linux-gnueabi-gcc
CC = arm-xilinx-linux-gnueabi-gcc -E
2、修改compat.h文件
#define TIMEZONE_OFFSET(foo) foo->tm_gmtoff
3、编译
make
4、修改根目录下的boa.conf
具体修改的主要是一些目录,可以根据自己的需求进行修改,相关资料可以参考官网
http://www.boa.org/documentation/boa-2.html#ss2.3
我修改了如下几处比较重要的路径和配置
ServerName www.ssm.com
DocumentRoot /mnt/www
DirectoryMaker /mnt/boa/boa_indexer
MimeTypes /dev/null
ScriptAlias /cgi-bin/ /mnt/boa/cgi-bin/
三、文件准备
准备我们编译好的文件和配置文件,把他们放入我们的嵌入式设备。
因为是静态编译,所以我们只需要一个可执行boa文件和boa.conf配置文件就够了
boa.conf(默认路径为/etc/boa/)
/src/boa(路径随意,但是要确认boa.conf的几个配置的路径)
放一个example的cgi-test.cgi到cgi-bin/目录下
四、测试
连接你的设备
http://192.168.2.169/cgi-bin/cgi-test.cgi
五、可能遇到的问题
可以参考下面的博客
http://www.cnblogs.com/hnrainll/archive/2011/06/01/2067295.html