• Ubuntu14.04搭建Boa服务


    1. 下载 boa 源码 : https://sourceforge.net/projects/boa/

       版本:boa-0.94.13.tar.gz

    2. 在Ubuntu 下解压进入 【boa-0.094.13/src/】目录下

    3. 执行命令 【./configure】-----> 【make

    提示错误:

        yacc -d boa_grammar.y

              make: yacc:命令未找到

              make: *** [y.tab.c] 错误 127

    解决方式:缺少bison 库 :【sudo apt-get install bison

    4. 继续执行【make】 

    提示错误:

        lex boa_lexer.l

         make: lex: 命令未找到

         make: *** [lex.yy.c] 错误 127

    解决方式:【 sudo apt-get install flex 

    5. 继续执行【make】

    提示错误:

         util.c:100:39error: 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

    解决方式:修改 boa-0.94.13/src/compat.h 文件中的120行 如下:【 #define TIMEZONE_OFFSET(foo)  foo->tm_gmtoff 

    6. 继续执行:【make】 ok

    上面已经初步编译成功,开始对boa 进行配置

    7. 【 sudo mkdir /etc/boa

     【 cp boa-0.94.13/boa.conf   /etc/boa/

      (1) 将 【 /etc/boa/boa.conf 】文件修改如下:

    将:
    User nobody
    Group nogroup
    改为:
    User 0
    Group 0

      

      (2)修改第2处

    将:
    #ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    改为如下:
    ScriptAlias /cgi-bin/ /var/www/htbin/ 

      

     8. 创建必要的目录

     【 sudo mkdir /var/www

     【 sudo mkdir /var/www/cgi-bin

     【 sudo mkdir /var/log/boa

    9. 在 【 /var/www/ 】下创建测试的html 文件 【index.html】

    <html>
    <body>
    <p> Turn on/off Led </p>
    <button type="button" id="led_on"> turn on </button>
    <br/>
    <br/>
    <button type="button" id="led_off"> turn off </button>
    </body>
    </html>

    10. 在目录【 boa-0.94.13/src】 下执行 【sudo ./boa】启动 boa服务

      (1)提示错误:

       log.c:73 - unable to dup2 the error log: Bad file descriptor

    解决方式:注释掉 boa-094.13/src/log.c 中

    /*    
     if (dup2(error_log, STDERR_FILENO) == -1) {
           DIE("unable to dup2 the error log");
     }
    */ 

    重新 编译 make , 再次执行 sudo ./boa

      (2)提示错误   

         boa.c: 226 - icky Linux kernel bug!: Success

     解决方式:注释掉 boa.c中的

    /* if (setuid(0) != -1) {
           DIE(”icky Linux kernel bug!”);
    } */

    重新编译,并启动boa服务,成功启动!

     12.  再次启动boa服务 【 sudo ./boa 】并打开浏览器 输入 127.0.0.1

    转:https://blog.csdn.net/crazy0126/article/details/41223103

  • 相关阅读:
    文件方式实现完整的英文词频统计实例
    组合数据类型练习,英文词频统计实例上
    英文词频统计预备,组合数据类型练习
    凯撒密码、GDP格式化输出、99乘法表
    字符串基本操作
    datetime处理日期和时间
    中文词频统计
    文件方式实现完整的英文词频统计实例
    组合数据类型练习,英文词频统计实例上
    英文词频统计预备,组合数据类型练习
  • 原文地址:https://www.cnblogs.com/electronic/p/11209061.html
Copyright © 2020-2023  润新知