美文网首页
搭建boa服务器

搭建boa服务器

作者: 二进制人类 | 来源:发表于2022-09-25 09:05 被阅读0次

环境

Ubuntu16.04

创建目录

mkdir /home/boa            # 创建boa服务器的主目录
mkdir /home/boa/boa        # 创建boa服务器的可执行程序目录
mkdir /home/boa/login      # 创建boa服务器的日志文件目录
mkdir /home/boa/www        # 创建boa服务器的网页文件目录
mkdir /home/boa/www/cgi-bin    # 创建boa服务器的cgi可执行程序存储目录

boa源码包准备

1.下载boa源程序包:

去官网下载,也可以在共享目录中将boa-0.94.13-src.tar.gz下载到自己的PC机中。

2.将boa源程序包拷贝到Ubuntu虚拟机中的任意目录中,我拷贝到/home/boa

3.进入到存放boa源程序包的目录中,并解压boa源程序

boa服务器的配置编译

cd boa-0.94.13/src
#找到define.h
vim define.h
#修改路径为  #define SERVER_ROOT "/home/boa/boa"

2.找到boa.c(非必须后面会说明)

//注释以下代码
#if 0
        if (setuid(0) != -1) {
            DIE("icky Linux kernel bug!");
        }
#endif

3.编译

./configure        # 执行配置脚本文件,自动生成Makefile
make               # 自动编译boa源程序

可能遇见以下问题

问题1:
yacc  -d boa_grammar.y
make: yacc: Command not found
Makefile:59: recipe for target 'y.tab.c' failed
make: *** [y.tab.c] Error 127
解决思路:安装yacc包
    sudo apt-get install yacc    
问题2:
    会发现yacc包找不到;
解决思路:
    在有些系统里面需要安装的yacc包名称为:byacc
    sudo apt-get install byacc
问题3:
make: lex: Command not found
Makefile:62: recipe for target 'lex.yy.c' failed
解决思路:安装lex包
    sudo apt-get install flex
问题4:
util.c:100:39: error: pasting "t" and "->" does not give a valid preprocessing token
    time_offset = TIMEZONE_OFFSET(t);
                                       ^
compat.h:120:30: note: in definition of macro ‘TIMEZONE_OFFSET’
     #define TIMEZONE_OFFSET(foo) foo##->tm_gmtoff            
解决思路:由于版本问题,不支持##
需要修改compat.h文件中的内容
119 #ifdef HAVE_TM_GMTOFF
120// #define TIMEZONE_OFFSET(foo) foo->##tm_gmtoff  去掉##
#define TIMEZONE_OFFSET(foo) foo->tm_gmtoff
121 #else
122 #define TIMEZONE_OFFSET(foo) timezone
123 #endif
124 
125 #ifdef HAVE_TM_ZONE
126 //#define TIMEZONE(foo) foo->##tm_zone    #去掉##
#define TIMEZONE(foo) foo->tm_zone
127 #else
128 #define TIMEZONE(foo) *tzname
129 #endif        

手动加载boa服务器

1.拷贝boa和boa.conf

boa-0.94.13/src目录下执行
cp boa /home/boa/boa
cd ..
cp boa.conf /home/boa/boa

2.创建文件

cp /etc/mime.types /home/boa/boa
touch /home/boa/login/access_log
touch /home/boa/login/error_log

3.修改boa.conf文件

cd /home/boa/boa
vim boa.conf
#修改以下几处
User 0
Group 0
ErrorLog /home/boa/login/error_log
AccessLog /home/boa/login/access_log
DocumentRoot /home/boa/www
DirectoryIndex index.html
MimeTypes /home/boa/boa/mime.types
ScriptAlias /cgi-bin/ /home/boa/www/cgi-bin/

运行boa服务器

cd /home/boa/boa
sudo ./boa
ps -A | grep boa        # 查看boa服务器进程,如有输出:则说明boa服务器运行成功
如果没有输出,则说明boa异常:
查看错误日志文件:
    问题:[22/Sep/2022:03:31:58 +0000] boa.c:226 - icky Linux kernel bug!: Success
    查看boa服务器的配置编译步骤2.找到boa.c
    重新编译拷贝新的boa覆盖原来boa

相关文章

  • 搭建boa服务器

    环境 Ubuntu16.04 创建目录 boa源码包准备 1.下载boa源程序包: boa服务器的配置编译 2.找...

  • 11.3

    今天学习了boa服务器的移植,在Linux系统下安装boa服务器,来修改参数。上午按照老师发的表修改了boa服务器...

  • 嵌入式11月3日总结。

    今天学习了boa服务器的移植,在Linux系统下安装boa服务器。修改对应的参数。在移植了对应的网页设置。上午对应...

  • 03月22日长光培训嵌入式学习第四十五天

    今天上午我们在牛老师的指导下进行了Linux环境下,boa网络服务器系统的配置。 boa是基于gci语言的轻型网络...

  • 第一笔投资

    买入BOA股票,因为巴菲特F13重仓买入了BOA和chase,chase太贵,所以买BOA。

  • 部署Hexo到服务器并完成自动发布

    服务器环境 ubuntu16.04 64位 搭建流程简介 服务器端环境搭建 Hexo端环境搭建(可搭建在服务器上)...

  • Nov 30

    Today I get a boa with white and black. I was on my boa o...

  • 检查非正常断开的tcp连接

    所以我已一个一般的嵌入式web服务器boa为原形进行了从写,专门适应嵌入式web服务器这种需要。服务器这种需要。 ...

  • 3 . boa webserver服务器(1)

    1 基本介绍 boa出现的年代还算比较久远,但是其cgi毕竟是始祖级别,研究一下还是有必要的。 1.1 源码 bo...

  • 3 . boa webserver服务器(2)

    1 说明 本节主要是说明一些比较实用的功能,如文件的上传与下载等,这里不涉及到多用户的概念。 而这节最重要的内容是...

网友评论

      本文标题:搭建boa服务器

      本文链接:https://www.haomeiwen.com/subject/lmioortx.html