boa移植

参考http://www.cnblogs.com/chenchenluo/p/3576129.html

1. 从http://www.boa.org/下载BOA Version(0.94.13)
2. 解压 tar xzvf boa-0.94.13.tar.gz
3. 进入boa-0.94.13/src 目录
4. 修改compat.h 中第120行,#define TIMEZONE_OFFSET(foo) foo##->tm_gmtoff 改为 #define TIMEZONE_OFFSET(foo) foo->tm_gmtoff
5. 将225~227这3行代码注释掉
    if (setuid(0) != -1) {
       DIE(”icky Linux kernel bug!”);
    }
    否则,但以root权限启动boa服务器的时候,会出现以下错误:boa.c:226 - icky Linux kernel bug!:
6. 
CC=/usr/local/arm/arm-xilinx/lin/bin/arm-xilinx-linux-gnueabi-gcc CXX=/usr/local/arm/arm-xilinx/lin/bin/arm-xilinx-linux-gnueabi-g++ CFLAGS="-g -O2" ac_cv_func_setvbuf_reversed=no ./configure --host=arm-xilinx-linux-gnueabi, 如果不添加ac_cv_func_setvbuf_reversed=no则会出现如下错误:
checking whether setvbuf arguments are reversed... configure: error: can not run test program while cross compiling
7. 修改boa.conf
   a. 修改User、Group为 User root     Group root
   b. 修改DocumentRoot为 用户目录 /mnt/flash/boa
   c. 修改ScripAlias为 /cgi-bin/ /mnt/flash/boa/
   d. 将#ServerName  www.your.org.here改为 ServerName  www.your.org.here,即去掉#。
      否则,启动时出现 gethostbyname:: Success,且启动失败
8. 创建 /var/log/boa目录。 mkdir -p /var/log/boa,如果没有日志目录,运行时会出现如下错误:

    [01/Jan/1970:00:02:07 +0000] log.c:73 - unable to dup2 the error log: Bad file descriptor
9. 确定 /etc目录下有mime.types文件,没有则从其他Linux系统中拷贝一份。
10. 运行时, ./boa -c /mnt/flash/boa ,启动/mnt/flash/boa为boa.conf文件的目录。

你可能感兴趣的:(boa,boa,移植,linux,交叉编译)