当前位置:   article > 正文

IMX6ULL移植boa web服务器_imx6ull web服务器

imx6ull web服务器

一、下载和安装
boa的官方网站为www.boa.org,在上面下载最新版本的boa,本文使用的是 boa-0.94.13.tar.gz。
1.1下载完成拷贝到ubantu下。
在这里插入图片描述1.2解压 boa-0.94.13.tar.gz。

tar -xvf boa-0.94.13.tar.gz

    1.3进入boa-0.94.13

    cd boa-0.94.13/

      解压成功后得到如下文件
      在这里插入图片描述
      1.4进入src文件夹,执行configure文件生成Makefile文件:

      cd src\
      ./configure
      • 1

      执行完上面的命令后,会在当前目录下生成 Makefile文件,如下图所示:
      在这里插入图片描述
      1.5修改Makefile文件

      vi Makefile

        在 Makefile文件里面找到“CC = gcc”这一行,如下图所示:
        在这里插入图片描述

        将这一行修改成“CC = arm-none-linux-gnueabihf-gcc -static”然后找到”CPP = gcc -E“这一行,如下图所示
        在这里插入图片描述
        把这一行修改成“CPP = arm-none-linux-gnueabihf-gcc -E -static”最后退出并保存 Makefile文件,接下来输入 make命令,开始编译 boa。
        1.6修改boa.c文件

        vi boa.c

          找到如下代码

          if (passwdbuf == NULL) {
                       DIE(”getpwuid”);
                      }
                      if (initgroups(passwdbuf->pw_name,passwdbuf->pw_gid) == -1) {
                      DIE(”initgroups”);
                      }
          • 1
          • 2
          • 3
          • 4
          • 5

          将其修改为:

          /*if (passwdbuf == NULL) {
                       DIE(”getpwuid”);
                      }
                      if (initgroups(passwdbuf->pw_name,passwdbuf->pw_gid) == -1) {
                      DIE(”initgroups”);
                 }*/
          • 1
          • 2
          • 3
          • 4
          • 5

          1.6 make将会遇到如下问题:
          问题1:

          util.c: 在函数‘get_commonlog_time’中:
          util.c:100:39: 错误:毗连“t”和“->”不能给出一个有效的预处理标识符
                   time_offset = TIMEZONE_OFFSET(t);
          compat.h:120:30: 附注:in definition of macro ‘TIMEZONE_OFFSET’
           #define TIMEZONE_OFFSET(foo) foo##->tm_gmtoff
           <builtin>: recipe for target 'util.o' failed
          make: *** [util.o] Error 1
          • 1
          • 2
          • 3
          • 4
          • 5
          • 6

          如图:
          在这里插入图片描述
          解决办法:根据提示修改源码中的src/compat.h文件。
          修改:#define TIMEZONE_OFFSET(foo)foo##->tm_gmtoff
          为:#define TIMEZONE_OFFSET(foo) foo->tm_gmtoff
          然后保存并退出 compat.h,输入make,继续编译 boa.
          可以使用 ll boa命令查看一下 boa文件的大小,如下图。
          在这里插入图片描述
          1.7接下来使用 arm-none-linux-gnueabi-strip boa命令为bos文件瘦身,如下图:
          在这里插入图片描述

          1.8p 命令拷贝编译最终生成的boa到 NFS文件系统的 bin目录下面,如下图所示。
          在这里插入图片描述1.9统中/etc中建立boa文件夹,如图:
          在这里插入图片描述
          1.10 NFS文件系统的根目录下建立 www 文件夹,如下图。
          在这里插入图片描述
          1.12建立的 www目录下面建立文件夹 cgi-bin 目录,如下图。
          在这里插入图片描述
          1.13boa程序运行需要一个配置文件:boa.conf,在boa-0.94.13 目录下面有个默认的boa.conf文件,把它拷贝到 NFS文件系统的etc/boa目录下面,如下图
          在这里插入图片描述
          1.14然后拷贝虚拟机Ubuntu的/etc目录下的mime.types文件到NFS文件系统的etc目录下面,如下图所示。
          在这里插入图片描述
          1.15然后在 NFS文件系统的 etc目录下用命令vi group命令建立group 文件,如下图所示。
          在这里插入图片描述
          1.16然后在 group文件输入“root:*:0:”,添加root用户组,如下图所示。
          在这里插入图片描述
          1.17然后保存并退出。然后进到 NFS文件系统的 etc/boa目录,使用 vi boa.conf命令打开 boa.conf文件。
          打开 boa.conf文件,找到“Groupnogroup”这一行,修改为

          User 0
          Group 0
          • 1

          如下图。
          在这里插入图片描述
          1.18然后找到“#ServerName www.your.org.here”这一行,修改为“ServerNamewww.your.org.here”,如下图所示。
          在这里插入图片描述
          1.19然后找到“DocumentRoot/var/www”这一行,修改为“DocumentRoot/www”(注意:这里的“/www”就是前面步骤使用mkdir 创建的www 目录),如下图所示。
          在这里插入图片描述
          1.20然后找到“ScriptAlias /cgi-bin//usr/lib/cgi-bin/”这一行,修改为“ScriptAlias /cgi-bin/ /www/cgi-bin/”,如下图所示。
          在这里插入图片描述
          1.21最后保存并退出 boa.conf,至此完成 boa.conf配置文件的修改。下面添加科技自动运行boa的脚本,打开 NFS文件系统的 etc/init.d/rcS文件,打开 etc/init.d/rcS 文件以后,定位到最后一行,然后在最后一行添加:

          cd /bin
          ./boa &
          • 1

          如下图所示。
          在这里插入图片描述
          1.22然后保存并退出 etc/init.d/rcS。然后使用 cd www 命令,进入到前面创建的 www 目录,然后使用 vi index.html命令建立index.html文件,添加如下代码:

          <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
          <html xmlns="http://www.w3.org/1999/xhtml">
          <head>
          <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
          <title>web</title>
          <style type="text/css">
          <!--
          .STYLE1 {font-size: 36px}
          body {
           background-color: #996600;
          }
          -->
          </style>
          </head>
          <body>
          <table width="613" height="424" border="0" align="center">
            <tr>
              <td colspan="2" align="center" valign="middle"><h2 class="STYLE1">Welcome to the world of the WEB</h2></td>
            </tr>
            <tr>
              <td></td>
              <td></td>
            </tr>
            <tr>
              <td>&nbsp;</td>
              <td>&nbsp;</td>
            </tr>
          </table>
          </body>
          </html>
          • 1
          • 2
          • 3
          • 4
          • 5
          • 6
          • 7
          • 8
          • 9
          • 10
          • 11
          • 12
          • 13
          • 14
          • 15
          • 16
          • 17
          • 18
          • 19
          • 20
          • 21
          • 22
          • 23
          • 24
          • 25
          • 26
          • 27
          • 28
          • 29

          然后保存并退出 index.html,至此基于boa的web 服务器就搭建完成了,上面创建的index.html是一个简单的网页,用于测试。现在启动开发板(开发板是挂载NFS网络文件系统),开发板起来以后输入 ps命令,可以看到 boa程序在运行,如下图。然后在 pc机器打开浏览器,输入开发板的 IP地址(192.168.0.215),可以看到在开发板上创建的 index.html,如下图所示。
          在这里插入图片描述
          至此 web 服务器搭建完成了

          声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/406122
          推荐阅读
          相关标签
            

          闽ICP备14008679号