imx6ul上移植boa服务器

参考:https://blog.csdn.net/sinat_33031415/article/details/51783170
1.通过boa官网(http://www.boa.org/)下载得到boa服务器源码包boa_0.94.13.tar.gz,在Ubuntu里面解压得到源码文件夹,进入src文件夹,执行配置指./configura,生成Makefile文件
#cd src
#./configura
2.修改配置
修改Makefile文件,修改部分配置如下:
CC = arm-linux-gcc
CPP = arm-linux-gcc –E
将compat.h文件的:

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

修改为

#define TIMEZONE_OFFSET(foo) foo->tm_gmtoff

修改config.c文件,利用if 0 (或者/* */)注释掉下面的代码段:

#if 0
    if (mime_types) {
        temp = normalize_path(mime_types);
        free(mime_types);
        mime_types = temp;
    }
#endif

修改boa.c文件,利用if 0 (或者/* */)注释掉如下两段代码:

#if 0        
        if (passwdbuf == NULL) {
            DIE("getpwuid");
        }
#endif
...
#if 0
        if (setuid(0) != -1) {
            DIE("icky Linux kernel bug!");
        } 
#endif

修改中cgi.c中的complete_env函数添加语句:
my_add_cgi_env(req,”LD_LIBRARY_PATH”, “/lib”);
配置完成
3.编译

mm@ubuntu:~/work/tqimx6ul/boa/boa-0.94.13/src$ make
yacc -d boa_grammar.y
make: yacc: Command not found
Makefile:59: recipe for target 'y.tab.c' failed
make: *** [y.tab.c] Error 127

解决:

sudo apt-get install bison
sudo apt-get install flex

再make,得到以下文件
1)src文件目录下的 boa、boa_indexer
2)根目录下的boa.conf(用于配置boa服务器对应参数)
在这里插入图片描述
在文件系统建立文件目录如下:
imx6ul上移植boa服务器_第1张图片
其中boa、boa.conf和boa_indexer为ubuntu下编译生成的文件,将其拷贝至此,mime.types文件为开发板的系统文件/etc/mime.types,将其拷贝至boa文件夹下面。
配置etc/boa/boa.config

...
Port 8080
...
User 0
Group 0
...
ErrorLog /boa/log/error_log
...
AccessLog /boa/log/access_log
...
ServerName 192.168.1.36(你的开发板ip)
...
DocumentRoot /boa/www
...
DirectoryMaker /boa/boa_indexer
...
MimeTypes /boa/mime.types
...
ScriptAlias /cgi-bin/ /boa/cgi-bin/

编写/etc/boa/www/index.html

  
  

Hello World!


配置完毕,配置网络与主机的网络,这里开发板ip:192.168.1.36,主机ip:192.168.1.34,网络连通,进入/etc/boa/执行boa
imx6ul上移植boa服务器_第2张图片
进入浏览器输入192.168.1.36:8080
在这里插入图片描述

你可能感兴趣的:(linux)