win7 系统  开发板:mini2440

虚拟机:ubuntu12.04

准备工作:确保主机与开发板之间能够正常通信,即能够ping通,具体的操作课参考我上一篇随笔。

1.首先从 http://www.boa.org/ 下载boa的源码,并将其加压出来

2.生成makefile

进入到boa的src文件夹内,运行./configure

修改Makefile文件,如下所示:

然后运行make,这个时候有可能报错,常见的两种错误情况是:

make: yacc:命令未找到
       make: *** [y.tab.c] 错误 127

make: lex:命令未找到
       make: *** [lex.yy.c] 错误 127

这时候需要安装两个工具bison 和 flex

sudo apt-get install bison flex

3.修改src下的compat.h文件

找到

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

修改成

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

否则会出现错误:

util.c:100:1: error: pasting "t" and "->" does not give a valid preprocessing token make: *** [util.o] 错误 1

最后运行make命令,即可生成一个boa可执行文件。

4.将生成的boa文件下载到你开发板的根目录下,我的是mini2440,我下载到板子上的目录为/opt/Qtopia/bin/  修改权限,应该也可以直接下到/bin/文件的下面,我没有尝试过,读者可以自己尝试。

5.修改配置boa.conf文件

首先在开发板的执行

mkdir -p /etc/boa

可以将boa-0.94.13文件夹下的boa.conf文件直接拷贝至新建立的boa文件夹下

打开boa.conf文件,修改以下内容:

Group nogroup 改成 Group 0

#ServerName www.riwen.com 将这行的注释去掉即:ServerName www.riwen.com 后面这个名字可以自己定义

否则会出现错误“gethostbyname::No such file or directory”

将ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/  修改成

ScriptAlias /cgi-bin/ /var/www/cgi-bin/

然后保存退出。

boa.conf文件里面的其他的代码的意思,读者可以自行网上搜索,也可以自己试着修改,看看最后会不会出现什么错误

6.建立相关的文件夹

在中断运行以下命令

mkdir -p /var/log/boa     这里存放boa服务器运行的相关信息,在运行时会产生access_log 和error_log两个文件,errr_log会打印出boa运行时所产生的错误信息。

mkdir -p /var/www     这里存放相应的页面即html文件

mkdir -p /var/www/cgi-bin     这里存放cgi程序

完成以上动作,就可以在运行boa

7.运行boa

进入到boa的文件下输入./boa

这个时候最有可能遇到的问题就是提示:boa.c:194 - unable to bind: Address already in use

如果没有看到任何信息:可以运行cat /var/log/boa/error_log 命令查看。因为默认的boa.conf文件端口设置是80,我们在开发板修改boa.conf文件的端口为8080,或者其他未被使用的端口,保存退出

如果boa启动成功,将会打印出如下信息

8.测试boa

静态测试:在/var/www/文件夹内放入index.html文件,可以自己写个很简单的网页

在地址栏输入:192.168.1.230:8088 然后回车,端口地址以自己的设的为准,接着你就能在主机的浏览器上显示index.html的内容了。

如下所示:

这是我自己写的简单页面,在下一篇帖子要讲的内容。

动态测试:将boa-0.94.13文件夹下examples下的cgi-test.cgi拷贝到开发板/var/www/cgi-bin/文件夹下

然后再地址栏输入http://192.168.1.230:8088/cgi-bin/hellocgi 回车,将会显示如下页面

到这里,恭喜您,boa服务器的移植已经成功了!

总结:

我在开发板上建立的文件夹:/var/www   /var/log/boa 在我重启开发板之后这些文件夹全部消失了,但是我在其他目录建立的文件夹并没有消失,

很奇怪,所以每次我都准备好备份。上网查找资料,也没查出什么结果,如果有谁知道的话,请告知一声,感激不尽啊。

