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

将:
User nobody
Group nogroup

改为:
User
Group

  

  (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() != -) {
       DIE(”icky Linux kernel bug!”);
} */

重新编译,并启动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. XML及XML的解析

    XML的用途 充当显示数据(以XML充当显示层) 存储数据的功能 以XML描述数据,并在联系服务器与系统的其余部分之间传递.(传输数据的一种格式),从某种角度来讲,XML是数据封装和消息传递技术 SA ...

  2. hdu 5868:Different Circle Permutation 【Polya计数】

    似乎是比较基础的一道用到polya定理的题,为了这道题扣了半天组合数学和数论. 等价的题意:可以当成是给正n边形的顶点染色,旋转同构,两种颜色,假设是红蓝,相邻顶点不能同时为蓝. 大概思路:在不考虑旋 ...

  3. Makefile中的$@ $< $^的意义

    $@  目标文件 $<   第一个依赖文件 $^  所有的依赖文件 $? 比目标还要新的依赖文件列表 $%  仅当目标是函数库文件中,表示规则中的目标成员名 $+  所有依赖目标的集合,与$^类 ...

  4. linux查找一个文件的路径

  5. 多线程模拟生产者消费者示例之Lock

    public class Test { public static void main(String[] args) { List<String> list = new ArrayList ...

  6. .NET Core 使用 mongodb

    1.运行环境 开发工具:Visual Studio 2017 JDK版本:.NET Core 2.0 项目管理工具:nuget 2.GITHUB地址 https://github.com/nbfujx ...

  7. 【CF1238E】Keyboard Purchase(状压DP,贡献)

    题意:有m种小写字符,给定一个长为n的序列,定义编辑距离为序列中相邻两个字母位置差的绝对值之和,其中字母位置是一个1到m的排列 安排一种方案,求编辑距离最小 n<=1e5,m<=20 思路 ...

  8. paper 165: 人脸的两个关键问题--光照和姿态

    人脸识别关键问题研究 a) 人脸识别中的光照问题 光照变化是影响人脸识别性能的最关键因素,对该问题的解决程度关系着人脸识别实用化进程的成败.研究思路是将在对其进行系统分析的基础上,考虑对其进行量化研究 ...

  9. vue开发微信公众号--开发准备

    由于工作项目的原因,需要使用vue开发微信公众号,但是这种微信公众号更多是将APP套了一个微信的壳子,除了前面的授权和微信有关系以外,其他的都和微信没多大的关系了,特此记录 开发流程 首先需要在电脑上 ...

  10. pytest_用例运行级别_模块级

    ''' pytest 参数说明 https://www.jianshu.com/p/7a7432340f02 -x test_fixt_model.py 遇到错误时,停止运行 用-v运行(-v显示运行 ...