boa编译设置

一、Boa的编译安装

1、Boa下载

     http://www.boa.org/boa-0.94.13.tar.gz

     tar -zxvf boa-0.94.13.tar.gz

 

2、编译之前的源码修改

(1) 将boa.c 文件中以下几行判断去掉。

if ( setuid ( 0 ) != - 1 ) {
    DIE ( "icky Linux kernel bug!" );
}

(2)

修改文件compat.h   P120

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

 

(3) 修改 src/log.c

注释掉

if (dup2(error_log, STDERR_FILENO) == -1) {

DIE("unable to dup2 the error log");

}

否则非root用户执行boa会出现错误:

log.c:73 unable to dup2 the error log:bad file descriptor

 

3、Boa在PC机上的编译

      进入Boa目录,

     ./configure

     make

 

4、Boa的交叉编译

(1) 在src 目录下运行./configure

(2)生成Makefile 文件,修改

CC = powerpc-e300c3-linux-gnu-gcc

CPP = powerpc-e300c3-linux-gnu-gcc –E

(3) make

(4) powerpc-e300c3-linux-gnu-strip boa

 

5、Boa配置

boa相关目录:
 boa.conf 的存放目录:
   默认boa.conf是在/etc/boa.conf目录的,boa运行时会自动去找/etc/bon.conf文件。
   这个设定是在define.h文件中定义的,可在编译之前进行修改。

 log目录: 分为 Errorlog  和 AccessLog 两个目录,可在boa.conf中修改。
    如:
    ErrorLog /var/log/boa/error_log
    AccessLog /var/log/boa/access_log

 html文件存放目录, 可在boa.conf文件中修改。

    如: DocumentRoot /var/www

  cgi脚本存放目录, 可在boa.conf文件中修改。
    如: ScriptAlias /cgi-bin/ /var/www/cgi-bin

 mime.types存放目录 , 可在boa.conf文件中修改。
    如: MimeTypes /etc/mime.types

 

(1)将Boa拷贝到/bin

(2) 将mime.types文件复制/etc目录下,通常可以从linux主机的 /etc目录下直接复制即可。

(3)Boa需要在/etc目录下建立一个boa目录,里面放入Boa的主要配置文件boa.conf。在Boa源码目录下已有一个示例boa.conf,可以在其基础上进行修改。
 [root@Localhost etc]$ mkdir -p boa
[root@Localhost etc]$ chmod 777 boa/
[root@Localhost etc]$ cd boa
[root@Localhost boa]$ vi boa.conf
Group的修改
修改 Group nogroup
为 Group 0(或开发板上建立的组)

user的修改

修改 user nobody

改为:user 0

(如果不这样修改,当documentroot不是默认的/var/www时,会出现:boa permission to get URL / from this server错误)


ScriptAlias的修改
修改 ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
为 ScriptAlias /cgi-bin/ /var/www/cgi-bin/
这是在设置CGI的目录,你也可以设置成别的目录。比如用户文件夹下的某个目录。
ServerName的设置
修改 #ServerName www.your.org.here
为 ServerName www.your.org.here
注 意:该项默认为未打开,执行Boa会异常退出,提示“gethostbyname::No such file or directory”,所以必须打开。
此外,还需要:
(以下配置和boa.conf的配置有关)
创建日志文件所在目录/var/log/boa (主要文件为error_log)
创建HTML文档的主目录/var/www (默认首页index.html)
创建CGI脚本所在录 /var/www/cgi-bin (所需cgi文件由index.html中指定)

 

注:boa要以root用户执行,否则会出现各种错误,现在我还弄不清楚

 

 

 

 

你可能感兴趣的:(boa编译设置)