一 下载Boa源码
下载地址: http://www.boa.org/
发行版本: 0.94.13
下载 boa-0.94.13.tar.gz
解压:# tar xzf boa-0.94.13.tar.gz
二 安装需要工具bison,flex
sudo apt-get install bison flex
三 生成Makefile文件波
执行:
cd boa-0.94.13/src
./configure
四 为了保证make不出现错误的话必须现修改一些文件(即配置)
1、 boa配置文件 boa.conf 的路径的设定
boa配置文件 boa.conf 的路径应与 src/defines.h 中 SERVER_ROOT “/etc/boa” 的值一致
方法:在root 用户权限下,将 boa-0.94.13/boa.conf 拷贝到 /etc/boa下
2、 make 时会报错:
util.c:100:1: error: pasting "t" and "->" does not give a valid preprocessing token
修改compat.h中的
#define TIMEZONE_OFFSET(foo) foo##->tm_gmtoff
为:
#define TIMEZONE_OFFSET(foo) foo->tm_gmtoff
Boa的配置后make
五 在运行src/boa前 需配置 SERVER_ROOT (/etc/boa)下的boa.conf
boa.conf 配置
1、修改boa.conf文件:servername去掉注释(#)
修改Group的参数为0是因为系统中没有nogroup组,如果你没有nobody用户,那么User nobody也要做相应修改(修改成自己的用户名亦可)。
2、定义的是web服务器的文件根目录 即设定的值 DocumentRoot
默认为“/var/www”
这时,需在root 权限下在/var下建立“/var/www”
为了使一般用户可以用boa 需改变 www/的权限
chmod -R 777 /var/www
3、配置 日志文件的目录及日志文件
(1) 错误报告 ErrorLog 默认位置 /var/log/boa/error_log
(2) 访问报告 AccessLog 默认位置 /var/log/boa/access_log
需在root权限下建立/var/log/boa/
#mkdir /var/log/boa
#chmod -R 777 /var/log/boa
再建立error_log access_log 文件
4、 cgi程序存放
ScriptAlias /cgi-bin/ 默认值 /usr/lib/cgi-bin/
一般在 /var/www下创建cgi-bin/存放 .cgi文件
改为 ScriptAlias /cgi-bin/ /var/www/cgi-bin/
运行 src/boa
#./boa
查看进程 ps -e 有无 boa
若无,查看 错误报告 /var/log/boa/error_log
根据提示配置 你的boa.conf
若提示 :[23/Apr/2012:23:58:59 +0000] boa.c:194 - unable to bind: Address already in use
端口被占用 我该用8080 就好了 在 SERVER_ROOT “/etc/boa”下boa.conf中 Port 80 改为 Port 8080
查看进程 ps -e 若有boa
成功!
若boa运行成功,根据自己的需求改boa.conf后需 kill 掉boa,重新运行 如改目录文件夹和cgi存放文件夹,再web测试,否则web测试依然报错。
测试:http://127.0.0.1:8080