boa安装
Boa 下载地址:http://www.boa.org/boa-0.94.13.tar.gz
1、解压生成Makefile
tar xzf boa-0.94.13.tar.gz #解压
cd boa-0.94.13/src #进入源代码文件夹
./configure
#生成Makefile
注:
1、假设为嵌入式开发板编译需改动Makefile
改动Makefile文件。找到CC=gcc,将其改成CC = arm-linux-gcc( arm-linux-gcc是3.3.2版的arm gcc编译器,
假设是3.4.5版本号的gcc用:arm-softfloat-linux-gnu-gcc。当使用该版本号,本文其余地方都如此更改),
再找到CPP = gcc –E,将其改成CPP = arm-linux-gcc –E,并保存退出。
2、编译时会出现错误
错误信息:
debian:/home/a/sss/boa-0.94.13/src# make
gcc -g -O2 -pipe -Wall -I. -c -o util.o util.c
util.c:100:1: error: pasting "t" and "->" does not give a valid preprocessing token
make: *** [util.o] Error 1
解决方法:
改动 src/compat.h
找到
#define TIMEZONE_OFFSET(foo) foo##->tm_gmtoff
改动成
#define TIMEZONE_OFFSET(foo) (foo)->tm_gmtoff
改动log.c
凝视掉
if (dup2(error_log, STDERR_FILENO) == -1) {
DIE("unable to dup2 the error log");
}
3、简单配置
Boa须要在/etc文件夹下建立一个boa文件夹,里面放入Boa的主要配置文件boa.conf。在Boa源代码文件夹下已有一个演示样例boa.conf。
mkdir /etc/boa/
cp boa-0.94.13/boa.conf
/etc/boa/改动 ScriptAlias 项 为 :ScriptAlias /cgi-bin/ /var/www/cgi-bin/
并加入 /var/www/cgi-bin 文件
#监听的port号,缺省都是80。一般无需改动
Port 80
# bind调用的IP地址。一般凝视掉。表明绑定到INADDR_ANY。通配于server的全部IP地址
#Listen 192.68.0.5
#作为哪个用户执行。即它拥有该用户的权限。一般都是nobody(linux默认有),须要/etc/passwd中有nobody用户
User nobody
#作为哪个用户组执行。即它拥有该用户组的权限,一般都是nogroup(linux默认有)。须要在/etc/group文件里有nogroup组
Group nogroup
#很重要。HTML文档的主文件夹。
假设没有以/開始,则表示从server的根路径開始。
DocumentRoot /var/www
#假设收到一个用户请求的话,在用户主文件夹后再添加的文件夹名
UserDir public_html
#HTML文件夹索引的文件名称,也是用户没有指定訪问文件夹时返回的文件名称
DirectoryIndex index.html
#很重要。指明CGI脚本的虚拟路径相应的实际路径。一般全部的CGI脚本都要放在实际路径里
ScriptAlias /cgi-bin/ /var/www/cgi-bin/
4、错误
1.错误1: gethostbyname:: No such file or directory
解决的方法: 改动boa.conf 去掉 ServerName www.your.org.here 前的凝视符号(#)
2解决的方法: 改动boa.conf 去掉 ServerName www.your.org.here 前的凝视符号(#)
2.错误1: util.c:100:1: error: pasting "t" and "->" does not give a valid preprocessing token make: *** [util.o]
解决的方法: 改动 src/compat.h
找到 #define TIMEZONE_OFFSET(foo) foo##->tm_gmtoff
改动成 #define TIMEZONE_OFFSET(foo) (foo)->tm_gmtoff
3解决的方法: 改动 src/compat.h
找到 #define TIMEZONE_OFFSET(foo) foo##->tm_gmtoff
改动成 #define TIMEZONE_OFFSET(foo) (foo)->tm_gmtoff
3.错误2: boa.c:211 - getpwuid: No such file or directory
解决的方法: 改动src/boa.c
凝视掉以下这段程序:
if (passwdbuf == NULL) {
DIE(”getpwuid”);
}
if (initgroups(passwdbuf->pw_name, passwdbuf->pw_gid) == -1) {
DIE(”initgroups”);
}
即改动为:
#if 0
if (passwdbuf == NULL) {
DIE(”getpwuid”);
}
if (initgroups(passwdbuf->pw_name, passwdbuf->pw_gid) == -1) {
DIE(”initgroups”);
}
#endif
4解决的方法: 改动src/boa.c
凝视掉以下这段程序:
if (passwdbuf == NULL) {
DIE(”getpwuid”);
}
if (initgroups(passwdbuf->pw_name, passwdbuf->pw_gid) == -1) {
DIE(”initgroups”);
}
即改动为:
#if 0
if (passwdbuf == NULL) {
DIE(”getpwuid”);
}
if (initgroups(passwdbuf->pw_name, passwdbuf->pw_gid) == -1) {
DIE(”initgroups”);
}
#endif
4.错误3: boa.c:228 - icky Linux kernel No such file or directory
解决的方法: 改动src/boa.c
凝视掉以下语句:
if (setuid(0) != -1) {
DIE(”icky Linux kernel bug!”);
}
即改动为:
#if 0
if (setuid(0) != -1) {
DIE(”icky Linux kernel bug!”);
}
#endif
5解决的方法: 改动src/boa.c
凝视掉以下语句:
if (setuid(0) != -1) {
DIE(”icky Linux kernel bug!”);
}
即改动为:
#if 0
if (setuid(0) != -1) {
DIE(”icky Linux kernel bug!”);
}
#endif
5.错误4: log.c:73 unable to dup2 the error log:bad file descriptor
解决方法:
方法1> 确定日志文件夹对与全部用户都具有可读/写的权限
方法2> 改动src/log.c (建议採用方法1)
凝视掉
if (dup2(error_log, STDERR_FILENO) == -1) {
DIE("unable to dup2 the error log");
}
即改动为:
#if 0
if (dup2(error_log, STDERR_FILENO) == -1) {
DIE("unable to dup2 the error log");
}
#endif解决方法:
方法1> 确定日志文件夹对与全部用户都具有可读/写的权限
方法2> 改动src/log.c (建议採用方法1)
凝视掉
if (dup2(error_log, STDERR_FILENO) == -1) {
DIE("unable to dup2 the error log");
}
即改动为:
#if 0
if (dup2(error_log, STDERR_FILENO) == -1) {
DIE("unable to dup2 the error log");
}
#endif
5、启动
将boa boa_indexer 拷贝到/bin 文件夹下
运行 boa 启动boa
通过 ps aux | grep boa 查看boa是否启动。
注:
无法启动可能是port问题,尝试改动port
boa安装的更多相关文章
- ubuntu1304下安装boa服务器
本测试在ubuntu1304下测试,具体步骤如下: 1下载源码:www.boa.org,可在ubuntu下自带的火狐浏览器下载,也可在window下下载,然后再移到ubuntu下: 2打开终端,将bo ...
- PostgreSQL系列一:PostgreSQL简介与安装
一.PostgreSQL简介 1.1 PostgreSQL概述 PostgreSQL数据库是目前功能最强大的开源数据库,支持丰富的数据类型(如JSON和JSONB类型. ...
- wxPython+Boa Constructor环境配置
配置之前先完成eclipse + Pydev的配置环境.详见http://www.cnblogs.com/dflower/archive/2010/05/13/1734522.html 1. 安装 w ...
- 基于mini2440的boa服务器移植
win7 系统 开发板:mini2440 虚拟机:ubuntu12.04 准备工作:确保主机与开发板之间能够正常通信,即能够ping通,具体的操作课参考我上一篇随笔. 1.首先从 http://ww ...
- Ubuntu 14.04下安装eclipse搭建C++开发环境
安装过程分为两部分:1.JAVA开发环境,即JDK的安装:2.eclipse的安装: 一.安装包下载 1.JDK官网下载地址:http://www.oracle.com/technetwork/jav ...
- DG_Oracle DataGuard Primary/Standby物理主备节点安装实践(案例)
2014-09-09 Created By BaoXinjian
- boa服务器安装
boa是一个轻量级的web服务器,单进程单任务模式,支持CGI,是嵌入式行业应用较广的一个轻量级服务器系统. 这是我准备往嵌入式开发板里移植的时候在ubuntu上做的实验.多少有点参考价值. 现在简要 ...
- 三种嵌入式web服务器(Boa / lighttpd / shttpd)的 linux移植笔记
一:移植Boa(web服务器)到嵌入式Linux系统 一.Boa程序的移植 1.下载Boa源码 下载地址: http://www.boa.org/ 目前最新发行版本: 0.94.13 ...
- Boa服务器在ARM+Linux上的移植
下面给大家介绍一下Boa服务器移植的具体操作步骤,希望能够有帮助. 环境 主机:ubuntu8.10 交叉工具链:gcc-3.4.5-glibc-2.3.6 ...
随机推荐
- 使用xshell使用删除出现乱码
在使用xshell的时候出现如下错误: 1.打开如下属性设置: 2. 查看终端--键盘设置 4.修改为下图所示: 从而可解决删除乱码问题,在设置完成之后,关闭xshell,重新打开即可.
- Java中实现异常处理的基础知识
Java中实现异常处理的基础知识 异常 (Exception):发生于程序执行期间,表明出现了一个非法的运行状况.许多JDK中的方法在检测到非法情况时,都会抛出一个异常对象. 例如:数组越界和被0除. ...
- 集群重启后启动ambari-server访问Web页面无法启动集群解决
集群重启后启动ambari-server访问Web页面无法启动集群解决 使用ambari部署的集群重新启动后,必须手动重启ambari-server和所有集群主机上的ambari-agent. amb ...
- Ngix 移动端与Pc端 反向代理判断
如神马搜索和百度(http://www.baidu.com),当用桌面浏览器和移动浏览器访问的结果是不一样的.其中的手段可能有两种: 转载Ngix反向代理判断 服务端直接判断UA输出不同的界面,JAV ...
- 前端复习-03-接上面ajax跨域问题的解决与探索
废话不多少 ..我估计一万个人都搞不清楚 什么是跨域 然后就被这堵墙无情的挡住了..我尝试了很多办法解决这个问题.后来再慕课网上的一个老师的ppt那里看到一张图 我觉得 能记住这张图的话 应该就算是深 ...
- HTML5每日一练之progress标签的应用
progress标签:从名字上来看,估计大家也能猜到这个标签是什么标签了,没错,他是一个进度条.在HTML5中我们终于可以不用模拟了. <progress id="W3Cfuns_pr ...
- Hadoop学习笔记(2)
Hadoop学习笔记(2) ——解读Hello World 上一章中,我们把hadoop下载.安装.运行起来,最后还执行了一个Hello world程序,看到了结果.现在我们就来解读一下这个Hello ...
- MacTerminal快捷键
[MacTerminal快捷键] 在Mac系统中并没有Home.End等键,所以在使用时并不是特别的顺手,但是有几个键位组合可以使Terminal的操作更加灵活方便. 1.将光标移动到行首:ctrl ...
- GWT+CodeTemplate+TableCreate快速开发
刚进一家新公司,公司表示让我们几个新人写页面联系熟悉 怎么快速开发,进入正题: 1.根据设计规范设计页面excel 2.CodeTemplate根据excel生成属性类和对应方法(文本框,下拉框等等单 ...
- [iOS微博项目 - 2.3] - 用户取消对app的授权
github: https://github.com/hellovoidworld/HVWWeibo A.用户取消对app的授权 用户可以在微博网站上取消对某个应用(app)的授权 1.打开& ...