boa发布网站
(1)解压软件包,安装源代码。
$tarxzvfboa-0.94-13.tar.gz?
(2)编译源代码
进入src目录,编译源代码。
解压后src目录下有Makefile.in文件,但没有Makefile文件,为了编译源代码,需要先生成Makefile文件,在src目录下运行configure命令即可。
$./configure?
(3)修改Makefile文件
Makefile文件是针对X86平台的,将Makefile的31~32行内容:
CC=gcc
CPP=gcc–E
注:如果是ARM平台的话,应用交叉编译工具:
CC=arm-linux-gcc
CPP=arm-linux-gcc–E
然后输入make命令进行编译,在src目录下就会生成boa文件。
$make
出错解决办法:
util.c:100:1:error:pasting"t"and"->"doesnotgiveavalidpreprocessingtoken
make:[util.o]Error1
解决方法:
修改src/compat.h
找到
#defineTIMEZONE_OFFSET(foo)foo##->tm_gmtoff
修改成
#defineTIMEZONE_OFFSET(foo)(foo)->tm_gmtoff
然后
/boa-0.94.13/src#makeclean
/boa-0.94.13/src#make
(4)修改boa.c文件
将src下boa.c的第226行注释掉,否则会出现“ickyLinuxkernelbug!”的错误。
225 if(setuid(0)!=-1){
226 // DIE(“ickyLinuxkernelbug!”);
227 }
(5)Boa的配置
在boa源码目录下有一个boa.conf可以对其作如下修改:
Port80
User0
Group0
DocumentRoot/home/boa/www
KeepAliveMax1000
KeepAliveTimeout10
MimeTypes/etc/mime.types
DefaultTypetext/plain
DirectoryIndexindex.html
CGIPath/bin:/usr/bin:/usr/local/bin
ScriptAlias/cgi-bin//usr/lib/cgi-bin/
解释说明:
#监听的端口号,缺省都是80,一般无需修改
Port80
#作为哪个用户运行,即它拥有该用户的权限,在这里设置为0
User0
#作为哪个用户组运行,即它拥有该用户组的权限,在这里设置为0
Group0
#非常重要,HTML文档的主目录。如果没有则从服务器的根路径开始。
DocumentRoot/home/boa/www
#如果收到一个用户请求的话,在用户主目录后再增加的目录名
UserDirpublic_html
#HTML目录索引的文件名,也是没有用户只指明访问目录时返回的文件名
DirectoryIndexindex.html
#一个连接所允许的HTTP持续作用请求最大数目,注释或设为0都将关闭HTTP持续
#作用
KeepAliveMax1000
#HTTP持续作用中服务器在两次请求之间等待的时间数,以秒为单位,超时将关
#闭连接
KeepAliveTimeout10
#避免使用mime.types文件,此时需要用AddType在本文件里指明
MimeTypes/etc/mime.types
#文件扩展名没有或未知的话,使用的缺省MIME类型
DefaultTypetext/plain
#提供CGI程序的PATH环境变量值
CGIPath/bin:/usr/bin:/boa/www/cgi-bin/
#将文件扩展名和MIME类型关联起来,和mime.types文件作用一样。如果用
#mime.types文件,则注释掉,如果不使用mime.types文件,则必须使用
AddTypeapplication/x-httpd-cgicgi
#为路径加上别名
Alias/doc/usr/doc
#非常重要,指明CGI脚本的虚拟路径对应的实际路径。一般所有的CGI脚本都要#
放在实际路径里,用户访问执行时输入站点+虚拟路径+CGI脚本名
ScriptAlias/cgi-bin//boa/www/cgi-bin/
(6)发布网站
在home目录下建/boa/www文件夹,将index.html文件放到该文件夹中。将boa.conf文件放在boa目录下。
在home目录写启动boa的shell脚本。
vistartboa.sh
#!/bin/sh
ifconfigeth0192.168.0.115
echo""
echo"boaserverstart"
/home/boa/boa-c/home/boa&
(7)访问网页
执行startboa.sh
./startboa.sh
打开浏览器,在地址栏输入192.168.0.115,即可访问到index.html网页。
|
|