CentOS7 boa服务器的搭建和配置

avatar
作者
猴君
阅读量:2

环境是CentOS7,但方法不局限于此版系统,应该是通用的。

具体步骤如下:

1. 下载boa源码

下载地址: Boa Webserver

下载后,进入压缩包所在目录,进行解压:

tar xzf boa-0.94.13.tar.gz

2. 安装需要的工具bison,flex

sudo yum install bison flex #ubuntu: sudo apt-get install bison flex  #注意:不安装或者安装不成功都会导致后面make时出现错误127

3. 成Makefile文件

cd boa-0.94.13/src ./configure

 4. 配置boa,准备工作

1)Boa需要在/etc目录下建立一个boa目录,里面放入Boa的主要配置文件boa.conf

将解压出来的boa.conf复制到/etc/boa目录

sudo mkdir /etc/boa sudo cp /home/web/boa-0.94.13/boa.conf /etc/boa/

2)修改配置文件/etc/boa/boa.conf重要的一步,否则后续会有很多报错

sudo gedit /etc/boa/boa.conf 管理员身份打开boa.conf,其他身份无法修改和保存boa.conf

注意:修改boa.conf等文件需要管理员身份,获取管理员身份方法有多种,推荐直接sudo gedit来打开

(1)Group的修改
        修改 “Group nogroup” 为 “Group 0”
(2)user的修改
        修改 “User nobody” 为 “User 0”
(3)修改ScriptAlias的路径
        修改“ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/” 为 “ScriptAlias /cgi-bin/ /var/www/cgi-bin/”
(4)去掉ServerName前面的注释符号#
        修改“#ServerName www.your.org.here” 为 “ServerName www.your.org.here”
        否则会出现错误: "gethostbyname::No such file or directory"
(5)注释掉AccessLog命令
        修改“AccessLog /var/log/boa/access_log” 为 “# AccessLog /var/log/boa/access_log”
        否则会出现错误提示: "Cannot open ... for logging:logfile open:Is a directory"

3)修改 boa-0.94-13/src/compat.h重要的一步,否则后续会有很多报错

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

        修改成

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

        否则会出现错误:util.c:100:1: error: pasting "t" and "->" does not give a valid preprocessing token make: *** [util.o] 错误 1

4 修改 boa-0.94-13/src/log.c重要的一步,否则后续会有很多报错

        将以下条件注释掉:

        #if 0

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

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

        }

        #endif

        否则会出现错误:log.c:73 unable to dup2 the error log:bad file descriptor

5 修改boa-0.94-13/src/boa.c重要的一步,否则后续会有很多报错

        #if 0

        if (setuid(0) != -1) {

                DIE(”icky Linux kernel bug!”);

        }

        #endif

  否则可能会出现错误:boa.c:228 、 boa.c:226

6)创建web服务器的文件根目录

sudo mkdir -p /var/www sudo chmod -R 777 /var/www #注意:boa.conf中指定的html文件存在位置

7)创建log目录

sudo mkdir -p /var/log/boa sudo touch /var/log/boa/error_log sudo touch /var/log/boa/access_log sudo chmod -R 777 /var/log/boa

 8)创建CGI目录cgi文件存放目录

sudo mkdir -p /var/www/cgi-bin sudo chmod -R 777 /var/www/cgi-bin

5. 编译

cd boa-0.94.13/src/ make

6. 运行boa

执行boa-0.94.13/src/boa可执行文件

 

运行出现以下问题:

解决方法: 运行BOA报错 Could not open mime.types file, "/etc/mime.types", for reading-CSDN博客

 7. 测试

1)CGI程序测试

将 boa-0.94.13/examples目录下的 cgi-test.cgi 拷贝到 var/www/cgi-bin/

浏览器访问:http://127.0.0.1/cgi-bin/cgi-test.cgi

2)html网页测试

将html文件拷贝至/var/www/下

浏览器访问:http://127.0.0.1/html文件

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!