- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验指导书:boa Web服务器移植
实验目的与内容
在嵌入式设备的管理与交互中,基于Web方式的应用成为目前的主流,这种程序结构就是大家熟悉的B/S结构,即,在嵌入式设备上运行一个支持脚本或CGI功能的Web服务器,能够生成动态页面,在用户端只需要通过Web浏览器就可以对嵌入式设备进行管理和监控,非常方便实用。用户首先需要在嵌入式设备上成功移植支持脚本或CGI功能的Web服务器,然后才能进行应用程序的开发。本实验即完成了boa嵌入式WEB服务器的移植工作
BOA 服务器是一个小巧高效的web服务器,是一个运行于unix或linux下的,支持CGI的、适合于嵌入式系统的单任务的http服务器,源代码开放、性能高。Boa是一个非常小巧的单任务Web服务器,只能依次完成用户的请求,而不会fork出新的进程来处理并发连接请求,Boa的设计目标是速度和安全,在其站点公布的性能测试中,Boa的性能要好于Apache服务器。Boa支持CGI,能够为CGI程序fork出一个进程来执行老师提供:
名称 说明 cross-2.95.3.tar 交叉编译工具链 boa-0.94.13.tar.gz boa源码,下载地址为: FlashFXP 主机向目标机下载软件
一、准备工作
安装VMware Tools将老师提供的源码拷贝至共享目录下
创建工作目录,解压源码:
mkdir /home/fengbcd /home/fengb
tar –zxvf /mnt/hgfs/vmshare/boa-0.94.13.tar.gz (记得用命令补齐)
cd /usr/local/arm
tar –xvf /mnt/hgfs/vmshare/cross-2.95.3.tar (记得用命令补齐)
配置路径
vi /root/.bash_profile
在文件最后添加:
export PATH=/usr/local/arm/2.95.3/bin:$PATH
保存退出后,执行命令:
source /root/.bash_profile
二、进入编译目录,
cd /home/fengb/boa-0.94.13/src
./configure //生成Makefile文件
修改Makeifle
vi Makefile
在Makefile文件中找到CC=gcc,CPP=gcc –E,将其改为:
CC=/usr/local/arm/2.95.3/bin/arm-linux-gcc
CPP=/usr/local/arm/2.95.3/bin/arm-linux-gcc -E
保存退出。
修改boa.c
vi boa.c
将下面两部分源码注释掉,分别在210、225行开始:
/*if (passwdbuf == NULL) {
DIE(getpwuid);
}*/
/* if (setuid(0) != -1) {
DIE(icky Linux kernel bug!);
} */
修改config.c
vi config.c
找到 yyin = fopen(/etc/boa.conf, r);,将其改为:
yyin = fopen(/var/boa.conf, r);
修改log.c
vi log.c
将下面的源码注释掉,在72行开始:
/* if (dup2(error_log, STDERR_FILENO) == -1) {
DIE(unable to dup2 the error log);
} */
修改defines.h:
vi defines.h
在第30行,将#define SERVER_ROOT “/etc/boa”,改为
#define SERVER_ROOT /var/boa”
修改boa.conf
cd /home/fengb/boa-0.94.13
vi boa.conf
找到:#ServerName .here,将其修改为:
ServerName .here
找到:User nobody,Group nogroup两行
改为:
User 0
Group 0
找到:MimeTypes /etc/mime.types,改为:
MimeTypes /var/mime.types
找到:ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
改为:ScriptAlias /cgi-bin/ /var/www/cgi-bin/
三、boa: ELF 32-bit LSB executable, ARM, version 1 (ARM), for
文档评论(0)