您的位置:首页 > 其它

boa 移植与配置 [2013-12-30更新]

2013-12-30 11:35 295 查看
编译环境:Ubuntu 10.04
arm-linux-gcc版本:4.5.3

- 移植步骤

1. 安装所需的软件包

# apt-get -y install byacc flex

---------------------------------------------------

2. 下载并解压最新源码包

官网:http://www.boa.org/

# tar -zxvf boa-0.94.13.tar.gz -C /usr/src/

---------------------------------------------------

3. 编译

# cd /usr/src/boa-0.94.13/src/
# ./configure

# vi Makefile +31
CC = arm-linux-gcc               // 修改31行
CPP = arm-linux-g++ -E           // 修改32行

# vi compat.h +120
修改

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

为(去掉foo后面的##)

#define   TIMEZONE_OFFSET(foo)  foo->tm_gmtoff

# vi boa.c +225
注释掉

if  (setuid(0)  !=  -1)  {

DIE("icky  Linux  kernel  bug!");

}

即修改为

#if   0

if  (setuid(0)  !=  -1)  {

DIE("icky  Linux  kernel  bug!");

}

#endif

# make
# arm-linux-strip boa
# arm-linux-strip boa_indexer

---------------------------------------------------

4. 参数配置

# vi ../boa.conf

(仅列出部分比较重要的参数)
Line 48: User root

Line 49: Group root

Line 62: ErrorLog /var/log/boa/error_log
Line 74: AccessLog /var/log/boa/access_log
Line 94: ServerName www.your.org               // 必须取消原有的注释,否则boa无法启动
Line 111: DocumentRoot /var/www
Line 123: DirectoryIndex index.html
Line 130: DirectoryMaker /usr/sbin/boa_indexer

Line 155: MimeTypes /etc/mime.types

Line 164: CGIPath /bin:/usr/bin:/usr/local/bin
Line 193: ScriptAlias /cgi-bin/ /var/www/cgi-bin/

! ServerName 可任意修改
! DocumentRoot 指定目标板上用于存放html文件的根目录

---------------------------------------------------

5. 测试

! 文件放置的路径必须和配置文件指定的路径一致

(1) 拷贝boa.conf到目标板的/etc/boa目录;拷贝mime.types到目标板的/etc目录

(2) 拷贝boa、boa_indexer到目标板的/usr/sbin目录

(3) 在目标板创建所需的目录:
    # mkdir -p /var/www/cgi-bin
    # mkdir /var/log/boa

(4) 在目标板的/var/www目录下创建index.html,文件内容如下:
<html>

    <head><h3>BOA Test Page</h3></head>

    <body>

        Hello, BOA!

        <form action=/cgi-bin/test.cgi method=POST>

            <input type=submit name="OK" value="ok">

        </form>

    </body>

</html>

(5) 在目标板的/var/www/cgi-bin目录下创建test.cgi,文件内容如下
#!/bin/sh

echo Content-type: text/plain

echo

echo `/bin/date`

! 创建完成后赋予该文件可执行权限:
# chmod a+x /var/www/cgi-bin/test.cgi

# boa     // 启动boa
! boa启动成功后不会有任何提示,此时可在浏览器输入目标板的IP地址,效果如下图所示:



点击“ok”按钮后效果如下:



---------------------------------------------------

参考资料:http://blog.chinaunix.net/uid-22609852-id-3506504.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: