BOA服务器移植
平台: 处理器:I.MX6ULL 内核:linux-4.1.15
1.解压源码
先下载boa服务器源码,执行以下命令
tar xvf boa-0.94.13.tar.tar
cd boa-0.94.13
2.进入src目录
执行命令./configure -->生成Makefile文件
修改Makefile文件
修改CC = gcc 为 CC = arm-linux-gnueabihf-gcc
修改CPP = gcc -E 为 CPP = arm-linux-gnueabihf-gcc -E
3.修改源码
① src/compat.h文件
修改 src/compat.h
#define TIMEZONE_OFFSET(foo) foo##->tm_gmtoff
修改成
#define TIMEZONE_OFFSET(foo) (foo)->tm_gmtoff
② src/log.c文件
注释掉
if (dup2(error_log, STDERR_FILENO) == -1) {
DIE("unable to dup2 the error log");
}
为:
/*if (dup2(error_log, STDERR_FILENO) == -1) {
DIE("unable to dup2 the error log");
}*/
③src/boa.c文件
注释掉下面代码:
if (passwdbuf == NULL) {
DIE(”getpwuid”);
}
if (initgroups(passwdbuf->pw_name, passwdbuf->pw_gid) == -1) {
DIE(”initgroups”);
}
为
/*
if (passwdbuf == NULL) {
DIE(”getpwuid”);
}
if (initgroups(passwdbuf->pw_name, passwdbuf->pw_gid) == -1) {
DIE(”initgroups”);
}
*/
继续注释以下代码
/* if (setuid(0) != -1) {
DIE("icky Linux kernel bug!");
}*/
4.进入src目录编译
在./src目录下执行命令make,结果如下:
5.Boa服务器配置
①创建目录
在开发板根目录下创建/etc/boa文件夹
②将boa源码目录下的boa.conf拷贝到根文件系统/etc/boa目录下,将ubuntu下/etc/mime.types拷贝到开发板根文件系统的/etc下
#cp /etc/mime.types /source/rootfs/etc
cp boa.conf /home/zyc/linux/nfs/rootfs/rootfs/etc/boa
cp /etc/mime.types /home/zyc/linux/nfs/rootfs/rootfs/etc/boa
③修改配置文件boa.conf
vim /home/zyc/linux/nfs/rootfs/rootfs/etc/boa/boa.conf
vim /source/rootfs/etc/boa/boa.conf
(1)Group的修改
修改 Group nogroup为 Group 0
(2)user的修改
修改 User nobody为 User 0
(3)ScriptAlias的修改
修改ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ 为 ScriptAlias /cgi-bin/ /www/cgi-bin/
(4)DocumentRoot的修改
修改DocumentRoot /var/www 为DocumentRoot /www
(5)ServerName的设置
修改#ServerName www.your.org.here为 ServerName www.your.org.here
(6)AccessLo/g修改
修改AccessLog /var/log/boa/access_log为#AccessLog /var/log/boa/access_log
6.boa服务器测试
将整个boa-0.94.13拷贝至开发板根文件系统上,将主页index.html拷贝到/www目录下:然后在目录/boa-0.94.13/src/下启动.boa服务器运行,如下图所示:
移植结束