liuxiaoyun1210的个人空间 https://passport2.21ic.com/?695946 [收藏] [复制] [RSS]

日志

嵌入式linux利用cgi来实现web访问功能。

已有 295 次阅读2016-11-16 17:11 |系统分类:兴趣爱好| linux, 嵌入式

1、搭建boa服务器,下载Boa源码,源码地址:www.boa.org,下载 boa-0.94.13.tar.gz;
2、解压好之后,执行boa-0.94.13/src/configure文件,自动生成Makefile文件;
3、修改Makefile文件,主要修改CC = gcc CPP = gcc -E,修改嵌入linux的编译工具;如:
        CC = arm-none-linux-gnueabi-gcc,CPP = arm-none-linux-gnueabi-gcc -E
4、make编译生成boa可执行文件;编译有可能会报相应的错误,如:
编译时会产生如下错误:
错误1:
yacc  -d boa_grammar.y
make: yacc:命令未找到
make: *** [y.tab.c] 错误 127
产生原因:Debian里没有安装yacc程序
解决办法:apt-get install bison
错误2:
lex  boa_lexer.l
make: lex:命令未找到
make: *** [lex.yy.c] 错误 127
产生原因:Debian里没有安装lex程序
解决办法:apt-get install flex
错误3:
util.c:100:1: error: pasting "t" and "->" does not give a valid preprocessing token
make: *** [util.o] 错误 1
产生原因:Debian里没有暗转lex程序
解决办法:编辑src下的compat.h文件,将126行的
#define TIMEZONE_OFFSET(foo) foo##->tm_gmtoff
改为
#define TIMEZONE_OFFSET(foo) foo->tm_gmtoff
        
然后make就可成功编译出boa程序了,不过编译有警告。

3、配置boa.conf文件,主要修改3个参数
1、Group的修改
修改 Group nogroup
为 Group 0
由于在/etc/group文件中没有nogroup组,所以设成0。另外在/etc/passwd中有nobody用户,所以User nobody不用修改。
2、ScriptAlias的修改
修改 ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
为 ScriptAlias /cgi-bin/ /var/www/cgi-bin/
3、ServerName的设置
修改 ServerName www.your.org.here
为 ServerName www.your.org.here
5、测试嵌入式linux web功能;进入嵌入式linux系统,在相应的文件系统下做如下:
1)mkdir /var/www
 mkdir /var/log/boa/
将编译好的boa可执行文件复制到/bin/
将虚拟机linux中的etc/mime.types复制到嵌入式linux的/etc
cp /etc/mine.types  /etc/






路过

鸡蛋

鲜花

握手

雷人

评论 (0 个评论)