Boa Web服务器在S3C2440开发板上移植

发布时间:2024-06-13  

前面已经在PC机上完成了boa服务器的移植工作,《Boa Web服务器在PC上移植 》见http://www.linuxidc.com/Linux/2011-10/44729.htm, 下面介绍一下在S3C2440硬件平台上如何完成相应工作,两者大同小异,细节上稍有不同,不同之处我用紫色标注了出来

一、配置编译boa

1. #tar zxvf boa-0.94.13.tar.gz

2. #mv boa-0.94.13 boa_arm

3. #cd boa_arm/src

4.boa.conf生效目录设置

  boa启动过程中需要读取一个配置文件:boa.conf,它的路径由以下文件决定

  第30行 #define SERVER_ROOT "/etc/boa",默认为/etc/boa文件夹

  我们为了统一路径起见,改为:"/usr/boa",接下来所有跟boa有关的文件我们都放在/usr/boa下

5.修改src/boa.c


 注释掉下面语句:

    if (setuid(0) !=-1)

    {

     DIE(”icky Linux kernel bug!”);

  }

  即修改为:

  #if 0

   if(setuid(0) != -1)

    {

       DIE(”icky Linux kernel bug!”);

     }

  #endif

否则运行boa时会提示

boa.c:226 - icky Linux kernel bug!: No suchfile or directory错误

6. #./configure


7.修改交叉编译器

修改Makefile文件:

   将:

      CC = gcc

      CPP = gcc -E 

   该为:

      CC = arm-linux-gcc

      CPP = arm-linux-gcc -E

8. make

    在当前目录下生成一个boa的可执行程序,./boa运行即可,ps能看到boa的进程即说明boa正常工作.

    注:有些编译器会提示以下错误,按相应方法解决即可.

    util.c: 100: 1: pasting “t” and “->”does not give a valid preprocessing token make: [util.o] Error1

    解决方法:

    方法>. 修改compat.h中的

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

    为:

      #define TIMEZONE_OFFSET(foo)foo->tm_gmtoff


二> 修改配置文件boa.conf

1.建立/usr/boa目录, 并复制boa.conf到/usr/boa目录下,并按照以下步骤进行修改。

  #mkdir /usr/boa

  #cp boa.conf/usr/boa

2.访问端口号设置

大概25左右:Port 80,可以设定我们访问网页时的端口号默认为80—访问时无需指定

假如改变了此端口号为8080,必须以下列格式访问: http://192.168.1.3:8080

一般在同一个电脑上运行多个boa服务器时可采用此方法

我们这里保持默认即可

3. 修改访问权限:

   修改User nobody 为 user 0

   修改Group nogroup 为 group 0

4. 设定日志目录:boa日志有两部分,Errorlog  和 AccessLog

   默认为/var/log/boa/error_log和/var/log/boa/access_log两个文件。

   所以我们统一修改为:

   ErrorLog /usr/boa/error_log

   AccessLog /usr/boa/access_log

(注意:这里/home/boa目录必须为可写,否则会出项错误:log.c:73 – Unable to dup2 the error log: Bad file r.)

 5. 设置html文件目录: 

默认为:DocumentRoot /var/www

我们统一修改为:

DocumentRoot /usr/boa/www

 6. 设置默认首页: DirectoryIndex index.html

这是访问网页时若不指定访问的网页名称,服务器默认返回的网页,我们不做修改

 7. 设置cgi脚本目录:  将

          ScriptAlias /cgi-bin/ /usr/lib/cgi-bin 

    修改为

          ScriptAlias /cgi-bin/ /usr/boa/cgi-bin

         注:boa提供cgi编程接口,使得网页具有交互能力,后面我们在做讲解.

 8. mime.types存放目录, 可在boa.conf文件中修改。

       如: MimeTypes /usr/boa/mime.types

        或者将boa.conf文件中

            MimeTypes /etc/mime.types

        修改为:

            MimeTypes /dev/null

  9.把boa.conf大约第94行的注释去掉

       ServerName www.your.org.here

  10.测试

在/usr/boa/www中随意放一个测试网页(必须包含index.html文件)

我们这里随便建一个文件取名为index.html,里面写一个:hello boa...

在IE中敲入:http://192.168.1.101/ 即可看到刚才的helloo boa

证明整个boa搭建成功.


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>