关闭

《华清远见学习手记》之 移植Boa网页服务器到FS2410

标签: 服务器timezonemakefiledescriptorservervmware
1539人阅读 评论(1) 收藏 举报
分类:

移植Boa网页服务器到FS2410 

 

【编译环境】ubuntu 8.10 + Vmware + windows xp

【目标机】FS2410

【交叉编译器】arm-softfloat-linux-gnu-gcc


1. 从http://www.boa.org 下载 boa-0.94.13.tar.gz

 

2. 解压之后进入src ,执行 ./configure 生成 Makefile。

 

3. 修改 Makefile :

          CC= arm-softfloat-linux-gnu-gcc

          CPP= arm-softfloat-linux-gnu-gcc -E

 

4. make,若出现错误:

    util.c:100:1: pasting "t" and "->" does not give a valid preprocessing token

    修改 src/compat.h ,找到#define TIMEZONE_OFFSET(foo) foo##->tm_gmtoff,

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

 

5. 再次make ,编译通过,生成的boa有184KB。

 

6. 用arm-softfloat-linux-gnu-strip boa 给 boa “减肥”,减后仅有60KB。

 

7. 找到源码目录下的boa.conf主机根目录 /etc/mime.types

 

8. 修改boa.conf文件:

    Group  0

    User    nobody

    DocumentRoot    /web

    DocumentIndex   index.html

    ScriptAlias      /cgi-bin/        /web/cgi-bin

 

9. 在目标板上:mkdir /etc/boa ,将boa.conf 复制到该目录下,并将mime.types 复制到/etc 下。

 

10. 在目标板上 :mkdir  /var/log/boa  用于记录日志,mkdir /web/cgi-bin 用于存放cgi脚本。

 

11. 找一个可用的html文件,改名为index.html 放入到目标板的/web下,以作测试用

 

12. 将第6步生成的boa复制到目标板的/bin目录下, 执行boa,若出现错误:

      log.c:73-unable to dup2 the error log:Bad file descriptor

      修改 src/log.c文件,注释掉:

      /*if(dup2(error_log,STDERR_FILENO)==-1)

       {

            .....

       }*/

      (为什么会出现这个错误?没有去深究,如果你知道请告诉我:boat_man@163.com)

      重做5、6、12步。

 

13. 执行boa成功,显示:

       boa: server version Boa/0.94.13

       boa: server build Jan 8 2011 at 12:09:40

       boa: starting server pid=302 port 80

 

14. 在IE/firefox测览器地址栏输入http://192.168.2.100 (我的目标板的IP),就可以看到index.html的内容了!

 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:59637次
    • 积分:920
    • 等级:
    • 排名:千里之外
    • 原创:30篇
    • 转载:13篇
    • 译文:0篇
    • 评论:17条
    最新评论