Boa 版本:
boa-0.94.13
交叉编译器版本:
arm-linux-gcc 4.1.2 arm-linux-gcc 4.3. x
操作系统平台:
Linux -- Red Hat mini2440光盘中的 , 貌似是 5.0的
开发板平台:
Arm -- TX2440A
说明:Boa 服务器的移植可分成两部分,一个是在 x86 平台上移植,即在虚拟机的
linux下,另一个是在arm平台上移植,即在开发板上的linux下,本手册的前四步,
都是在虚拟机上做移植,第五步是移植到发开板上。
一> 编译boa 程序
1. www.boa.org下载boa-0.94.13.tar.gz
2. 解压
3. 进入解压目录的 src文件夹,输入:#./configure
4. #make
编译会出错:
util.c: 100: 1: pasting “t” and “->” does not give a valid preprocessing
token make: [util.o] Error1
解决方法:
修改compat.h中的
#define TIMEZONE_OFFSET(foo) foo##->tm_gmtoff
为:
#define TIMEZONE_OFFSET(foo) foo->tm_gmtoff
错误2:
debian
:/home/a/boa-0.94.13/src# make
yacc
-d boa_grammar.y
make
: yacc: Command not found
make
:***[y.tab.c]Error 127
解决方法:
debian
:/home/a/boa-0.94.13/src# apt-get install bison
二> 修改配置文件 boa.conf
1. 建立/etc/boa 目录, 并复制 boa.conf 到/etc/boa 目录下,并按照以下步骤进
行修改。
2. 修改访问权限: User nobody 不要修改,因为我使用的是root权限否则运行会报错; 修改Group nogroup 为 Group 0
3. 设定日志目录:boa日志有两部分,Errorlog 和 AccessLog
一般情况下为/var/log/boa/error_log 和 /var/log/boa/access_log两个文件。所
以根据自己的情况情况设置日志目录:
ErrorLog /var/log/boa/error_log
AccessLog /var/log/boa/access_log
(注意:这里/var/log/boa目录必须为可写,否则会出项错误:log.c:73 – Unable to
dup2 the error log: Bad file r.)
在启动脚本里将var挂载成ramfs: mount –n –t ramfs ramfs /var
4. 设置html文件目录: DocumentRoot /var/www
5. 设置默认首页: DirectoryIndex index.html
6. 设置cgi脚本目录: 将
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin
修改为
ScriptAlias /cgi-bin/ /var/www/cgi-bin
这些目录可以自己修改,但是要和网页存放的目录一致
三> 根据第二步设置建立相关文件夹并放入文件:
1. 根据(第二.3步)的设置建立/var/boa 文件夹。
2. 根据(第二.4步)的设置建立/var/www 文件夹, 并在此目录下存放html文件(包
括index.html文件)。
3. 根据(第二.6 步)的设置建立/var/www/cgi-bin 文件夹, 并存放一些用来测试
的cgi脚本。
四> OK,运行 boa 程序。
进入boa的src目录 ./boa
然后查看/var/log/boa/error_log 文件是否正常,如果正常会告诉 你运行的端口 信息. 否则就是失败了
在windows 下通过http://192.168.1.230(虚拟机的IP地址)这种形式访问,进行
测试。