zedboard提供的demo系统很迷你,但是也能移植嵌入式Web服务器的。这里就移植boa服务器。

1.下载Boa服务器源代码(安装好了交叉编译器)

http://www.boa.org/,选择最后一个发布的版本0.94.13

tar -xzvf boa-0.94.13.tar.gz  -C  /home/xzy/sdb1/boa/

目录自己选择,要安装好交叉编译器

2.修改

进入解压后的src这个文件夹,执行./configure,如果没有可执行权限的话用chmod就可以了。

修改Makefile    输入 vim Makefile

找到CC=gcc,替换成我们的交叉编辑环境。  CC=arm-xilinx-linux-gnueabi-gcc

找到CPP=gcc -E,替换成我们的交叉编辑环境。  CC=arm-xilinx-linux-gnueabi-g++

3.改bug

注释下面这段代码,对应225,226,227.

4.修改compat.h

#define TIMEZONE_OFFSET(foo) foo## ->tm_gmtoff,修改

#define TIMEZONE_OFFSET(foo) foo ->tm_gmtoff

5.make

报错1,yacc -d boa_grammar.y make:yacc:command not found

解决方法apt-get install bison

在make 报错2,y.tab.c:In function 'yyparse'

解决方法 apt-get install flex

make ,成功了

make成功之后,运行如下命令去除可执行文件的冗余信息:

arm-xilinx-linux-gnueabi-strip boa

6配置Boa服务器

在源码目录下面可以找到一个boa.conf,我们在这个基础上修改配置。这个配置参考书上的。

User nobody 改为User 0

Group nobody 改为Group 0

ServerName 这个可以自己修改,我没有修改

#DirectoryMaker /usr/lib/boa/boa_indexer 这个原本是没有注释项的,

这里配置好的一些目录必须要保证其他的辅助文件和设置和这里相符,如我们要在demo系统中创建一些目录,下面会创建。另外将可执行文件boa,配置文件boa.conf,mime.types(在linux主机下的/etc下)拷贝到U盘,因为我还没有单间NFS服务器,所以要借助U盘。在新建一个index.html文件。

7.Boa最后的测试

7.1 启动系统,挂载U盘,mount /dev/sda1 /opt/

7.2 新建目录 mkdir -p /etc/boa /var/log/boa /var /www/cgi-bin

7.3 拷贝文件到相应目录

拷贝配置文件 cp boa.conf /etc/boa/

拷贝 cp mime.types /etc/

7.4 新建两个log文件 vi /var/log/boa/error_log /var/log/boa/access_log 不输入任何东西,保存就可以了。

7.5 chmod 777 index.html,并且拷贝到 cp index.html /var/www/

7.6 由于我的ip和电脑的ip不在一个网段,更改开发板的ip,ifconfig eth0 202.38.214.211

可以在运行cmd命令(pc机)来ping一下,看是否能ping通。

7.7 在U盘中不是还一个boa可执行文件没用上嘛,现在是他用上的时候了, 输入 ./boa &

7.8 在浏览器中输入202.38.214.211

可以看到成功运行了,ps:在书上有提到运行./boa &的时候会看到一些信息,我没有看到。

另外开发板一掉电,那些新建的目录就没有了,这个时候就可以用我们之前的软件开机运行的那个方法,重新制作出新的文件系统压缩镜像,也可以编写一个启动脚本(这个有待尝试)。

8.CGI小尝试

index.html源码为

<html>
<head>
<title>Zedboard WebServer Demo </title>
</head>
<body>
<h1>hello 214!hello xzy!</h1>
<p><a href="./cgi-bin/a.out">cgi in the boa server</a></p>
</body>
</html>

主要是比上面添加了<p><a href="./cgi-bin/a.out">cgi in the boa server</a></p>

CGI源码

对CGI源码进行交叉编译,然后放入zedboard的/var/www/cgi-bin目录下即可,原来的index.html用上面的index.html代替,其他都一样。效果如下:

点击上面的链接:出现

当用户通过Boa服务器访问到index.html网页时,单击CGI链接将可以访问到由上述C语言所编写的简易网页。

