zedboard--基于zedboard的demo系统的boa服务器搭建(二十一)
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服务器搭建(二十一)的更多相关文章
- 基于开源博客系统(mblog)搭建网站
基于开源博客系统(mblog)搭建网站 上一章讲了基于jpress部署的博客系统,这一章了解一下 mblog这个开源的基于springboot的博客系统,相比与jpress 的热度fork数量要少一些 ...
- 基于开源博客系统(jpress)搭建网站
基于开源博客系统(jpress)搭建网站 JPress 使用 Java8 开发,基于流行的JFinal和Jboot框架. 目前JPress已经内置的文章和页面其实是两个模块,可以移除和新增其他模块,因 ...
- BOA服务器搭建步骤
1.下载Boa Webserver的源码 http://www.boa.org/ 2.解压并编译Boa Webserver $ tar xvf boa-0.94.13.tar.gz 由于Boa Web ...
- win7系统中ftp服务器搭建方法(多图)
一.创建FTP站点 1.打开:控制面板---系统和安全---管理工具---Internet 信息服务 2. 建站:右键点击网站---添加FTP站点 3. 输入FTP 站点名称---选择你的 FTP 目 ...
- 基于Centos7.X的CS:GO社区服搭建
基于Centos7.X的CS:GO私人服务器搭建 由于比完了赛,在学校太过无聊,便想搭建一个CSGO社区服务器,方便舍友同学进来游玩,顺便帮助一些有想法的人,让他们少走一点弯路 一.创建新用户,并下载 ...
- 基于ZedBoard的Webcam设计(一):USB摄像头(V4L2接口)的图片采集【转】
转自:http://www.cnblogs.com/surpassal/archive/2012/12/19/zed_webcam_lab1.html 一直想把USB摄像头接到Zedboard上,搭建 ...
- 基于boa服务器的web控制mini2440的GPIO口
win7 系统 虚拟机:ubuntu12.04 开发板:mini2440 上一篇已经详细的讲解了如何配置boa服务器,在这里我们就要利用boa服务器带来的便利,利用web控制开发板上的GIPO口,这 ...
- 基于jeesite的cms系统(一):开发环境搭建
基于jeesite的cms系统系列,是对基于jeesite进行二次开发的博客模块开发过程的总结.涉及入门安装,二次开发,部署等 一.概况: JeeSite 是一个 Java 企业级快速开发平台,基于经 ...
- 前端开发工具包 WijmoJS 2019V1正式发布:全新的在线 Demo 系统,助您快速上手,开发无忧
前端开发工具包WijmoJS在2019年的第一个主要版本2019V1已经发布,本次发布包括了更加易用的在线Demo系统.各控件新增功能.NPM 包的改动,以及全新的浏览器API组件. WijmoJ ...
随机推荐
- js求区间随机数
function rnd(n, m){ var random = Math.round(Math.random()*(m-n)+n); return random; }
- poj1915 Knight Moves(BFS)
题目链接 http://poj.org/problem?id=1915 题意 输入正方形棋盘的边长.起点和终点的位置,给定棋子的走法,输出最少经过多少步可以从起点走到终点. 思路 经典bfs题目. 代 ...
- Qt中translate、tr关系 与中文问题
原文请看:http://hi.baidu.com/dbzhang800/item/d850488767bdc3cdee083d43 题外话:何时使用 tr ? 在论坛中漂,经常遇到有人遇到tr相关的问 ...
- php计算两个坐标(经度,纬度)之间距离的方法
本文实例讲述了php计算两个坐标(经度,纬度)之间距离的方法.分享给大家供大家参考.具体如下: 这里使用php计算两个坐标(经度,纬度)之间的距离,返回结果为米或者千米 function distan ...
- 【SpringBoot】关闭HttpClient无用日志
环境: SpringBoot pom依赖了apache.commons.HttpClient: <!--httpclient--> <dependency> <group ...
- 【UOJ #112】【APIO 2015】Palembang Bridges
http://uoj.ac/problem/112 先扣掉在同一侧的情况. 当\(k=1\)时,桥建在所有位置的中位数. 当\(k=2\)时,对于每个居民\((S_i,T_i)\),这个居民只会走离\ ...
- codeforces 220 C. Game on Tree
题目链接 codeforces 220 C. Game on Tree 题解 对于 1节点一定要选的 发现对于每个节点,被覆盖切选中其节点的概率为祖先个数分之一,也就是深度分之一 代码 #includ ...
- codevs 1214 线段覆盖
1214 线段覆盖 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description 给定x轴上的N(0<N<100)条线段,每个线段 ...
- [BZOJ4873][六省联考2017]寿司餐厅(最大权闭合子图)
4873: [Shoi2017]寿司餐厅 Time Limit: 20 Sec Memory Limit: 512 MBSubmit: 490 Solved: 350[Submit][Status ...
- POJ 2728 JZYZOJ 1636 分数规划 最小生成树 二分 prim
http://172.20.6.3/Problem_Show.asp?id=1636 复习了prim,分数规划大概就是把一个求最小值或最大值的分式移项变成一个可二分求解的式子. #include< ...