BOA服务器搭建步骤

boa服务器搭建及移植 1、解压 将下载的源码压缩包放到某目录下,然后执行: tar –xvzf  boa-0.94.13.tar.tar sudo apt-get install bison flex 否则会出现如下错误 make: yacc:命令未找到        make: *** [y.tab.c] 错误 127 make: lex:命令未找到        ma 阅读详情

 

1、下载Boa Webserver的源码

http://www.boa.org/

2、解压并编译Boa Webserver

$ tar xvf boa-0.94.13.tar.gz

由于Boa Webserver的Makefile中没有install,我们只是进行编译,然后手动拷贝编译后的二进制文件到相应的文件目录中,因此在使用configure时无须指定位置。

同时在make时,可能会出现不少错误,部分的错误处理方法可以参看<附录>:

$ cd boa-0.94.13/src/

$ ./configure

$ apt-get install bisonflex   否则会出现错误提示

 

修改 src/compat.h 两处地方 ,否则会出现错误提示 

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

修改成#defineTIMEZONE_OFFSET(foo)(foo)->tm_gmtoff

 

若要修改配置文件boa.conf的存放位置,假设修改为"/web",则需修改defines.h:

#define SERVER_ROOT "/etc/boa"

修改成 #define SERVER_ROOT "/web" 

 

$ make

 

3、配置Boa Web server环境

 

目录结构如下:

/web             存放html文件

/web/cgi-bin     存放cgi文件

/etc/boa        存放boa.conf

/bin            存放boa和boa_indexer

 

boa.conf 缺省配置:

User nobody

Group nogroup

DirectoryIndex index.html

CGIPath /bin:/usr/bin:/usr/local/bin

MimeTypes /etc/mime.types

ErrorLog/var/log/boa/error_log

AccessLog /var/log/boa/access_log

 

boa.conf 改动配置:

User 0

Group 0

#DirectoryMaker /usr/lib/boa/boa_indexer#注释掉,提高访问速度

#ErrorLog /var/log/boa/error_log  #注释掉,关闭错误日志

#AccessLog /var/log/boa/access_log #注释掉,关闭访问日志

DocumentRoot/web                    #存放index.html

ScriptAlias /cgi-bin//web/cgi-bin/  #存放cgi文件

 

boa.conf 添加配置:

AddType text/plain  txt

AddType image/gif  gif

AddType text/html  html

AddType text/html  htm

AddType text/xml   xml

AddType image/jpeg  jpe

AddType image/jpeg  jpeg

AddType image/jpeg  jpg

AddType image/x-icon  ico

 

编译后在boa-0.94.13/src/中有2个二进制文件,那就是我们需要的执行档,只需拷贝到/bin中,注意这里的操作权限:

 

$ sudo cp boa/boa-0.94.13/src/boa /bin

$ sudo cp boa-0.94.13/src/boa_indexer /bin

$ ls /bin/boa*

/bin/boa /bin/boa_indexer

 

BoaWebserver的配置文件是boa.conf。该文件需要被放置在/etc/boa目录下。同时我们需要对boa.conf稍做修改,注意一定是在/etc/boa下的boa.conf进行修改:

 

# sudo mkdir /etc/boa

# cp boa/boa-0.94.13/boa.conf /etc/boa/

# gedit /etc/boa/boa.conf

 

a)【可选配置】找到Group nogroup修改为Group 0; user nobody修改为user 用户名;

修改Group的参数为0是因为系统中没有nogroup组,如果你没有nobody用户,那么Usernobody也要做相应修改(修改成自己的用户名亦可)。其它采用默认设置。如有必要,可以参看<附录>中的参数说明。

b)【可选配置】servername www.your.org.here的注解去掉;

c)修改DocumentRoot后的路径为 /web,这个是文档的主目录;

d)找到ScriptAlias /cgi-bin/ /usr/lib/cgi-bin

  修改为ScriptAlias /cgi-bin/ /web/cgi-bin

e)【可选配置】修改MimeTypes /etc/mime.types为MimeTypes/web/mime.types来指明mime.types文件位置。如果没有以/开始,则表示从服务器的根路径开始。可以注释掉,避免使用mime.types文件,此时需要用AddType在本文件里指明。

 

