boa服务器的移植
贴一篇我的参考文档处理 嵌入式Linux下的web服务器和动态web网站实现实验说明:1.Web server可自由选择2.必须是动态web网站实验目的:1 、掌握JXARM9-2410 Linux 下建立Web服务器的方法。2 、掌握JXARM9-2410 Linux 动态Web技术的实现方法。3 、知道如何建立boa Web 服务器4 、掌握JXARM9-241
嵌入式Linux下的web服务器和动态web网站实现
实验说明:1.Web server可自由选择
2.必须是动态web网站
实验目的:
1 、掌握JXARM9-2410 Linux 下建立Web服务器的方法。
2 、掌握JXARM9-2410 Linux 动态Web技术的实现方法。
3 、知道如何建立boa Web 服务器
4 、掌握JXARM9-2410 中Linux 应用程序的编译和调试方法。
实验简介:
boa Web服务器:
boa 是一个单任务http服务器,源代码开发、性能高。
交叉编译版本:4.3.3 ——arm-linux-gcc 4.3.3
boa Web服务器版本:boa-0.94.13.tar.gz
Cgic库文件:cgic205.tar.gz
交叉编译器版本:arm-linux-gcc 4.3.3
操作系统平台:Linux---centOS5.5
开发板平台: TQ2440
实验步骤:
:
一、启动Linux虚拟机,用SecureCRT终端仿真程序连接Linux虚拟机
在Linux虚拟机下:
(一)
1.编译boa服务器
1 、[root@localhost /]#mkdir web //在根目录下创建web目录
2 、[root@localhost /]# cd /web/
3 、[root@localhost web]# rz
4 、[root@localhost web]# tar –zxvf boa-0.94.13.tar.gz //将源码解压到/web目录下
5 、[root@localhost web]# cd boa-0.94.13/
6 、[root@localhost boa-0.94.13]# cd src/
7 、[root@localhost src]# ls
8 、[root@localhost src]# ./configure //运行./configure使之生成Makefile文件
9 、[root@localhost src]# vi Makefile
修改内容如下:
把CC=gcc 和CPP=gcc -E改写成CC=arm-linux-gcc CPP=arm-linux-g++ -E
10 、[root@localhost src]# vi compat.h
在一般模式下输入:set nu显示行编号,再用go 120进到120行,修改内容如下:
120 #define TIMEZONE_OFFSET(foo) foo##->tm_gmtoff
改为define TIMEZONE_OFFSET(foo) foo->tm_gmtoff
把120行foo后两个#号去掉
11 、[root@localhost src]# make //编译
12 、[root@localhost src]# arm-linux-strip boa //优化boa可执行文件(此步非必须)
13 、[root@localhost web]# cd boa-0.94.13/
14 、[root@localhost boa-0.94.13]# vi boa.conf //修改boa的配置文件
在一般模式下输入:set nu显示行编号,再用go 111进到111行, 修改内容如下:
把111 DocumentRoot /var/www
改为111 DocumentRoot /web
//指明html文件所放的路径
把193 ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
改为193 ScriptAlias /cgi-bin/ /web/cgi-bin/
//指明cgi脚本的虚拟路径所对应的实际路径
15 、[root@localhost /]# mkdir web1
16 、[root@localhost /]# cp /web/boa-0.94.13/boa.conf /web1
17 、[root@localhost /]# mkdir cgic
18 、[root@localhost cgic]# rz
19 、[root@localhost cgic]# ls
20 、[root@localhost cgic]# tar zxvf cgic205.tar.gz
21 、[root@localhost cgic]# cd cgic205
22 、[root@localhost cgic205]# vi Makefile
1修改内容如下:
CC=gcc改为CC=arm-linux-gcc
AR=ar改为AR=arm-linux-ar
RANLIB=ranlib改为RANLIB=arm-linux-ranlib
把install: libcgic.a
cp libcgic.a /usr/local/lib
cp cgic.h /usr/local/include
@echo libcgic.a is in /usr/local/lib. cgic.h is in /usr/local/include.
改为:
install: libcgic.a
cp libcgic.a /opt/EmbedSky/4.3.3/arm-none-linux-gnueabi/libc/armv4t/lib/
cp cgic.h /opt/EmbedSky/4.3.3/arm-none-linux-gnueabi/libc/usr/include
@echo libcgic.a is in /usr/local/lib. cgic.h is in /usr/local/include.
把下列代码
cgictest.cgi: cgictest.o libcgic.a
gcc cgictest.o -o cgictest.cgi ${LIBS}
改为:
cgictest.cgi: cgictest.o libcgic.a
$(CC) $(CFLAGS) cgictest.o -o cgictest.cgi ${LIBS}
23 、[root@localhost cgic205]# make //编译makefile文件
出现错误:
capture.o: could not read symbols: File in wrong format
collect2: ld 返回 1
make: *** [capture] 错误 1
由于库文件对于的环境和当面的编译环境不一致造成的
应该把vi Makefile
capture: capture.o libcgic.a
gcc capture.o -o capture ${LIBS}
改为i:
capture: capture.o libcgic.a
$(CC) capture.o -o capture ${LIBS}
24 、[root@localhost cgic205]# make clean (清除之前生成的文件)
rm -f *.o *.a cgictest.cgi capture
25 、[root@localhost cgic205]# make
26 、[root@localhost cgic205]# arm-linux-strip capture //优化capture文件(非必须步骤)
27 、[root@localhost cgic205]# cp capture /web1 //把capture复制到/web1文件夹中
(二)搭建nfs远程挂载
1 、[root@localhost cgic]# vi /etc/exports
修改内容如下:
/web1/ 192.168.1.0/24 (rw,async,no_root_squash)
(修改nfs 配置文件,使开发板能够挂载web1目录下的文件)
2.[root@localhost cgic]#service nfs restart
3 、[root@localhost cgic]# /sbin/service portmap start
4 .[root@localhost cgic]# /sbin/service nfs restart
(启动nfs服务器)
(三)启动Linux虚拟机,用SecureCRT终端仿真程序连接Linux虚拟机
在Linux虚拟机下:
#mount -f nfs -o nolock -o tcp 192.168.220.22: /web1 /mnt/nfs //挂载
#mkdir /web //在根目录先创建web目录
#mkdir /web/cig-bin //在web目录先创建cig-bin目录
#mkdir /etc/boa //在etc目录下创建boa目录
#cp /mnt/nfs/boa.conf /etc/boa //复制boa.conf文件到开发板的/etc/boa目录
#cp /mnt/nfs/boa /sbin //复制可执行文件boa到开发板的/sbin目录
#cp /mnt/nfs/capture /web/cgi-bin //复制可执行文件capture到开发板的/web/cgi-bin目录
#cd /sbin //进入/sbin目录
#./boa //运行boa服务器可执行文件
5.测试是否成功
测试静态网
1.将在编写好的静态网页1.htm以及所需要的图片上传到开发板的/web目录下
2.把开发板的ip改为:192.168.220.6
3.在windowXP访问开发板web服务器,在ie浏览器输入地址http://192.168.220.6/1.htm 效果如图所示:
更多推荐
所有评论(0)