嵌入式boa服务器搭建和移植

时间:2022-03-25 18:36:15

1.先下载源码 http://www.boa.org/ ==> boa-0.94.13.tar.g

2.tar -xvf boa-0.94.13.tar.g

3./configure

4.修改Makefile

CC =or32-linux-gcc

CPP = or32-linux-gcc–E

5.修改boa.c,注释下面几行

if (setuid(0) != -1) {
DIE(“icky Linux kernel bug!”);
}改为/*if (setuid(0) != -1) {
DIE(“icky Linux kernel bug!”);
}*/

6.修改文件compat.h

#define TIMEZONE_OFFSET(foo) foo##->tm_gmtoff
修改成
#define TIMEZONE_OFFSET(foo) (foo)->tm_gmtoff

7.make 编译,这时候就会生成一个boa的可执行文件

boa的配置文件是boa.conf,大概的配置是这样的:

Port 80   //服务访问端口

User 0
Group 0


ErrorLog /var/log/boa/error_log //错误日志地址
AccessLog /var/log/boa/access_log //访问日志文件

DocumentRoot /var/www //HTML文档的主目录

UserDir public_html //

DirectoryIndex index.html //默认访问文件

DirectoryMaker /usr/lib/boa/boa_indexer

KeepAliveMax 1000 //一个连接所允许的HTTP持续作用请求最大数目

KeepAliveTimeout 10 //HTTP持续作用中服务器在两次请求之间等待的时间数,以秒为单位

MimeTypes /etc/mime.types //指明mime.types文件位置

DefaultType text/plain //文件扩展名没有或未知的话,使用的缺省MIME类型

CGIPath /bin:/usr/bin:/usr/local/bin //提供CGI程序的PATH环境变量值

Alias /doc /usr/doc //为路径加上别名

ScriptAlias /cgi-bin/ /var/www/cgi-bin/ //输入站点和CGI脚本位置

对于调试阶段,可以把主机的目录挂载到目标板上面,这样就方便调试。

假设主机的NFS共享目录是/NFS,在NFS下面建立一个www的文件夹,然后在www的文件夹下面建立images,cig-bin目录,还有一个index.html,可以随便找一个主页就可以了。在主机上

mkdir /NFS/www

mkdir /NFS/www/images

mkdir /NFS/www/cgi-bin

cp <dir>/index.html /NFS/www/

然后在板子上面建立/var/www的目录

mkdir /var/www

mount -t nfs -o nolock <主机IP>:/NFS/www /var/www //挂载目标www

板子上建立日志存放目录,在板子上:

mkdir /var/log

mkdir /var/log/boa

对于boa配置文件的移植,可以把主机上的boa.conf拷贝到主机的NFS共享目录/NFS/www下面。

对于mime.types,直接用主机上/etc/mime.types就行了,拷贝到/NFS/www下面。

对于boa可执行文件,拷贝到/NFS/www/下面。

在主机上:

cp /etc/mime.types /NFS/www/

cp <boa dir>/boa.conf /NFS/www/

cp <boa dir>/src/boa  /NFS/www/

然后再在板子上把上面共享的文件拷贝到自己系统上,注意此时只要对/var/www操作就行了,在主机上:

cp /var/www/mime.types /etc/mime.types

mkdir /etc/boa

cp /var/www/boa.conf  /etc/boa/boa.conf

cp /var/www/boa /sbin/boa

/sbin/boa 启动boa服务器

在浏览器里输入板子的IP就可以测试了。