1.下载BOA源码。www.bao.org
Latest Released Version (0.94.13) here (signature here)
2. 进入源码 src目录, 执行:./configure ,这样在此目录才会生成 Makefile文件,进入此Makefile文件修改配置。其中:
CC = gcc
CPP = gcc -E
这两行是修改编译器的,根据需要修改成自已目标平台的编译器。如果是ARM平台则改为:
CC = arm-linux-gcc
CPP = arm-linux-gcc -E
3. 修改src目录下的boa.c文件,把226行注释掉,如下。
if (setuid(0) != -1) {
//DIE("icky Linux kernel bug!");
}
4. 在src目录下执行 make
如果出现 make: yacc:命令未找到 则安装yacc(语法分析器),执行: apt-get install bison
如果出现 make: lex:命令未找到 则安装执行:apt-get install flex
如果出现:
gcc -g -O2 -pipe -Wall -I. -c -o util.o util.c
util.c: In function ‘get_commonlog_time’:
util.c:100: error: pasting "t" and "->" does not give a valid preprocessing token (‘t' 和 '->' 不能给出一个有效的预处理标记)
修改 src/compat.h
找到
#define TIMEZONE_OFFSET(foo) foo##->tm_gmtoff
修改成
#define TIMEZONE_OFFSET(foo) (foo)->tm_gmtoff
也就是去掉两个##号。
5. 安装BOA服务器。
1)修改BOA根目录下的boa.conf配置文件
其中:
User nobody
Group nogoup
改为:
User 0
Group 0
DocumentRoot /var/www WEB服务的启动目录,根据自己的情况修改。
DirectoryIndex index.html WEB首页名,根据自己的情况修改。
2)src/目录下的 defines.h 文件中的 #define SERVER_ROOT "/etc/boa" 是指明服务器配置文件所在的目录(可以根据自己的情况来修改),将上面修改好的 boa.conf 配置文件拷贝到/etc/boa中,如果没有此目录,则自己建。
3)将写好的网页拷贝到 boa.conf 配置文件中设好的WEB服务的启动目录中。
4)在src/目录下执行:./boa 开启WEB服务。
如果出现 找不到 /var/log/boa/access_log 文件的错误,就自己建个目录和空文件就行。
如果出现其它错误可以上网查一下。
更详细的过程看:http://blog.chinaunix.net/uid-14735472-id-2979956.html