CentOS7 boa服务器的搭建和配置

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

具体步骤如下:

  1. 下载boa源码

下载地址: Boa Webserver

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

bash 复制代码
tar xzf boa-0.94.13.tar.gz
  1. 安装需要的工具bison,flex
bash 复制代码
sudo yum install bison flex
#ubuntu: sudo apt-get install bison flex

#注意:不安装或者安装不成功都会导致后面make时出现错误127
  1. 生成Makefile文件
bash 复制代码
cd boa-0.94.13/src
./configure
  1. 配置boa,准备工作

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

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

bash 复制代码
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 服务器的文件根目录

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

7)创建log目录

bash 复制代码
sudo mkdir /var/log/boa
sudo touch /var/log/boa/error_log
sudo touch /var/log/boa/access_log
sudo chmod -R 777 /var/log/boa
sudo chmod 777 /var/log/boa/error_log
sudo chmod 777 /var/log/boa/access_log

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

bash 复制代码
sudo mkdir /var/www/cgi-bin
sudo chmod -R 777 /var/www/cgi-bin
  1. 编译
bash 复制代码
cd /home.boa-0.94.13/src/
make
  1. 运行boa

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

运行出现以下问题:

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

  1. 测试

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文件

相关推荐
△曉風殘月〆3 个月前
如何在IIS中为typecho博客启用HTTPS访问
iis·typecho·windows server·web server·自建博客
爱看书的小沐5 个月前
【小沐学Python】Python实现Web服务器(CentOS下打包Flask)
linux·python·ubuntu·flask·centos·pyinstaller·web server
开着拖拉机回家7 个月前
【调度工具】Azkaban用户手册
executor·任务调度·azkaban·调度工具·web server·job依赖配置·flow任务