打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
嵌入式WEB服务器在ARM-Linux上的移植全过程 - ::电子爱好者天地::. - 西...
因为要用,所以查了一些资料,再结合自己的实际情况,在ARM板子上做了一个WEB服务器,服务器可以通过CGI进行动态交互.现记录于此.
主机:redhat企业版4
目标板:EBD9260-S(内核版本2.6.19)
主机IP:192.168.0.12
目标板IP:192.168.0.11
交叉编译环境已经设置好.由于ARM资源的限制,不可能将一些大型的服务器移植上去,对脚本的支持也不大可能,开源的boa就是这么一个服务器:可以传送静态网页和通过纯CGI的方式进行交互.
步骤:
1.从www.boa.org上下载boa的源码,目前版本是boa-0.94.13
2.tar -xzvf boa-0.94.13
   cd boa-0.94.13/src
  ./configure,生成Makefile
3.vi Makefile,修改:
CC=armv5l-linux-gcc
CPP=armv5l-linux-gcc -E
保存退出
4.make,出现错误:
util.c:100:1:pasting "t" and "->" does not give a valid preprocessing token
5.修改compat.h中:
#define TIMEZONE_OFFSET(foo)  foo##->tm_gmtoff
#define TIMEZONE_OFFSET(foo) foo##->tm_zone
为:
#define TIMEZONE_OFFSET(foo)  (foo)->tm_gmtoff
#define TIMEZONE_OFFSET(foo)   (foo)->tm_zone
6.还有一个错误需要修改:
将boa.c中的
if(setuid(0)!=-1){
     DIE("icky Linux Kernel bug!");
}
将这三行注掉,不然编译不会出错,但是启动不起来
7.重新make,生成可执行文件boa
8.剥去调试信息:armv5l-linux-strip boa
9. 修改boa-0.94.13目录中的boa.conf:
port 80
user 0
group 0
Errorloog /var/log/boa/error_log
Accesslog /var/log/boa/access_log
server Name  www.xibiren.com
Document Root /var/www
DirectaryIndex index.html
KeepAliveMax 1000
KeepAliveTimeOut 10
Mimetypes /etc/mime.types
DefaultType text.plain
CGIPATH /bin:/usr/bin:/usr/local/bin
Alias /doc /usr/doc
ScriptAlias /cgi-bin/ /var/www/cgi/bin/
10:在目标板上:
mkdir    /var/www
mkdir   /var/www/cgi-bin
mkdir  /var/log/boa
mkdir  /etc/boa
通过ftp或者nfs的方式将主机下的/etc/mime_types.h传到目标板/etc下
将刚才修改的boa.conf传到/etc/boa下
将生成的boa可执行文件传到/usr/bin下
制作index.html,将其传到目标板/var/www/下
11.在目标板上启动boa,在主机上的浏览器中输入:http://92.168.0.11就可以看到index.html的内容了,如果看到,则说明boa移植成功了
12.测试cgi.
编写hello.cgi:
#include   <stdio.h>
int main(void)
{
   printf("Conten-type:text/html\n\n");
   printf("<html>\n");
   printf("<head><title>CGI OUTPUT</title></head>\n");
   printf("<body\n>");
   printf("<h1>Hello,xibiren!</h1>\n");
   printf("</body>\n");
   printf("</html>\n");
   exit(0);
}
然后armv5l-linux-gcc -o hello.cgi hello.c
生成hello.cgi,将其传输到目标板上/var/www/cgi-bin/目录下
13.在主机浏览器中输入http://192/168.0.11/cgi-bin/hello.cgi
如果能看到:
Hello,xibiren!
的测试界面,则说明cgi测试通过.
//****----------------//
要想进一步用好boa的cgi功能,还必须移植CGIC库.下次再写了.
//****----------------//
按照上面的步骤执行之后,需要重新制作文件系统,才能在下此开机之后能够使用.
//****-----------------//
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Boa Web服务器在PC上移植
实用 | 10分钟教你搭建一个嵌入式web服务器
Linux下小型WEB服务器boa的使用0(转)
ARM
以ARM7为核心的嵌入式工控网络设计
boa资料汇总
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服