基于mini2440的boa服务器移植的更多相关文章

  1. Boa服务器移植

    Boa是一种非常小巧的Web服务器,其可执行代码只有大约60KB左右.作为一种单任务Web服务器,Boa只能依次完成用户的请求,而不会fork出新的进程来处理并发连接请求.但Boa支持CGI,能够为C ...

  2. 嵌入式boa服务器移植

    开发板:EDUKIT-III实验箱,S3C2410+LINUX2.4,实验箱随箱光盘提供的Zimage,nor flash启动. 主机:ubnutn10.4LTS,arm-linux-gcc 2.95 ...

  3. 基于mjpg-streamer网络视频服务器移植

    MJPG简介: MJPG是MJPEG的缩写,但是MJPEG还可以表示文件格式扩展名. MJPEG 全名为 "Motion Joint Photographic Experts Group&q ...

  4. 基于mini2440的Tslib的移植

    软件平台: win7系统,虚拟机ubuntu12.04 mini2440开发板 tslib是电阻式触摸屏用于校准的一个软件库,是一个开源的程序,能够为触摸屏驱动获得的采样提供诸如滤波.去抖.校准等功能 ...

  5. Boa服务器在ARM+Linux上的移植

    下面给大家介绍一下Boa服务器移植的具体操作步骤,希望能够有帮助. 环境        主机:ubuntu8.10        交叉工具链:gcc-3.4.5-glibc-2.3.6         ...

  6. 在嵌入式Linux系统(OK6410)中移植Boa 服务器

    OK6410的Boa服务器移植: <一> Boa的编译 1. 从 www.boa.org 下载 Boa 服务器的最新版:boa-0.94.13.tar.gz. 2. 解压:tar xzf ...

  7. Boa服务器编译移植

    Boa服务器移植 Boa是一种非常小巧的Web服务器,其可执行代码只有大约60KB左右.作为一种单任务Web服务器,Boa只能依次完成用户的请求,而不会fork出新的进程来处理并发连接请求.但Boa支 ...

  8. 基于boa服务器的web控制mini2440的GPIO口

    win7 系统  虚拟机:ubuntu12.04 开发板:mini2440 上一篇已经详细的讲解了如何配置boa服务器,在这里我们就要利用boa服务器带来的便利,利用web控制开发板上的GIPO口,这 ...

  9. linux(TINY6410)下移植boa服务器

    今天在tiny6410上移植了boa服务器,中间遇到了一些小问题.当时也及时解决了. 第一步:boa的编译 在www.boa.org下载Boa的压缩包  我这里用的是 boa-0.94.13.tar. ...

随机推荐

  1. CSS第四天总结 更多的属性 圆角 边框图片 段落属性 颜色渐变 盒子阴影

    圆角边框: border-radius    一个值时表示四个角用的圆半径,4个值时分别是左上角.右上角.左下角.右下角,单位可以是px和百分比,百分比是半径相对于边框长度的比例 在CSS3中我们终于 ...

  2. html元素中id和name的区别

    可以说几乎每个做过Web开发的人都问过,到底元素的ID和Name有什么区别阿?为什么有了ID还要有Name呢?! 而同样我们也可以得到最classical的答案:ID就像是一个人的身份证号码,而Nam ...

  3. tensorflow2

    # step1 加载包import tensorflow as tf import numpy as np # step2 输入:随机产生数据 # Create 100 phony x, y data ...

  4. Bowtie2

    如何使用Bowtie2 相似功能的有: 创建索引 创建索引bowtie2-build使用的命令. -f指定要索引文件后,再给予索引的名称.名称可以连接到任何. bowtie2 build-f refe ...

  5. 加载json文件没显示图片

    IOS 9新特性要求App内访问的网络必须使用HTTPS协议. 但是现在公司的项目使用的是HTTP协议,使用私有加密方式保证数据安全.现在也不能马上改成HTTPS协议传输. 以下解决办法: 在info ...

  6. 线段树(segment tree)

    线段树在一些acm题目中经常见到,这种数据结构主要应用在计算几何和地理信息系统中.下图就为一个线段树: (PS:可能你见过线段树的不同表示方式,但是都大同小异,根据自己的需要来建就行.) 1.线段树基 ...

  7. linux shell 使用总结

    为什么执行脚本要使用./ +脚本名来执行脚本理解:因为如果直接使用脚本名,那么linux 系统会去path 路径查找如去/bin usr/bin 等查找,这个时候会找不到这个脚本名字,就会报错.使用. ...

  8. Unity Shader——Writing Surface Shaders(1)——Surface Shader Examples

    这里有Surface Shader的一些例子.下面的这些例子关注使用内建的光照模型:关于如何使用自定义光照模型的例子参见Surface Shader Lighting Examples. 简单 我们将 ...

  9. BufferedReader需要显示关闭

    BufferedReader reader = new BufferedReader(); …… reader.close(); BufferedReader需要显示关闭 解释: 方法调用结束后,这两 ...

  10. 【java】 linux下利用nohup后台运行jar文件包程序

    Linux 运行jar包命令如下: 方式一: java -jar XXX.jar 特点:当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出 那如何让窗口不锁定? 方式二 ...