zedboard--基于zedboard的demo系统的boa服务器搭建(二十一)的更多相关文章

  1. 基于开源博客系统(mblog)搭建网站

    基于开源博客系统(mblog)搭建网站 上一章讲了基于jpress部署的博客系统,这一章了解一下 mblog这个开源的基于springboot的博客系统,相比与jpress 的热度fork数量要少一些 ...

  2. 基于开源博客系统(jpress)搭建网站

    基于开源博客系统(jpress)搭建网站 JPress 使用 Java8 开发,基于流行的JFinal和Jboot框架. 目前JPress已经内置的文章和页面其实是两个模块,可以移除和新增其他模块,因 ...

  3. BOA服务器搭建步骤

    1.下载Boa Webserver的源码 http://www.boa.org/ 2.解压并编译Boa Webserver $ tar xvf boa-0.94.13.tar.gz 由于Boa Web ...

  4. win7系统中ftp服务器搭建方法(多图)

    一.创建FTP站点 1.打开:控制面板---系统和安全---管理工具---Internet 信息服务 2. 建站:右键点击网站---添加FTP站点 3. 输入FTP 站点名称---选择你的 FTP 目 ...

  5. 基于Centos7.X的CS:GO社区服搭建

    基于Centos7.X的CS:GO私人服务器搭建 由于比完了赛,在学校太过无聊,便想搭建一个CSGO社区服务器,方便舍友同学进来游玩,顺便帮助一些有想法的人,让他们少走一点弯路 一.创建新用户,并下载 ...

  6. 基于ZedBoard的Webcam设计(一):USB摄像头(V4L2接口)的图片采集【转】

    转自:http://www.cnblogs.com/surpassal/archive/2012/12/19/zed_webcam_lab1.html 一直想把USB摄像头接到Zedboard上,搭建 ...

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

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

  8. 基于jeesite的cms系统(一):开发环境搭建

    基于jeesite的cms系统系列,是对基于jeesite进行二次开发的博客模块开发过程的总结.涉及入门安装,二次开发,部署等 一.概况: JeeSite 是一个 Java 企业级快速开发平台,基于经 ...

  9. 前端开发工具包 WijmoJS 2019V1正式发布:全新的在线 Demo 系统,助您快速上手,开发无忧

    ​ 前端开发工具包WijmoJS在2019年的第一个主要版本2019V1已经发布,本次发布包括了更加易用的在线Demo系统.各控件新增功能.NPM 包的改动,以及全新的浏览器API组件. WijmoJ ...

随机推荐

  1. 用LR录制文件下载并随机产生文件名

    用LR录制文件下载并随机产生文件名 {H.IY:X.Tn0 8h&~-D|6fV0Action()51Testing软件测试网GE$nV}s,R{51Testing软件测试网 }9sUS'q  ...

  2. rsync: chroot No such file or directory (2)

    rsync: ) 查了N多资料,均未解决,最终发现是因为report后面多了个空格...

  3. Java Switch Statement

    Java Switch Java Switch Statement switch语句的执行规则如下     1.从第一个case开始判断,不匹配则跳到下一个case继续判断:     2.遇到brea ...

  4. list 往指定的下标插入元素

    list 往指定的下标插入元素 import java.util.*; public class ListExample{ public static void main(String[] args) ...

  5. EOJ 3246 实验室传染病

    线段树,暴力. 先处理出每个点直接能感染到的最左边的和最右边的. 之后每次扩展,看向左能到达的那些点中,最左以及最右能到哪些点,更新. 看向右能到达的那些点中,最左以及最右能到哪些点,更新. 最左最右 ...

  6. 洛谷P2730 魔板 [广搜,字符串,STL]

    题目传送门 魔板 题目背景 在成功地发明了魔方之后,鲁比克先生发明了它的二维版本,称作魔板.这是一张有8个大小相同的格子的魔板: 1 2 3 4 8 7 6 5 题目描述 我们知道魔板的每一个方格都有 ...

  7. FileBuffer-ImageBuffer 模拟PE

    这节课的重点是:模拟PE加载过程,按照运行的要求给FileBuffer拉伸放到内存当中,从 FileBuffer 到 ImageBuffer 再到 运行Buffer. PE  加载  过程: 根据si ...

  8. pm2常用的命令

    exit //退出 ssh www@25.17.1.54 // 远程登录主机sudo su // 获得 root 权限 并且进入目录 /home/wwwpm2 list // 查看当前的列表 id 和 ...

  9. 使用matplotlib绘图(三)之饼图

    # 使用matplotlib绘制饼图 import numpy as np import matplotlib.pyplot as plt # 设置全局字体 plt.rcParams['font.sa ...

  10. FastReport.Net使用:[14]文本控件使用

    文本控件(Text)是FastReport中最常用的控件了,它可以是一行\多行文本.数据源的列.报表参数.汇总值.表达式,它还可以是以上任何元素的组合. 如何使用文本编辑器 1.双击文本框进入文本编辑 ...