设为首页 加入收藏

TOP

移植BOA服务器到GEC2440开发板
2014-11-24 12:18:56 来源: 作者: 【 】 浏览:0
Tags:移植 BOA 服务器 GEC2440 开发

所需软件:boa-0.94.13.tar.tar


下载在Linux公社的1号FTP服务器里,下载地址:


步骤:


设置好交叉编译工具链。


1、解压下载好的压缩包(tar xzvf boa-0.94.13.tar.tar),并进入解压后的目录(cd boa-0.94.13),再进行如下操作:


先进入到src目录(下面操作都是在该目录下进行):


cd src


生成Makefile文件:


./configure


修改Makefile文件:



CC = gcc


CPP = gcc –E


修改为:


CC=arm-linux-gcc


CPP=arm-linux-gcc –E


修改defines.h文件:


将#define SERVER_ROOT “/etc/boa”修改为#define SERVER_ROOT “/var/www”


该处定义的是WEB服务器的文件根目录,只要跟boa.conf文件中的DocumentRoot一致即可。


接下来编译boa:


make


arm-linux-strip boa //去掉相关调试信息,把生成的boa减小


在make时出现如下错误提示:


util.c:100:1: pasting "t" and "->" does not give a valid preprocessing token


修改compat.h文件:



#define TIMEZONE_OFFSET(foo) foo##->tm_gmtoff


修改成


#define TIMEZONE_OFFSET(foo) (foo)->tm_gmtoff


2、在解压后的boa源码目录下有个boa.conf文件,对它进行如下修改:


1)、Group的修改:


将Group nogroup修改为Group 0


由于在根文件系统中的/etc/group文件中没有nogroup组,所以设成0。在/etc/passwd中有nobody用户,所以User nobody不用修改。


2)、将相关日志文件存放位置项注释掉,不保存日志文件:


ErrorLog /var/log/boa/error_log


AccessLog /var/log/boa/access_log


3)、ServerName的设置:


将#ServerName www.your.org.here前面的#号去掉,该项默认为未打开,执行Boa会异常退出,提示“gethostbyname::No such file or directory”,所以必须打开。


4)、将DirectoryMaker /usr/lib/boa/boa_indexer注释掉。


5)、将MimeTypes /etc/mime.types修改为:MimeTypes /var/www/mime.types。


6)、将DefaultType text/plain修改为:DefaultType text/html。


7)、将Alias /doc /usr/doc注释掉。


8)、SccriptAlias的设置:


将ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/修改为:


ScriptAlias /cgi-bin/ /var/www/cgi-bin/


3、接下来的操作在开发板的根文件系统下进行操作:


在/var目录下创建www目录:


mkdir /var/www


进入到创建好的目录下,进行下面操作:


创建cgi-bin目录:mkdir cgi-bin


把生成的boa和配置好的boa.conf文件及主机下的/etc/mime.types文件都复制到板上的/var/www目录下,并在该目录下创建一文件index.html,文件内容如下:




BOA TEST




BOA TEST




进入到板上的/var/www目录下,执行./boa,可以看到如下启动信息:


[root@GCX2440 www]# ./boa


[root@GCX2440 www]# [28/Mar/2010:12:27:11 +0000] boa: server version Boa/0.94.13


[28/Mar/2010:12:27:11 +0000] boa: server built Mar 28 2010 at 10:06:35.


[28/Mar/2010:12:27:11 +0000] boa: starting server pid=1007, port 80


在主机上启动浏览器,输入URL为http://192.168.0.2,访问板上的BOA服务,效果如下:


此时板上串口输出如下信息:


[28/Mar/2010:12:27:16 +0000] request from 192.168.0.1 "GET /favicon.ico HTTP/1.1" ("/var/www/favicon.ico"): document open: No such file or directory


是因为没有该图标文件,不过不影响。


测试完静态页面后,接下来测试CGI脚本文件:


在主机上创建一文件helloworld.c,文件内容如下:


#include


int main()


{


printf("Content-type:text/html\n\n");


printf("\n");


printf("BOA TEST\n");


printf("\n");


printf("

BOA CGI TEST

\n");


printf("\n");


printf("\n");


exit(0);


}


然后用交叉编译工具链编译,将得到的helloworld文件复制到板上的/var/www/cgi-bin目录下:


编译:arm-linux-gcc –o helloworld helloworld.c


在浏览器输入http://192.168.0.2/cgi-bin/helloworld,可以看到如下效果:


至此,BOA服务器移植成功!


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇MPlayer从模式翻译文档 下一篇Linux系统编译boa-0.94-13出错信..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·用 Python 进行数据 (2025-12-25 15:49:09)
·如何学习Python数据 (2025-12-25 15:49:07)
·利用Python进行数据 (2025-12-25 15:49:04)
·Java 学习线路图是怎 (2025-12-25 15:19:15)
·关于 Java 学习,有 (2025-12-25 15:19:12)