Ubuntu 10.04——boa服务器的搭建
声明:自从第一次发表博文不知不觉过去了好久了,非常抱歉没能把自己的东西分享出来,但是由于上家公司本月初裁员,所以致使学的新东西成了半成品,无奈又换了一家,目前已工作三周了,自己也很想写博文分享知识,但是学的东西太杂,有都是半成品,确实不知道以什么为切入点,目前这家公司最近一直在做项目,我想先一点点的写吧,虽然我的东西能在网上找到很多样本,但是我感觉有的不全,还是自己总结的东西比较靠谱,希望对大家有所帮助,如果有新问题,我会不断更新的,好了,废话不多说了。。。
Ubuntu 10.04配置boa服务器
一、下载boa源码(root权限下的命令行):
# wget http://www.boa.org/boa-0.94.13.tar.gz
解压:# tar zxvf boa-0.94.13.tar.gz
(解压前建议单独建立一个boa文件:# mkdir boa)
二、安装需要的工具:bison、flex;
(这两个工具我也没弄清楚具体干什么的,在网上查查只知道是什么语法解析器和扫描器,我看网上大部分说明都有这个步骤)
# apt-get install bison flex
三、生成Makefile文件:
# cd boa-0.94.13/src
# ./configure
四、为了保证make不出现错误的话必须修改一些文件:
(为了更方便了解以下步骤的操作目的,建议再打开一个终端,打开相应文件对比着看就明白了)
1、boa配置文件 boa.conf 的路径的设定:
此文件的路径应与src/defines.h 中SERVER_ROOT "/etc/boa" 的值一致:
# cd /etc/
# mkdir boa
# cp /home/qiang/share/boa/boa-0.94.13/boa.conf /etc/boa -R(前面是我的文件所在目录)
之后再回到boa/src下:# make
这时会报错:
util.c:100:1:error:pasting "t" and "->" does not give a valid preprocessing token
修改compat.h:
# vi compat.h(在编辑模式下:/foo##快速找到以下语句)
将 #define TIMEZONE_OFFSET(foo) foo##->tm_gmtoff 改为:
#define TIMEZONE_OFFSET(foo) foo->tm_gmtoff
修改boa.c:
# vi boa.c
将以下四行注释掉:
if(setuid(0) != -1)
{
DIE(”icky Linux kernel bug!”);
}
否则启动boa时会出现:
boa.c:226 - icky Linux kernel bug!No such file or directory!
(有的版本中没有这个提示,但是我的出现了,所以经过查找才得以解决)
# make
五、在启动src/boa前需修改配置文件:
# vi /etc/boa/boa.conf
1、修改 servername 去掉注释(#),修改User nobody 和 Group nogroup 改为 User 0 、Group 0;
2、定义的是web服务器的文件根目录,即设定的值 DocumentRoot 默认为 "/var/www"
# cd /var/
# mkdir www
# chmod 777 www
3、配置日志文件的目录及日志文件:
(1)错误报告 ErrorLog 默认位置:/var/log/boa/error_log
(2)访问报告 AccessLog 默认位置:/var/log/boa/access_log
# mkdir log/boa -p(/var目录下)
# chmod 777 log/boa -R
# touch error_log/touch access_log
(这两个文件可以帮助你查看后期操作游览器的访问状态信息)
4、cgi程序的存放:
# vi /etc/boa/boa.conf
将最后一行 ScriptAlias /cgi-bin /usr/lib/cgi-bin/ 改为:
ScriptAlias /cgi-bin /var/www/cgi-bin(用于存放.cgi文件)
(建议后期在web开发下自己创建www文件夹时创建cgi-bin文件夹,再后期运行时可直接将整个www文件下的文件全部cp过来)
启动boa服务器:
切换到初期解压的源码目录下: # cd src/
# ./boa
ps -e 查看是否存在 boa 进程,若无,则查看错误报告,若提示:
[23/Apr/2012:23:58:59 +0000] boa.c:194 -unable to bind:Address already in use
此句表示端口被占用,boa服务器默认的端口是 80 ,比如 ngix 服务器默认的端口也是 80 ,所以会存在这种情况的发生,为了避免这一错误,我们一般修改端口为8080:
# vi /etc/boa/boa.conf
将 Port 80 改为 Port 8080
此时再 ps -e 查看进程,若存在 boa 则证明成功!好了,kill掉进程重启一下进行测试吧!
六、测试程序:
在/var/www/下建立index.html文件:# vi index.html(没法插如图片,只能粘贴如下)
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=gb2312" />
<title>This is a test program!</title>
</head>
<body>
<h1>This is a test!</h1>
<br />
<br />
<a href="./cgi-bin/test.cgi">To cgi page!</a>
</body>
</html>
# mkdir /var/www/cgi-bin -R
# cd cgi-bin
# vi test.c
include <stdio.h>
int main()
{
printf("Content-type:text/html\n\n");// 这句必须存在;
printf("<html><body>");
printf("<font style=\"color:red;font-size:30px;\">Hello CGI!</font><br />");
printf("<a href=\"../index.html\">return index.html</a>");
printf("</body></html>");
return 0;
}
# gcc test.c -o test.cgi
然后打开游览器,输入虚拟机地址或127.0.0.1:8080(端口号已改),这样就能看到刚刚写的页面了。。。
Ubuntu 10.04——boa服务器的搭建的更多相关文章
- [转]ubuntu 10.04下的配置tftp服务器
[转]ubuntu 10.04下的配置tftp服务器 http://www.cnblogs.com/geneil/archive/2011/11/24/2261653.html 第1步:安装tftp所 ...
- Ubuntu 10.04下架设流媒体服务器
Ubuntu 10.04下架设流媒体服务器 个人建议:使用DarwinStreamingSrvr5.5.5,因为DarwinStreamingSrvr6.0.3安装过程中有很多问题需要解决! 目前主流 ...
- 用zd1211+Ubuntu 10.04实现的AP
[日期:2010-06-24] zd1211 在Ubuntu 10.04 LTS上的master mode 的问题解决之后,理论上就可以把zd1211 USB网卡用来做一个AP了,实际上还有几个问 ...
- Ubuntu 10.04 32位桌面版+OpnERP 6.1.1
1.准备环境: sudo apt-get install denyhosts sudo apt-get update sudo apt-get dist-upgrade sudo adduser ...
- ubuntu 10.04 安装qt 5.0.2
转自ubuntu 10.04 安装qt 5.0.2 从qt project网站下载下来最新的qt5.0.2套件,发现是个.run文件,添加x属性,然后直接sudo ./****.run, 提示 /l ...
- 【转】Ubuntu 10.04 LTS 的窗口控制按钮从左上角调整到右上角
原文网址:http://www.linuxidc.com/Linux/2010-05/26111.htm 升级到Ubuntu 10.04后最大的问题,是最小最大和关闭按钮,放到了左边.这叫Ubuntu ...
- 解决:“Ubuntu 10.04 LTS _Lucid Lynx_ - Release i38...
编译android源码,找不到g++.通过apt-get下载时候,总是提示“Ubuntu 10.04 LTS _Lucid Lynx_ - Release i386 (20100429)” 的盘片插入 ...
- Using iSCSI On Ubuntu 10.04 (Initiator And Target)
This guide explains how you can set up an iSCSI target and an iSCSI initiator (client), both running ...
- Ubuntu 10.04下如何查看分区的UUID
Ubuntu 10.04通过UUID来区分各个磁盘分区,在/etc/fstab配置文件中就是通过UUID来挂载分区的.UUID,英文全称为:Universally Unique Identifier. ...
随机推荐
- Spring Boot (十): Spring Boot Admin 监控 Spring Boot 应用
Spring Boot (十): Spring Boot Admin 监控 Spring Boot 应用 1. 引言 在上一篇文章<Spring Boot (九): 微服务应用监控 Spring ...
- springcloud -- sleuth+zipkin整合rabbitMQ详解
为什么使用RabbitMQ? 我们已经知道,zipkin的原理是服务之间的调用关系会通过HTTP方式上报到zipkin-server端,然后我们再通过zipkin-ui去调用查看追踪服务之间的调用链路 ...
- Docker 本地私有仓库搭建:
Docker 本地私有仓库搭建: 创建数据卷目录: mkdir /home/sky/registry 用registry镜像启动容器: docker run -d -p 5000:5000 -v /h ...
- Future类型的连锁的运用
Future类型的连锁的运用: 洗脸 刷牙 吃早饭 看电视 出门 串行: import scala.concurrent.{Await, Future} import scala.util.{Fail ...
- Senparc.Weixin.MP SDK 微信公众平台开发教程(二十二):在 .NET Core 2.0/3.0 中使用 MessageHandler 中间件
概述 在 <Senparc.Weixin.MP SDK 微信公众平台开发教程(六):了解MessageHandler> 中我们已经了解了 MessageHandler 的运行原理和使用方法 ...
- string字符串转数组
/** * THis_is_a_cat * This Is A Cat * * Cat A Is This * @author Administrator * */ public class Test ...
- 后门免杀工具-Backdoor-factory
水一水最近玩的工具 弄dll注入的时候用到的 介绍这款老工具 免杀效果一般..但是简单实用 目录: 0x01 backdoor-factory简介 0x02 特点功能 0x03 具体参数使用 PS: ...
- [LUOGU1272] 重建道路 - 树形背包
题目描述 一场可怕的地震后,人们用N个牲口棚(1≤N≤150,编号1..N)重建了农夫John的牧场.由于人们没有时间建设多余的道路,所以现在从一个牲口棚到另一个牲口棚的道路是惟一的.因此,牧场运输系 ...
- opensuse下安装redis
1.安装gcc zypper install gcc 2.解压,安装到指定路径 sudo tar xzf redis-4.0.1.tar.gzcd redis#安装到指定目录中sudo make PR ...
- 第三方软件 vnc提权
通过读取注册表十进制数 将得出的十进制数去掉第一个数其他转换成16进制 破解16进制数得到密码 vncx.exe -W 回车 输入16进制数 连接vnc 读取 vncx4.exe -w 8个数 自动破 ...