arm-linux的boa服务器移植

前期准备

  1. 下载boa-0.94.13.tar.gz
  2. 配置开发板对应的交叉编译链

编译boa

  1. 安装工具apt-get install bisonapt-get install flex,已安装可忽略
  2. 输入命令 ./configure --host=arm-linux
  3. 修改Makefile,vim Makefile,设置参数CC=arm-none-linux-gnueabi-gcc,CPP=arm-none-linux-gnueabi-gcc -E (根据自己的交叉编译链设置)
  4. vim compat.h,把以下语句
#define TIMEZONE_OFFSET(foo) foo##->tm_gmtoff

改为

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

vim log.c,注释下面语句

if (dup2(error_log, STDERR_FILENO) == -1) {
                         DIE("unable to dup2 the error log");
                   }

vim boa.c,注释以下语句

if (passwdbuf == NULL) {
        DIE(”getpwuid”);
        }
        if (initgroups(passwdbuf->pw_name, passwdbuf->pw_gid) == -1) {
        DIE(”initgroups”);
        }

if (setuid(0) != -1) {
                        DIE(”icky Linux kernel bug!”);
        }
  1. 编译make,编译完成后会在当前目录下生成一个boa文件,使用arm-none-linux-gnueabi-strip boa为boa瘦身 (非必要,可以根据自身需要)

  2. 配置boa-0.94.13/下的boa.conf文件,vim boa.conf,设置参数如下
    (1)Group 0
    (2)User 0
    (3)ScriptAlias /cgi-bin/ /var/www/cgi-bin/
    (4)DoucmentRoot /var/www
    (5)把#ServerName www.your.org.here的注释去掉
    (6)ErrorLog /var/log/boa/error_log
    (7)AccessLog /var/log/boa/access_log

  3. 配置开发板环境,以下命令在开发板终端中输入
    #mkdir /etc/boa
    #mkdir /var/www/cgi-bin/
    #mkdir /var/log/boa/

    (根据boa.conf设置)

移植boa

  1. 下载编译好的boa到开发板的/usr/bin
  2. 下载配置好的boa.conf到开发板的/etc/boa下
  3. 复制ubuntu下的/etc/mime.types到开发板的/etc下

测试boa

  1. 把测试的index.html放到开发板的/var/www下,在浏览器输入开发板IP地址即可成功访问到index.html网页
  2. 测试cgi,写一个测试程序test.c如下
#include<stdio.h>

void main(void)
{
      printf("Content-Type:text/html;charset=gb2312\n\n");
      printf("<html>\n");
      printf("<head>\n");
      printf("</head>\n");
      printf("<body>\n");
      printf("<p>Hello World!</p>");
      printf("</body>\n");
      printf("</html>\n");
}

使用交叉编译器编译arm-none-linux-gnueabi-gcc test.c -o test.cgi -static,下载到板子的/var/www/cgi-bin下,通过IP+/cgi-bin/test.cgi,可访问cgi程序,正常会打印出Hello World!
(关于cgi中无法显示中文,可以更改charset=gb2312为charset=utf-8)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值