乐趣区

boa移植

关于 boa 移植这方面我有一些自己的见解,希望大家看了之后可以多多采纳。
boa 制作:
1. 准备开发环境:
(1)VMware 10.0
(2)Ubuntu 14.04 64bit
(3)Sail335 开发板
(4)交叉编译器:gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux
2. 源码:
(1)Boa 源码:boa-0.94.13.tar.gz
(2)Boa 测试页面:index.html
3. 移植过程:
(1)移植 Boa

      ①解压缩  
          #tar zxvf boa-0.94.13.tar.gz
      ②进入 boa-0.94.13 目录
           #cd boa-0.94.13
      ③进入 src 目录,在 src 目录下运行./configure
      ④生成 Makefile,修改 Makefile 的编译器选项 
          #gedit Makefile
          CC = gcc    改成    CC = arm-linux-gnueabihf-gcc 
          CPP = gcc -E   改成   CPP = arm-linux-gnueabihf-gcc -E
      ⑤添加交叉编译器临时环境变量
      #export PATH=/usr/local/arm/gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux/bin/:$PATH
      ⑥修改文件 src/boa.c,将 boa.c 文件中以下几行判断去掉即可。if (setuid ( 0) != - 1 ) {DIE ( "icky Linux kernel bug!"); 
      }
      ⑦ 修改文件 src/compat.h
      #define TIMEZONE_OFFSET(foo) foo##->tm_gmtoff    
      改成    
      #define TIMEZONE_OFFSET(foo) foo->tm_gmtoff
      ⑧把 src 文件夹下的 config.c 里的 if(!server_name){..........}(大概在 266 行到     286 行之间)注释掉
      ⑨修改 src/log.c   注释掉
       if (dup2(error_log, STDERR_FILENO) == -1) {DIE("unable to dup2 the   error log"); 
       }
       ⑨编译代码
          #make

4. 运行环境搭建
(1)在开发板中创建以下目录

      /etc/boa    /var/logs    /var/logs/boa    /var/www    /var/www/cgi-bin
      #mkdir -p /etc/boa
      #mkdir -p /var/logs
      #mkdir -p /var/logs/boa
      #mkdir -p /var/www
      #mkdir -p /var/www/cgi-bin

(2)拷贝、修改文件

      拷贝 boa-0.94.13/boa 和 boa-0.94.13/boa_indexer 到 /usr/bin。拷贝 Ubuntu12.04 的 /etc/mime.type 到 开发板 /etc
      拷贝 boa-0.94.13/boa.conf 到 /etc/boa
      修改 /etc/boa/boa.conf
          #ServerName www.your.org.here  改为 ServerName www.dianyu.org
          ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ 改为 ScriptAlias /cgi-bin/ /var/www/cgi-bin/
          AccessLog /var/log/boa/access_log 改为 AccessLog /var/logs/boa/access_log
         ErrorLog /var/log/boa/error_log 改为  ErrorLog /var/logs/boa/error_log
      拷贝 index.html 到 /var/www

5. 测试与运行

      连接好 PC 与开发板网卡 0(eth0)的网络连接
      将开发板 eth0 网卡设置 ip 为 192.168.1.123
      #ifconfig eth0 192.168.1.123 up
      测试开发板网卡 0 与 PC 的网络连接
      #ping PC 的 IP 地址
      运行 Boa
      #boa&
      在 PC 上打开浏览器,在浏览器中输入 192.168.1.123, 查看 boa 显示的 index.html(这个文件名称和 boa.conf 文件中的 DirectoryIndex index.html 中的 index.html 要一样)

按照以上的方法,我们就可以操作 boa 移植了,大家实践一下,如果有什么问题希望大家可以指正。

退出移动版