欢迎来到天天文库
浏览记录
ID:26846737
大小:70.00 KB
页数:12页
时间:2018-11-29
《嵌入式web服务器移植》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、..嵌入式Web服务器移植《嵌入式Linux系统开发详解——基于EP93XX系列ARM》一书和boa自带的文档等对该内容有比较详细的介绍,但在实验过程中,仍可能会出现一些问题。下面是我在WNC201系统(AT91RM9200)上的移植过程,欢迎讨论。第一步Boa程序的移植1、下载Boa源码下载地址:http://www.boa.org/,或者http://sourceforge.net最新发行版本:0.94.13下载boa-0.94.13.tar.gz,注意:从boa上下载的是boa-0.94.13.tar.tar,解压方式一样解压:#
2、tarxzfboa-0.94.13.tar.gz2、生成Makefile文件直接运行src/configure文件3、修改Makefile文件a、修改CC=gcc为CC=/usr/local/arm/2.95.3/bin/arm-linux-gccb、修改CPP=gcc-E为CPP=/usr/local/arm/2.95.3/bin/arm-linux-gcc-E4、编译#make....#/usr/local/arm/2.95.3/bin/arm-linux-stripboa第二步Boa的配置Boa需要在/etc目录下建立一个boa目
3、录,里面放入Boa的主要配置文件boa.conf。在Boa源码目录下已有一个示例boa.conf,可以在其基础上进行修改。1、Group的修改修改Groupnogroup为Group0由于在/etc/group文件中没有nogroup组,所以设成0。另外在/etc/passwd中有nobody用户,所以Usernobody不用修改。2、ScriptAlias的修改修改ScriptAlias/cgi-bin//usr/lib/cgi-bin/为ScriptAlias/cgi-bin//var/www/cgi-bin/3、ServerNam
4、e的设置修改ServerNamewww.your.org.here为ServerNamewww.your.org.here注意:该项默认为未打开,执行Boa会异常退出,提示“gethostbyname::Nosuchfileordirectory”,所以必须打开。其它默认设置即可。4、User的设置原文是以nobody用户启动boa的,在后来的实践中发现,该用户无法实现POST,无法上传文件,无法访问共享内存,所以在我的系统中,修改Usernobody....为Userroot或者0但是这样,boa无法正常启动,查看ErrorLog可以
5、看到,“boa.c:266.ickyLinuxkernelbug!:Nosuchfile”。解决该问题的方法是将boa.c文件中以下几行判断去掉即可。if(setuid(0)!=-1){DIE("ickyLinuxkernelbug!");}第三部:Boa的执行成功配置以后,还需要创建日志文件所在目录/var/log/boa,创建HTML文档的主目录/var/www,将静态网页存入该目录下(可以将主机/usr/share/doc/HTML/目录下的index.html文件和img目录复制到/var/www目录下),创建CGI脚本所在录/
6、var/www/cgi-bin,将cgi的脚本存放在该目录下。另外还要将mime.types文件复制/etc目录下,通常可以从linux主机的/etc目录下直接复制即可。实际运行时,可以将boa.conf文件、index.html文件、img目录和mime.types文件放到CF卡目录下,建立目录后,拷贝至相应目录。制作run.shmkdir/etc/boacp/cf/boa/boa.conf/etc/boa/mkdir/var/logmkdir/var/log/boamkdir/var/wwwcp/cf/boa/index.html/
7、var/www/cp-r/cf/boa/img/var/www/mkdir/var/www/cgi-bincp/cf/boa/mime.types/etc/cp/cf/boa/boa/./boa&直接在浏览器中输入http://192.168.1.107,出现RedHat的欢迎网页。静态HTML调试成功。第四步CGI脚本测试....1、编写Helloworld.c程序#includeintmain(void){printf("Content-type:text/html");printf("")
8、;printf("
此文档下载收益归作者所有