boa是一个web服务器,注意本文是在root权限操作的,如果不是root记得把相应文件更改权限,例如可以用“chmod -R 777文件”
本文都是直接配置好在编译,省去遇到问题的时候再解决。直接一步到位。
下面说明安装步骤:
1官方下载boa源码:http://www.boa.org/
把源码放到Ubuntu的的里面
2个解压蟒源码到某目录:
$ tar zxvf boa-0.94.13.tar.gz
3安装依赖包,编译需要:
$ sudo apt-get install bison flex byacc m4
4进入源码目录:
5修改compat.h文件
找到#define TIMEZONE_OFFSET(foo)foo ## - > tm_gmtoff
修改成
6修改boa.c,注释掉以下几行:
7修改log.c,注释掉以下几行:
8生成Makefile文件:
9修改Makefile:
若是86构架上的Linux的无需修改;
若是手臂构架上的Linux中,则进行以下修改:
将CC = GCC,改成CC =臂-Linux的GCC(其他版本的替换即可)
将CCP = gcc -E,改成CCP = arm-linux-gcc -E
10在src目录下创建4个文件夹:
网页存放网页目录,日志存放日志目录,仓存放使出来的二进制文件
进入网络文件夹
创建存放CGI的文件目录
进入等文件夹
创建存放配置文件boa.conf的目录,不过还需要在defines.h指定
11若要修改配置文件boa.conf的存放位置,则需修改定义.h,根据自己存放的位置去修改,例如我存放的位置如下图:
12将boa自带的boa.conf复制到src / etc / boa /目录下:
13配置boa.conf文件,打开boa.conf:
#DirectoryMaker / usr / lib / boa / boa_indexer#注释掉,提高访问速度
#ErrorLog / var / log / boa / error_log#注释掉,关闭错误日志
#AccessLog /var/log/boa/access_log #注释掉,关闭访问日志
添加以下内容:
AddType text/plain txt
AddType image/gif gif
AddType text/html html
AddType text/html htm
AddType text/xml xml
AddType image/jpeg jpe
AddType image/jpeg jpeg
AddType image/jpeg jpg
AddType image/x-icon ico
14 进入web文件夹,创建:
15 回到src文件夹下:
boa目录boa-0.94.13/src/下面会多出两个可执行的二进制文件boa和boa_indexer
16 将此二进制文件boa和boa_indexer放到bin文件夹
17 回到web文件夹,编写测试文件:
<HTML>
<HEAD>
<TITLE>Ulord</TITLE>
</HEAD>
<BODY>
Hello,Ulord!
</BODY>
</HTML>
18 保存,退出回到src文件夹下,运行boa:
19 根据自己搭建的虚拟机IP地址,在浏览器输入IP地址,就可以显示出index.html的页面
PS:Boa服务器boa.conf配置参数说明:
Port:boa服务器监听的端口,默认的端口是80。如果端口小于1024,则必须是root用户启动服务器。
Listen:绑定的ip地址。不使用这个参数时,将绑定所有的地址。
User:连接到服务器的客户端的身份,可以是用户名或UID。(为什么非要指定为文件的所有者才能访问网页呢?nobody用户也有读权限啊)
Group:连接到服务器的客户端的组,可以是组名或GID。
ServerAdmin:服务器出故障时要通知的邮箱地址。
ErrorLog:指定错误日志文件。如果路径没有以“/”开始,则相对于ServerRoot路径。没有配置时默认的文件是/dev/stderr。若不想记录日志,指定文件为/dev/null。
AccessLog:设置存取日志文件,与ErrorLog类似。
UseLocaltime:设置使用本地时间,使用UTC时注释这个参数。这个参数没有值。
VerboseCGILogs:在错误日志文件中记录CGI启动和停止时间,若不记录,注释这个参数。这个参数没有值。
ServerName:指定服务器的名称,当客户端使用gethostname + gethostbyname时返回给客户端。
VirtualHost:虚拟主机开关。使用此参数,则会在DocumentRoot设定的目录添加一个ip地址作为新的DocumentRoot来处理客户端的请求。如DocumentRoot设置为/ var / www,则http:// localhost /则转换成/var/www/127.0.0.1/,若注释此参数,则为/无功/网络/。
的DocumentRoot:HTML文件的根目录(也就是网站的目录)。
的UserDir:指定用户目录。
的DirectoryIndex:指定预生成目录信息的文件,注释此变量将使用DirectoryMaker变量这个变量也就是设置默认主页的文件名。
DirectoryMaker:指定用于生成目录的程序,注释此变量将不允许列目录。
DirectoryCache:当DirectoryIndex的文件不存在,而DirecotryMaker又被注释掉时,将列出这个参数指定目录给客户端。
KeepAliveMax:每个连接允许的请求数量。如果将此值设为“0”,将不限制请求的数目。
KeepAliveTimeout的:在关闭持久连接前等待下一个请求的秒数(秒)。
MIME类型:设置包含MIME类型信息的文件,一般是/etc/mime.types。
缺省的类型:默认的MIME类型类型,一般是text / html的。
CGIPath:相当于给CGI程序使用的$ PATH变量。
SinglePostLimit:一次POST允许最大的字节数,默认是1MB。
AddType:增加MimeType没有指定的类型,例:AddType类型扩展名[extension ...]。要使用cgi,必须添加cgi类型:AddType application / x-httpd-cgi cgi
重定向:重定向文件
别名:指定路径的别名。
ScriptAlias指令指令:指定脚本路径的虚拟路径。