嵌入式Boa服务器搭建和移植
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就可以测试了。