好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

boa移植记录

写在前面 : boa 相关目录 : 1. boa.conf 的存放目录 : 默认 boa.conf 是在 /etc/boa.conf 目录的, boa 运行时会自动去找 /etc/bon.conf 文件。 这个设定是在 define.h 文件中定义的,可在编译之前进行修改。 2. log 目录 : 分为 Errorlog 和 AccessLog 两个

写在前面 : boa 相关目录 :

1. boa.conf 的存放目录 :

默认 boa.conf 是在 /etc/boa.conf 目录的, boa 运行时会自动去找 /etc/bon.conf 文件。

这个设定是在 define.h 文件中定义的,可在编译之前进行修改。

2. log 目录 : 分为 Errorlog 和 AccessLog 两个目录,可在 boa.conf 中修改。

如 :

ErrorLog /var/log/boa/error_log

AccessLog /var/log/boa/access_log

3. html 文件存放目录 , 可在 boa.conf 文件中修改。

如 : DocumentRoot /var/www

4. cgi 脚本存放目录 , 可在 boa.conf 文件中修改。

如 : ScriptAlias /cgi-bin/ /var/www/cgi-bin

5. mime.types 存放目录 , 可在 boa.conf 文件中修改。

如 : MimeTypes /etc/mime.types

=======================================================

移植 boa 服务

=======================================================

一 . 编译 boa 程序

1. www.boa.org 下载 boa-0.94.13.tar.gz

2. 解压 : tar –zxvf boa-0.94.13.tar.gz

3. 进入 boa-0.94.13/src 目录, 执行 ./configure

4. make

编译时用 2.95.3 以上的版本会出错:

util.c: 100: 1: pasting [t] and [->] does not give a valid preprocessing token make: [util.o] Error1

解决方法 :

方法 1>. 修改 compat.h 中的

#define TIMEZONE_OFFSET(foo) foo## ->tm_gmtoff

为:

#define TIMEZONE_OFFSET(foo) foo->tm_gmtoff

方法 2>. 改用 2.95.3 版本的编译器。

二 . 修改配置文件 boa.conf

1. 建立 /etc/boa 目录 , 并复制 boa.conf 到 /etc/boa 目录下,并按照以下步骤进行修改。

2. 修改访问权限: 修改 User nobody 为 User 0 ; 修改 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.)

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 程序。

在 windows 下通过 http://172.20.223.151 这种形式访问,进行测试。

五 . 移植到开发板

1>. ( 第一 .3 步 ) 操作完成之后,修改 Makefile 文件 :

将 :

CC = gcc

CPP = gcc -E

该为 :

CC = arm-linux-gcc

CPP = arm-linux-gcc -E

make 即可。

2>. 拷贝 PC 上 /etc/mime.types 文件到开发板 /etc 目录下

( 或者将 boa.conf 文件中 MimeTypes /etc/mime.types 修改为 : MimeTypes /dev/null )

六 . 常见错误:

1>. 错误 1: gethostbyname:: No such file or directory

解决办法 : 修改 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]

查看更多关于boa移植记录的详细内容...

  阅读:26次