基于mini2440的boa服务器移植
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服务器移植的更多相关文章
- Boa服务器移植
Boa是一种非常小巧的Web服务器,其可执行代码只有大约60KB左右.作为一种单任务Web服务器,Boa只能依次完成用户的请求,而不会fork出新的进程来处理并发连接请求.但Boa支持CGI,能够为C ...
- 嵌入式boa服务器移植
开发板:EDUKIT-III实验箱,S3C2410+LINUX2.4,实验箱随箱光盘提供的Zimage,nor flash启动. 主机:ubnutn10.4LTS,arm-linux-gcc 2.95 ...
- 基于mjpg-streamer网络视频服务器移植
MJPG简介: MJPG是MJPEG的缩写,但是MJPEG还可以表示文件格式扩展名. MJPEG 全名为 "Motion Joint Photographic Experts Group&q ...
- 基于mini2440的Tslib的移植
软件平台: win7系统,虚拟机ubuntu12.04 mini2440开发板 tslib是电阻式触摸屏用于校准的一个软件库,是一个开源的程序,能够为触摸屏驱动获得的采样提供诸如滤波.去抖.校准等功能 ...
- Boa服务器在ARM+Linux上的移植
下面给大家介绍一下Boa服务器移植的具体操作步骤,希望能够有帮助. 环境 主机:ubuntu8.10 交叉工具链:gcc-3.4.5-glibc-2.3.6 ...
- 在嵌入式Linux系统(OK6410)中移植Boa 服务器
OK6410的Boa服务器移植: <一> Boa的编译 1. 从 www.boa.org 下载 Boa 服务器的最新版:boa-0.94.13.tar.gz. 2. 解压:tar xzf ...
- Boa服务器编译移植
Boa服务器移植 Boa是一种非常小巧的Web服务器,其可执行代码只有大约60KB左右.作为一种单任务Web服务器,Boa只能依次完成用户的请求,而不会fork出新的进程来处理并发连接请求.但Boa支 ...
- 基于boa服务器的web控制mini2440的GPIO口
win7 系统 虚拟机:ubuntu12.04 开发板:mini2440 上一篇已经详细的讲解了如何配置boa服务器,在这里我们就要利用boa服务器带来的便利,利用web控制开发板上的GIPO口,这 ...
- linux(TINY6410)下移植boa服务器
今天在tiny6410上移植了boa服务器,中间遇到了一些小问题.当时也及时解决了. 第一步:boa的编译 在www.boa.org下载Boa的压缩包 我这里用的是 boa-0.94.13.tar. ...
随机推荐
- 安装生物信息学软件-R
主要参考http://www.3fwork.com/b211/000091MYM021616/ Step 1 : sudo gedit /etc/apt/sources.list 添加到末尾 deb ...
- gulp ---攻略一
根据项目需要可能会出连载 项目需要现在用gulp进行js的质量检测.合并.压缩.发布,未来需要进行sass的编译.合并.压缩,html.img的压缩以及md5戳.reload等功能,暂时先测试js的质 ...
- React Native中的网络请求fetch和简单封装
React Native中的网络请求fetch使用方法最为简单,但却可以实现大多数的网络请求,需要了解更多的可以访问: https://segmentfault.com/a/1190000003810 ...
- CentOS 7 为firewalld添加开放端口及相关资料
1.运行.停止.禁用firewalld 启动:# systemctl start firewalld 查看状态:# systemctl status firewalld 或者 firewall-cm ...
- request获取url的方法总结
辣么多属性.方法 不用就忘了 ,当需要用的时候挠头也想不到,现在总结一下 以备用 例如:http://localhost/testweb/default.aspx 1.Request.Applic ...
- import tf
不知道为什么,tensorflow要最后import,否则会对matplotlib的imread产生影响,产生IO错误,异常莫名其妙
- boost -- scoped_lock V.S. mutex lock/unlock —— why scoped_lock is recommanded?
why scoped_lock is recommanded? 其实,这和RAII idiom变流行是一样的原因:因为你可以确保任何情况下离开执行范围都会解锁mutex. 注意,这不仅仅是说你可能忘记 ...
- HTML DOM 实例-Document 对象
使用 document.write() 向输出流写文本 <html><body><script type="text/javascript">d ...
- Maven学习 (一) 搭建Maven环境
有两种方式可以配置maven的环境配置,本人推荐使用第二种,即使用本地的maven安装文件,个人感觉这样可以方便管理下载jar包的存放位置,错误信息的输出等,可以在dos窗口中可以清晰看到,虽然比 ...
- 非归档模式下使用Rman进行备份和恢复
实验环境: 一.首先进行全库数据备份: 在非归档模式下,rman备份需要在mount模式下进行 SQL> select status from v$instance; STATUS ------ ...