您的位置:首页 > 其它

嵌入式Web Server --- BOA 配置

2008-01-17 14:53 288 查看

嵌入式Web Server --- BOA

一:下载BOA

http://www.boa.org

当前最新版本是0.94.13,下载boa-0.94.13.tar.gz
二:编译BOA

# tar zxvf boa-0.94.13.tar.gz
# cd boa-0.94.13/src
# ./configure
# vi Makefile

CC = /usr/local/arm/3.3.2/bin/arm-linux-gcc
CPP = /usr/local/arm/3.3.2/bin/arm-linux-gcc -E

以上交叉编译器参数根据自己的实际情况修改

# make

在编译时有可能会提示查不到“yacc”等等的软件,
请安装bison(yacc的GNU版本)和flex。
若在debian系统下,则可以运行 #apt-get  install bison flex 即可。
三:配置BOA

进入为嵌入式Linux系统制作好的rootfs中,路径以$(ROOTFS)代替。
BOA之前的编译目录以$(BOA)代替。

# mkdir $(ROOTFS)/etc/boa
# cp $(BOA)/boa.conf $(ROOTFS)/etc/boa
# vi $(ROOTFS)/etc/boa/boa.conf

(1)Group修改:由于在etc/group文件中没有nogroup组,所以设为0,在etc/passwd文件中存在nobody用户,所以User不用修改。
Group 0
User nobody

(2)scriptAlias修改:scriptAlias /cgi-bin/ /usr/lib/cgi-bin/
scriptAlias /cgi-bin/ /var/www/cgi-bin/

确保在ROOTFS中,存在/var/www(文档)目录与/var/log/boa(日志)目录。

(3)ServerName修改:让ServerName行生效,去掉注释,至于内容,可以随意修改。若没有这一步的修改,BOA会出现异常退出,提示“gethostbyname:...”,所以必须打开。

#cp $(BOA)/src/boa $(ROOTFS)/usr/sbin

然后,重新制作根文件系统,烧写到开发板上,执行boa程序即可。
四:问题解决

在测试CGI过程中,出现错误提示:502 Bad Gateway The CGI was not CGI/1.1 compliant.
google到了解决方案,记录如下:

修改BOA源码cgi.c
添加环境变量:
my_add_cgi_env(req, "LD_LIBRARY_PATH", "/lib");

再重新交叉编译即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息