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: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

解决方式:修改 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 】文件修改如下:

  1. 将:
  2. User nobody
  3. Group nogroup
  4. 改为:
  5. User
  6. Group

  

  (2)修改第2处

  1. 将:
  2. #ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
  3. 改为如下:
  4. 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】

  1. <html>
  2. <body>
  3. <p> Turn on/off Led </p>
  4. <button type="button" id="led_on"> turn on </button>
  5. <br/>
  6. <br/>
  7. <button type="button" id="led_off"> turn off </button>
  8. </body>
  9. </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 中

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

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

  (2)提示错误   

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

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

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

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

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

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

Ubuntu14.04搭建Boa服务的更多相关文章

  1. ubuntu14.04搭建Hadoop2.9.0集群(分布式)环境

    本文进行操作的虚拟机是在伪分布式配置的基础上进行的,具体配置本文不再赘述,请参考本人博文:ubuntu14.04搭建Hadoop2.9.0伪分布式环境 本文主要参考 给力星的博文——Hadoop集群安 ...

  2. ubuntu14.04 server ftp 服务安装配置详解

    ubuntu14.04 server ftp 服务安装配置详解 cheungmine 2016-01-27 http://wiki.ubuntu.com.cn/Vsftpd 0 安装好vsftpd服务 ...

  3. ubuntu14.04搭建Hadoop2.9.0伪分布式环境

    本文主要参考 给力星的博文——Hadoop安装教程_单机/伪分布式配置_Hadoop2.6.0/Ubuntu14.04 一些准备工作的基本步骤和步骤具体说明本文不再列出,文章中提到的“见参考”均指以上 ...

  4. Ubuntu14.04搭建JSP与Servlet开发环境及其测试详解

    一,搭建JDK开发环境 1,在Java官网下载Jdk软件包,我的系统是64位Ubuntu14.04,所以选择jdk-8u25-linux-x64.tar.gz. 2,解压Jdk软件包 tar xvzf ...

  5. ubuntu14.04搭建ftp服务器

    一,搭建匿名FTP服务器 实现ftp匿名登录,上传,下载,重命名文件. 1. 首先安装vsftpd:sudo apt-get install vsftpd,装好之后,默认的ftp根目录是在 /srv/ ...

  6. 【转】Ubuntu14.04搭建安装svnserver

    原文网址:http://www.cnblogs.com/blfshiye/p/5168028.html 前两天,公司准备搭建一个svnserver,供大家使用.于是.就先装了一个Ubuntu系统,然后 ...

  7. Ubuntu14.04搭建安装svnserver

    前两天,公司准备搭建一个svnserver,供大家使用.于是.就先装了一个Ubuntu系统,然后搭建了svnserver的环境.以下把svn搭建的详细过程描写叙述下: 1.安装svn sudo apt ...

  8. Ubuntu14.04搭建Android O编译环境

    一.搭建环境 官方参考文档: 1.代号.标签和版本号 2.Factory Images 3.Driver Binaries 4.工具链  软硬件版本: 1.系统平台:I5-8500T+8G+1T,Ub ...

  9. 【云计算】Ubuntu14.04 搭建GlusterFS集群

    1.修改 /etc/hosts 所有服务节点执行(如果集群中没有DNS,可忽略此步骤): 10.5.25.37 glusterfs-1-5-25-3710.5.25.38 glusterfs-2-5- ...

随机推荐

  1. ajax提交表单包括文件

    <script src="${pageContext.request.contextPath}/assets/js/jquery-1.8.3.js"></scri ...

  2. 亲测可用的golang sql例程与包管理

    sqlite与golang package main import ( "database/sql" "fmt" "time" _ &quo ...

  3. Python格式输出汇总

    print ('%10s'%('test')) print ('{:<10}'.format('test'))#left-aligned print ('{:>10}'.format('t ...

  4. 【leetcode】1022. Sum of Root To Leaf Binary Numbers

    题目如下: Given a binary tree, each node has value 0 or 1.  Each root-to-leaf path represents a binary n ...

  5. objc_setAssociatedObject 关联对象

    使用场景:在分类中,不允许创建实例变量,这里就解决了此问题 参考: https://www.cnblogs.com/someonelikeyou/p/7162613.html 属性的实质:就是实例变量 ...

  6. project 计划添加编号或 任务分解时为任务添加编号

    [工具]-[选项]-[视图]-选择[显示大纲数字]-[确定]

  7. LOJ 3124 「CTS2019 | CTSC2019」氪金手游——概率+树形DP

    题目:https://loj.ac/problem/3124 看了题解:https://www.cnblogs.com/Itst/p/10883880.html 先考虑外向树. 考虑分母是 \( \s ...

  8. 前端每日实战:103# 视频演示如何用纯 CSS 创作一只监视眼

    效果预览 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/GBzLdy 可交互视频 此视频是可 ...

  9. 112、TensorFlow初始化变量

    # 创建一个变量 # 最简单创建一个变量的方法就是调用 tf.get_variable function import tensorflow as tf # 下面创建了一个三维的张量大小是 [1,2, ...

  10. vlc 学习网

    http://capricasoftware.co.uk/#/projects/vlcj/tutorial