您的位置:首页 > 运维架构 > Linux

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

2017-08-02 17:40 295 查看
最近在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 --> ServerNamewww.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/目录下的程序加上执行权限就可以正常访问了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  boa linux centos