若开启日志功能(boa.conf的缺省配置) 

建立日志目录【目录/var/log/boa是相关的日志文件保存目录。】:

# mkdir -p /var/log/boa

 

目录/web/用于保存HTML文档,而/web/cgi-bin用于保存CGI脚本。

 

4、测试

编写cgi测试代码:

[cpp] view plain copy

 

  1. int main(void)  
  2. {  
  3.       printf("Content-type:text/html\n\n"); //这句一定要加上  
  4.       printf(" Hello,world.");  
  5.       exit(0);  
  6. }  


$gcc -o test.cgi test.c

 

在测试之前,需要先运行Boa Webserver。

$sudo boa

注意这里使用的是root权限,如果是普通用户可能会有报错。

# ps -aux 查看boa进程已经启动

 

然后打开浏览器,输入http://192.168.1.194/cgi-bin/test.cgi就可以看到cgi测试效果。

当然192.168.1.194是本机地址。可以使用ifconfig命令查看ip地址。然后输入也可以达到一样的效果。

# ifconfig

 

常见错误

错误1:

request.c: In function ‘get_request’:

request.c:84: warning: pointer targets in passing argument 3 of‘accept’ differ in signedness

gcc -g -O2 -pipe -Wall -I.  -c -o response.o response.c

gcc -g -O2 -pipe -Wall -I.  -c -o select.o select.c

gcc -g -O2 -pipe -Wall -I.  -c -o signals.o signals.c

gcc -g -O2 -pipe -Wall -I.  -c -o util.o util.c

util.c:100:1: error: pasting "t" and "->" doesnot give a valid preprocessing token

make: *** [util.o] Error 1

解决办法:根据提示修改源码中的src/compat.h文件。

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

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

 

错误2:

[17/Aug/2013:09:28:17 +0000] boa.c:226 - icky Linux kernel bug!: Success
解决办法:注释掉boa.c的226行

嵌入式web服务器Boa的移植实验指导 嵌入式web服务器Boa的移植实验指导. 立即下载

相关推荐

2019年上交电院计算机直博保研经历

本人选报的是上交六月一日在武汉举办的直博选拔,五月三十一日到达酒店,地点在武汉大学旁边(PS:上交是不管住宿、来回车票的,~划重点~包括夏令营),入住后当然是紧张的准备英语面试等等内容了,当天我是排在了下午面试,感觉还很好,上午可以多睡一会,最好能够去踩踩点上午,然后下午面试一定要早去,说是一点开始,但是老师十二点半就开始让学生进去了,有一个同学排在第二个,但是当时叫到他时还不到一点,没到,最后据...

LifeMaker的博客 4896

基于MP2642GR-Z与STM32F413RH的磷酸铁锂电池主动均衡设计

电池均衡是BMS保障串联电芯一致性的关键技术,主动均衡通过能量转移代替被动耗散,在储能与备用电源场景中兼具节能和效率优势。其核心原理是利用电荷泵或电感等储能元件,将高电压电芯的能量搬运至低电压电芯,从而缩小单体压差。以磷酸铁锂两节串联电池组为例,采用MP2642GR-Z电荷泵均衡芯片搭配STM32F413RH主控,通过压差阈值与时间窗双重判定、滤波采样与状态机控制,可实现10mV以内均衡精度。该方案适用于小型储能逆变器备用电池组等长期浮充场景,为BMS主动均衡的工程落地提供了可复用的软硬件参考。

weixin_33968104的博客 625

基于Windows环境的OGG远程抽取异常(经典模式)OGG-02830 Formatting error

MOS提供的解决方法,根据MOS的提示是由于使用的OGG版本太新了,经典模式下已经弃用了这种远程抽取方式。问题:Windows环境下启用远程抽取ADG备库的数据,在启动抽取进程的时候出现如下错误提示。

Mrzhou的博客 380

ubuntu16.04.3中移植boa-0.94.13.tar.gz在配置后make出现以下错误:

make: yacc: Command not found 解决办法:安装yacc!不过我执行apt-get install yacc后说找不到安装包。可能这个安装包使用了别的名字,果然: root@ubuntu:/webserver/boa-0.94.13/src# apt-get install yacc Reading package lists... Done Building ...

weixin_41134703的博客 563

