魏晓东 发表于 2024-6-15 02:48:17

CentOS7 boa服务器的搭建和配置

环境是CentOS7,但方法不局限于此版系统,应该是通用的。
详细步骤如下:
1. 下载boa源码
下载地址: Boa Webserver
https://img-blog.csdnimg.cn/direct/be02bbfe08674acbb8a28ffbbe8dd86a.png
https://img-blog.csdnimg.cn/direct/2ad06eed110f424aabfaab183123b6d9.png
下载后,进入压缩包所在目录,进行解压:
tar xzf boa-0.94.13.tar.gz https://img-blog.csdnimg.cn/direct/38937602ede345778556355db10b8e45.png
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 https://img-blog.csdnimg.cn/direct/ec4af5e42bc94927987b0704450b0681.png
 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: *** 错误 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 https://img-blog.csdnimg.cn/direct/0a37ddb4bc504ede8055d050e1eea8c4.png
6. 运行boa
执行boa-0.94.13/src/boa可执行文件
 https://img-blog.csdnimg.cn/direct/bbcbfa16b25e4afaa86a6d6697cb66ab.png
运行出现以下问题:
https://img-blog.csdnimg.cn/direct/8373142a9a4c439e8b3ff747269c676c.png
解决方法: 运行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
https://img-blog.csdnimg.cn/direct/c46f5e7fe11d46f7b72eb2e034eef3c0.png
2)html网页测试
将html文件拷贝至/var/www/下
浏览器访问:http://127.0.0.1/html文件
https://img-blog.csdnimg.cn/direct/051c079ad9ed4c34af9bb1030d5b800f.png

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: CentOS7 boa服务器的搭建和配置