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

    技术2022-06-26  51

    移植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)