Linux下安装boa服务器遇到的问题

最近在CentOS7机器上安装boa服务器的时候,遇到了不少问题,在这里记录一下。
1.从官网下载最新 boa源码包,网址: http://www.boa.org/

2.解压,进入 src目录,给 configure权限,执行 ./configure;

3.make编译,会报错,
util.c: 在函数‘get_commonlog_time’中:
util.c:100:39: 错误:毗连“t”和“->”不能给出一个有效的预处理标识符
time_offset = TIMEZONE_OFFSET(t);

修改该宏定义:在 src/compat.h文件的 120行左右修改:
#define TIMEZONE_OFFSET(foo) foo##->tm_gmtoff
修改为
#define TIMEZONE_OFFSET(foo) (foo)->tm_gmtoff

然后 make可以成功了。

4.在 etc目录下创建 boa目录: mkdir /etc/boa。
将刚才 make生成的执行文件拷贝过去:cp boa boa_indexer /etc/boa/

5.直接执行 /etc/boa/boa报错,信息为:Could not open boa.conf for reading.
需要将配置文件 boa.conf拷贝过去,在刚才的解压目录下是由 boa.conf这个文件的,不过需要我们修改几个地方,修改完将 boa.conf拷贝到 /etc/boa目录下即可:
a.
User nobody --> User root
Group nogroup --> Group 0
修改为:

b.
ErrorLog /var/log/boa/error_log --> #ErrorLog /var/log/boa/error_log
AccessLog /var/log/boa/access_log --> #AccessLog /var/log/boa/access_log
#ServerName www.your.org.here --> ServerName www.your.org.here

c.
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ --> ScriptAlias /cgi-bin/ /var/www/cgi-bin/

6.然后运行 /etc/boa/boa,发现报错: boa.c:226 - icky Linux kernel bug!: Success
还是要修改源代码,boa.c 228行左右:
if (setuid(0) != -1) {
DIE("icky Linux kernel bug!");
}
注释掉上面三行代码,然后重新编译 boa程序,重新拷贝到 /etc/boa目录下。

7.执行 /etc/boa/boa,成功执行。

8.然后将我的 cgi程序拷贝到 /var/www/cgi-bin/目录下去,向 /var/www目录下存放我的 html网页后,使用浏览器访问机器地址,发现返回 502错误,提示如下:
502 Bad Gateway
The CGI was not CGI/1.1 compliant.
最后发现是拷贝的 cgi程序没有加执行权限的导致的,给拷贝的 /var/www/cgi-bin/目录下的程序加上执行权限就可以正常访问了。



  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值