boa移植

關於boa移植這方面我有一些自己的見解,希望大家看了之後可以多多采納。
boa製作:
1.準備開發環境:
(1)VMware 10.0
(2)Ubuntu 14.04 64bit
(3)Sail335開發板
(4)交叉編譯器:gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux
2.源碼:
(1)Boa源碼:boa-0.94.13.tar.gz
(2)Boa測試頁面:index.html
3.移植過程:
(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要一樣)

按照以上的方法,我們就可以操作boa移植了,大家實踐一下,如果有什麼問題希望大家可以指正。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章