在imx6ull上移植Boa服务器

Boa 官 方 网 站http://www.boa.org/    ,下载地址http://www.boa.org/boa-0.94.13.tar.gz 

(1)编译Boa服务器

解压 tar -jxvf boa-0.94.13.tar.gz源码,进入boa-0.94.13目录

 tar -jxvf boa-0.94.13.tar.gz

首先修改./src/compat.h文件,将   #define TIMEZONE_OFFSET(foo)  foo##->tm_gmtoff    修改为#define TIMEZONE_OFFSET(foo) (foo)->tm_gmtoff   。修改后的如下图:

再修改./src/boa.c

注释掉“  if(srtuid(0)! = -1)  {  DIE("icky Linux kernel bug!")} ”  ,修改后内容如下

 进入./src目录,执行./configure命令生成Makefile,将Makefile的交叉编译器修改为自己安装的交叉编译器,我的交叉编译器是arm-linux-gnueabihf-gcc,将CC=gcc改为CC=arm-linux-gnueabihf-gcc,CPP=gcc -E改为CPP = arm-linux-gnueabihf-gcc  -E。修改后的内容如下

 执行make命令,如果提示yacc和lex找不到,报如下错误

 

 则运行

sudo apt-get install flex bison

再执行make生成镜像文件boa,再用strip将boa压缩

 编辑boa.conf内容为如下(视个人需求配置),每项具体含义可以参考以下链接:嵌入式linux web服务器boa的移植方法arm开发板linux嵌入式web服务器boa.pdf-原创力文档


Port 80
#Listen 192.168.43.55
User nobody
Group nogroup
#ServerAdmin root@localhost
#ErrorLog /var/log/boa/error_log
#AccessLog /var/log/boa/access_log
#VerboseCGILogs
ServerName ppj
#VirtualHost 
DocumentRoot /www
#UserDir public_html
DirectoryIndex index.html
#DirectoryMaker /usr/lib/boa/boa_indexer
#DirectoryCache /var/spool/boa/dircache
KeepAliveMax 1000
KeepAliveTimeout 10
MimeTypes /etc/mime.types
DefaultType text/plain
CGIPath /bin:/usr/bin:/usr/local/bin
#AddType application/x-httpd-cgi cgi
# Redirect /bar http://elsewhere/feh/bar
Alias /doc /usr/doc
ScriptAlias /cgi-bin/ /www/cgi-bin/

最后一项 ScriptAlias /cgi-bin/ /www/cgi-bin/中,前面的/cgi-bin/是虚拟路径, /www/cgi-bin/是开发板存放cgi脚本的实际路径。所有的CGI脚本都放在实际路径中,用户访问执行格式是:输入站点+虚拟路径+CGI脚本名。例如

http://192.168.1.188/cgi-bin/cgictest.cgi

在开发板创建目录/etc/boa ,并且把boa.conf 拷贝到这个目录下 ,并在开发板根目录
下创建相关目录 ,如下图。

将开发主机linux 下/etc/mime.type 拷贝到开发板的/etc下 ,boa镜像文件拷贝到开发板的/sbin目录下。至此Boa移植完成 ,编译测试html ,将电脑和开发板设置到同一个局域网,输入网址即可访问。 

 

猜你喜欢

转载自blog.csdn.net/weixin_40791207/article/details/121425013