扣子(coze)案例^第22期:零代码打造小红书竞品监控系统+AI自动生成运营策略建议

本文详细介绍了如何利用扣子(coze)平台零代码搭建小红书竞品监控系统。该系统通过自动化工作流抓取竞品笔记数据,并存入飞书多维表格,结合AI能力自动生成包含可视化分析报告在内的运营策略建议,帮助运营者高效进行数据驱动的市场分析。

weixin_29313239的博客 1005

从D3 00到FF FF:手把手解析RTCM3.2协议帧结构(附Python解析代码)

本文深入解析RTCM3.2协议帧结构,从同步头标识到CRC校验算法,详细讲解如何通过Python代码实现二进制数据解析。文章包含完整的RTCM3.2解析器实现,涵盖消息类型解码、CRC校验等关键步骤,并附赠特定消息类型(如1005型基准站坐标)的解析示例,帮助开发者快速掌握GNSS差分数据传输协议的核心技术。

weixin_42550052的博客 353

嵌入安防监控项目——BOA服务器的移植

嵌入安防监控项目——BOA服务器的移植

qq_52479948的博客 1658

Xilinx Vivado LDPC IP core,TSN IP core. 各种IP core

Xilinx Vivado LDPC IP core,TSN IP core. 各种IP core

qq_1432825237的博客 3991

BOA运行成功但网页不显示、网页空白,BOA失败原因

在嵌入式linux下搭建Boa-BOA运行成功网页不显示、网页空白原因

fanxiaowen1的博客 802

Topas——基于Geant4的放射治疗蒙特卡罗算法模拟工具

本文内容参考Joseph Perl 的线上会议,视频详情可见于,该视频会议内容主要介绍Topas功能、软件架构、工作流程、参数设定、物理模型、具体案例等,对TOPAS的基本入门使用方法以及使用规定作出阐述。

fy方的博客 7606

嵌入式开发:用状态机实现STM32按键消抖,告别阻塞延时

在嵌入式系统开发中,处理异步事件和实时响应是核心挑战。状态机作为一种强大的编程模型,通过定义有限的状态、事件和状态转换规则,将复杂的、非线性的控制逻辑转化为清晰、确定且易于维护的代码结构。其技术价值在于实现逻辑的模块化、异步化和非阻塞化,能显著提升代码的可读性、可扩展性和系统实时性。这一思想广泛应用于协议解析、用户界面交互、传感器数据处理等场景。本文以嵌入式开发中基础的按键处理为例,针对传统“延时消抖”方法会阻塞主循环、影响实时性的痛点,深入讲解如何运用状态机思维重构按键消抖逻辑。通过分析状态机的核心三要素

weixin_33377602的博客 341

【实战】物联网安防监控项目【2】———boa服务器的移植

关于boa服务器的移植,我知道的都在这儿了

imysy_22_的博客 3610

QGis软件 —— 1、Windows10下载安装QGis及插件

QGis —— 1、Windows10下载安装QGis及插件

5160

Linux下嵌入式Web服务器BOA和CGI编程开发

操作系统:Ubuntu12.04 LTS boa下载地址(但是我找不到…):http://www.boa.org/ 我是其他网站找到的资源,但是忘了网址了,所以我直接上云盘资源 链接: https://pan.baidu.com/s/1_SpR9MDcmSB8jpDm76fw6A 提取码: hb1e 可以参考:Ubuntu下boa服务器的配置与搭建 cgi:直接终端安装 sudo apt-get ...

Love丶伊卡洛斯 2万+

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Boa服务器搭建

1.压缩包下载 http://www.boa.org/ 2.解压 输入命令tar -xvf xxxxx 解压后如下 3.linux下创建文件夹 在自定义目录下创建 boa、log、www文件夹 log文件夹中touch手动创建 access_log 、error_log文件 www文件夹中创建cgi-bin文件 4. 拷贝 1. cp拷贝解压的文件boa.conf至自己创建的boa文件夹下 2. sudo cp /etc/mime.types /ho...

不知东方之既白 679

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

boa php5.5 移植,boa移植记录

