Boa Web服务器在PC上移植

2014-11-24 12:20:54 · 作者: · 浏览: 3

boa下载地址:



一、配置编译boa


1. #tar zxvf boa-0.94.13.tar.gz


2. #mv boa-0.94.13 boa_pc


3. #cd boa_pc/src


4.boa.conf生效目录设置


boa启动过程中需要读取一个配置文件:boa.conf,它的路径由以下文件决定



第30行 #define SERVER_ROOT "/etc/boa",默认为/etc/boa文件夹


我们为了统一路径起见,改为:"/home/boa",接下来所有跟boa有关的文件我们都放在/home/boa下


5.修改src/boa.c



 注释掉下面语句:


if (setuid(0) !=-1)


{


   DIE(”icky Linux kernel bug!”);


  }


  即修改为:


  #if 0


   if(setuid(0) != -1)


{


  DIE(”icky Linux kernel bug!”);


}


  #endif


boa.c:226 - icky Linux kernel bug!: No suchfile or directory错误


6. #./configure


7. make


在当前目录下生成一个boa的可执行程序,./boa运行即可,ps能看到boa的进程即说明boa正常工作.


注:有些编译器会提示以下错误,按相应方法解决即可.


util.c: 100: 1: pasting “t” and “->”does not give a valid preprocessing token make: [util.o] Error1


解决方法:


方法>. 修改compat.h中的


#define TIMEZONE_OFFSET(foo) foo##->tm_gmtoff


为:


#define TIMEZONE_OFFSET(foo)foo->tm_gmtoff



二> 修改配置文件boa.conf


1.建立/home/boa目录, 并复制boa.conf到/home/boa目录下,并按照以下步骤进行修改。


#mkdir /home/boa


#cp boa.conf /home/boa


2.访问端口号设置


3. 修改访问权限:


修改User nobody 为 user 0


修改Group nogroup 为 group 0


4. 设定日志目录:boa日志有两部分,Errorlog 和 AccessLog


默认为/var/log/boa/error_log和/var/log/boa/access_log两个文件。


所以我们统一修改为:


ErrorLog /home/boa/error_log


AccessLog /home/boa/access_log


(注意:这里/home/boa目录必须为可写,否则会出项错误:log.c:73 – Unable to dup2 the error log: Bad file r.)


5. 设置html文件目录:


6. 设置默认首页: DirectoryIndex index.html


7. 设置cgi脚本目录: 将


ScriptAlias /cgi-bin/ /usr/lib/cgi-bin


修改为


ScriptAlias /cgi-bin/ /home/boa/cgi-bin


注:boa提供cgi编程接口,使得网页具有交互能力,后面我们在做讲解.


8.测试