zoukankan      html  css  js  c++  java
  • 基于mini2440的boa服务器移植

    win7 系统  开发板:mini2440

    虚拟机:ubuntu12.04

    准备工作:确保主机与开发板之间能够正常通信,即能够ping通,具体的操作课参考我上一篇随笔。

    1.首先从 http://www.boa.org/ 下载boa的源码,并将其加压出来

    2.生成makefile

    进入到boa的src文件夹内,运行./configure

    修改Makefile文件,如下所示:

    然后运行make,这个时候有可能报错,常见的两种错误情况是:

    make: yacc:命令未找到
           make: *** [y.tab.c] 错误 127

    make: lex:命令未找到
           make: *** [lex.yy.c] 错误 127

    这时候需要安装两个工具bison 和 flex

    sudo apt-get install bison flex

    3.修改src下的compat.h文件

    找到

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

    修改成

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

    否则会出现错误:

    util.c:100:1: error: pasting "t" and "->" does not give a valid preprocessing token make: *** [util.o] 错误 1

    最后运行make命令,即可生成一个boa可执行文件。

    4.将生成的boa文件下载到你开发板的根目录下,我的是mini2440,我下载到板子上的目录为/opt/Qtopia/bin/  修改权限,应该也可以直接下到/bin/文件的下面,我没有尝试过,读者可以自己尝试。

    5.修改配置boa.conf文件

    首先在开发板的执行

    mkdir -p /etc/boa

    可以将boa-0.94.13文件夹下的boa.conf文件直接拷贝至新建立的boa文件夹下

    打开boa.conf文件,修改以下内容:

    Group nogroup 改成 Group 0

    #ServerName www.riwen.com 将这行的注释去掉即:ServerName www.riwen.com 后面这个名字可以自己定义

    否则会出现错误“gethostbyname::No such file or directory”

    将ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/  修改成

    ScriptAlias /cgi-bin/ /var/www/cgi-bin/

    然后保存退出。

    boa.conf文件里面的其他的代码的意思,读者可以自行网上搜索,也可以自己试着修改,看看最后会不会出现什么错误

    6.建立相关的文件夹

    在中断运行以下命令

    mkdir -p /var/log/boa     这里存放boa服务器运行的相关信息,在运行时会产生access_log 和error_log两个文件,errr_log会打印出boa运行时所产生的错误信息。

    mkdir -p /var/www     这里存放相应的页面即html文件

    mkdir -p /var/www/cgi-bin     这里存放cgi程序

    完成以上动作,就可以在运行boa

    7.运行boa

    进入到boa的文件下输入./boa

    这个时候最有可能遇到的问题就是提示:boa.c:194 - unable to bind: Address already in use

    如果没有看到任何信息:可以运行cat /var/log/boa/error_log 命令查看。因为默认的boa.conf文件端口设置是80,我们在开发板修改boa.conf文件的端口为8080,或者其他未被使用的端口,保存退出

    如果boa启动成功,将会打印出如下信息

    8.测试boa

    静态测试:在/var/www/文件夹内放入index.html文件,可以自己写个很简单的网页

    在地址栏输入:192.168.1.230:8088 然后回车,端口地址以自己的设的为准,接着你就能在主机的浏览器上显示index.html的内容了。

    如下所示:

    这是我自己写的简单页面,在下一篇帖子要讲的内容。

    动态测试:将boa-0.94.13文件夹下examples下的cgi-test.cgi拷贝到开发板/var/www/cgi-bin/文件夹下

    然后再地址栏输入http://192.168.1.230:8088/cgi-bin/hellocgi 回车,将会显示如下页面

    到这里,恭喜您,boa服务器的移植已经成功了!

    总结:

    我在开发板上建立的文件夹:/var/www   /var/log/boa 在我重启开发板之后这些文件夹全部消失了,但是我在其他目录建立的文件夹并没有消失,

    很奇怪,所以每次我都准备好备份。上网查找资料,也没查出什么结果,如果有谁知道的话,请告知一声,感激不尽啊。

  • 相关阅读:
    119. Pascal's Triangle II
    118. Pascal's Triangle
    112. Path Sum
    111. Minimum Depth of Binary Tree
    110. Balanced Binary Tree
    108. Convert Sorted Array to Binary Search Tree
    88. Merge Sorted Array
    83. Remove Duplicates from Sorted List
    70. Climbing Stairs
    陌陌面试经历
  • 原文地址:https://www.cnblogs.com/rwzhou/p/3649327.html
Copyright © 2011-2022 走看看