Boa製做

你們好!這裏是電魚電子(www.dianyu.net)給你們分享的一期boa製做:html

1.準備開發環境:linux

  (1)VMware 10.0瀏覽器

  (2)Ubuntu 14.04 64bit網絡

  (3)Sail335開發板測試

  (4)交叉編譯器:gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linuxui

2.源碼:.net

  (1)Boa源碼:boa-0.94.13.tar.gzserver

  (2)Boa測試頁面:index.htmlhtm

3.移植過程:ip

  (1)移植Boa

          ①解壓縮  

              #tar zxvf boa-0.94.13.tar.gz

          ②進入boa-0.94.13目錄

               #cd boa-0.94.13

          ③進入src目錄,在src目錄下運行./configure

          ④生成Makefile,修改Makefile的編譯器選項

              #gedit Makefile

              CC = gcc    改爲    CC = arm-linux-gnueabihf-gcc

              CPP = gcc -E   改爲   CPP = arm-linux-gnueabihf-gcc -E

          ⑤添加交叉編譯器臨時環境變量

          #export PATH=/usr/local/arm/gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux/bin/:$PATH

          ⑥修改文件 src/boa.c,將boa.c文件中如下幾行判斷去掉便可。

          if ( setuid ( 0 ) != - 1 ) {      

            DIE ( "icky Linux kernel bug!" );

          }

          ⑦ 修改文件src/compat.h

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

          改爲    

          #define TIMEZONE_OFFSET(foo) foo->tm_gmtoff

          ⑧把src 文件夾下的config.c 裏的 if(!server_name){..........}

         (大概在266 行到     286 行之間)註釋掉

          ⑨修改src/log.c   註釋掉

           if (dup2(error_log, STDERR_FILENO) == -1) {

                  DIE("unable to dup2 the   error log");

           }

           ⑨編譯代碼

              #make

4.運行環境搭建

  (1)在開發板中建立如下目錄

          /etc/boa    /var/logs    /var/logs/boa    /var/www    /var/www/cgi-bin

          #mkdir -p /etc/boa

          #mkdir -p /var/logs

          #mkdir -p /var/logs/boa

          #mkdir -p /var/www

          #mkdir -p /var/www/cgi-bin

  (2)拷貝、修改文件

          拷貝boa-0.94.13/boa 和 boa-0.94.13/boa_indexer 到 /usr/bin。

          拷貝Ubuntu12.04的/etc/mime.type 到 開發板 /etc

          拷貝boa-0.94.13/boa.conf 到 /etc/boa

          修改/etc/boa/boa.conf

              #ServerName www.your.org.here  改成 ServerName www.dianyu.org

              ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ 改成 ScriptAlias /cgi-bin/ /var/www/cgi-bin/

              AccessLog /var/log/boa/access_log 改成 AccessLog /var/logs/boa/access_log

             ErrorLog /var/log/boa/error_log 改成  ErrorLog /var/logs/boa/error_log

          拷貝 index.html 到 /var/www

5.測試與運行

          鏈接好PC與開發板網卡0(eth0)的網絡鏈接

          將開發板eth0網卡設置ip爲192.168.1.123

          #ifconfig eth0 192.168.1.123 up

          測試開發板網卡0與PC的網絡鏈接

          #ping PC的IP地址

          運行Boa

          #boa&

          在PC上打開瀏覽器,在瀏覽器中輸入192.168.1.123,查看boa顯示的index.html(這個文件名稱和boa.conf文件中的DirectoryIndex index.html中的index.html要同樣)

相關文章
相關標籤/搜索