写在前面 : boa 相关目录 : 1. boa.conf 的存放目录 : 默认 boa.conf 是在 /etc/boa.conf 目录的, boa 运行时会自动去找 /etc/bon.conf 文件。 这个设定是在 define.h 文件中定义的,可在编译之前进行修改。 2. log 目录 : 分为 Errorlog 和 AccessLog 两个写在前面:boa相关目录:1. boa.conf...

weixin_39797912的博客 151

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

在嵌入式linux下搭建Boa Webserver

背景: 1、嵌入式Web的应用。在嵌入式设备的管理与交互中,基于Web方式的应用成为目前的主流,这种程序结构也就是大家非常熟悉的C/S结构,即在嵌入式设备上运行一个支持脚本或CGI功能的Web服务器,能够生成动态页面,在用户端只需要通过Web浏览器就可以对嵌入式设备进行管理和监控,非常方便实用。 2、嵌入式服务器的选择。由于嵌入式设备资源一般都比较有限,并且也不需要能同时处理很多用

liya的博客 4538

linux 搭建webserver-BOA

嵌入式linux 搭建webserver-BOA

smallerxuan的博客 1万+

iTOP4412 安装boa web服务器

参考博客:http://blog.youkuaiyun.com/sinat_33031415/article/details/51670666

qq_35191331的博客 591

html5 boa,Boa Web服务器在PC上移植

boa是一个非常小巧的Web服务器,可执行代码只有约60KB。它是一个单任务Web服务器,只能依次完成用户的请求,而不会fork出新的进程来处理并发连接请求。但Boa支持CGI,能够为CGI程序fork出一个进程来执行。下面我们讲解以下boa如何在PC机(虚拟机RedHatAS5环境)完成移植修改工作。boa下载地址:下载在Linux公社的1号FTP服务器里,下载地址:用户名:www.linuxi...

weixin_30189559的博客 318

BOA 移植

1 下载 boa-0.94.13.tar 官方网址:www.boa.org 2 解压缩    tar zxvf boa-0.94.13.tar.gz gzip: stdin: not in gzip format tar: Child returned status 1 tar: Error is not recoverable: exiting now 出现上面的错误,原

StevenShiChina的专栏 869

【Linux WEB】Linux嵌入式WEB服务器(BOA)部署

在/var/log/ 下建立boa文件夹,并创建acccess_log文件和error_log文件 或 修改boa.confg中的设置。(2)在开发板/etc目录下建boa目录,将boa.conf拷贝到板子的/etc/boa目录。(1)将编译生成的boa可执行程序(在/src目录下)拷贝到开发板的/bin目录下,并添加可执行权限。解决:拷贝boa-0.94.13/boa.conf文件到/etc/boa目录下。(3)创建错误记录日志文件所在目录/var/log/boa/error_log,

anmo_moan的博客 1448

arm-linux的boa服务器移植

前期准备 下载boa-0.94.13.tar.gz 配置开发板对应的交叉编译链 编译boa 输入命令 ./configure --host=arm-linux 修改Makefile,vim Makefile,设置参数CC=arm-none-linux-gnueabi-gcc,CPP=arm-none-linux-gnueabi-gcc -E (根据自己的交叉编译链设置) vim compat...

qq_40933044的博客 476

关于tq2440 boa服务器搭建

这几天 在boa上吃了好多亏 希望能写下 给大家分享 首先 我在linux主机上搭建boa(挺顺利的)第一 下载boa包 网上都有   然后解压  第二 (重要的是在这部 ) ./config  出现了 util.c:100:1: error: pasting "t" and "->" does not give a valid preprocessing token make: **

qq_27870741的博客 469

boa服务器搭建

linux下boa服务器的搭建: CGI:通用网关接口(Common Gateway Interface)是一个Web服务器主机提供信息服务的标准接口。通过CGI接口,Web服务器就能够获取客户端提交的信息, 转交给服务器端的CGI程序进行处理,最后返回结果给客户端。组成CGI通信系统的是两部分:一部分是html页面,就是在用户端浏览器上显示的页面。另一 部分则是运行在服务器上的Cgi程序。cgi不是一种语言,可以理解为一种接口协议,这个协议可以用vb,c,php,python 来实现。 第一步:下载源码:

weixin_43371635的博客 1332
上一篇: Nginx https 配置
下一篇: Docker 配置
风过无痕11
博客等级 码龄14年 4粉丝 7原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值