嵌入式Web伺服器移植

2022-07-04 06:39:16 字數 2679 閱讀 9479

文章一僅供個人學習之用,請勿用於他途。

\n");

printf("\n");

printf("\n");

printf("\n");

printf("\n");

exit(0);

}交叉編譯生成helloworld.cgi

#arm-softfloat-linux-gnu-gcc -o helloworld.cgi helloworld.c

將helloworld.cgi拷貝至/var/www/cgi-bin/下,瀏覽器輸入

在頁面上出現

hello,world.

僅供個人學習之用,請勿挪用他途。

《嵌入式linux系統

開發詳解——基於ep93xx系列arm》一書和boa自帶的

文件等對該內容有比較詳細的介紹,但在實驗過程中,仍可能會出現一些問題。下面是我在wnc201系統(at91rm9200)上的移植過程,歡迎討論!

第一步 boa程式的移植

最新發行版本: 0.94.13 

解壓:# tar xzf boa-0.94.13.tar.gz

2

、生成makefile檔案

直接執行src/configure檔案

3、修改makefile檔案

a、

修改 cc =gcc

為 cc =/usr/local/arm/2.95.3/bin/arm-linux-gcc

b、修改 cpp = gcc - e

為 cpp = /usr/local/arm/2.95.3/bin/arm-linux-gcc-e

4、編譯

# make

#/usr/local/arm/2.95.3/bin/arm-linux-strip boa

第二步 boa的配置

boa需要在/etc目錄下建立乙個boa目錄,裡面放入boa的主要配置檔案boa.conf。在boa原始碼目錄下已有乙個示例boa.conf,可以在其基礎上進行修改。

1、group的修改

修改 group nogroup

為 group 0

由於在/etc/group檔案中沒有nogroup組,所以設成0。另外在/etc/passwd中有nobody使用者,所以usernobody不用修改。

2、scriptalias的修改

修改 scriptalias/cgi-bin/ /usr/lib/cgi-bin/

為 scriptalias/cgi-bin/ /var/www/cgi-bin/

3、servername的設定

修改 servernamewww.your.org.here

為 servername www.your.org.here

注意:該項預設為未開啟,執行boa會異常退出,提示「gethostbyname::no such file ordirectory」,所以必須開啟。其它預設設定即可。

第三部:boa的執行

成功配置以後,還需要建立日誌檔案所在目錄/var/log/boa,建立html文件的主目錄/var/www,將靜態網頁存入該目錄下(可以將主機/usr/share/doc/html/目錄下的index.html檔案和img目錄複製到/var/www目錄下),建立cgi指令碼所在錄/var/www/cgi-bin,將cgi的指令碼存放在該目錄下。另外還要將mime.types檔案複製/etc目錄下,通常可以從linux主機的/etc目錄下直接複製即可。

實際執行時,可以將index.html檔案、img目錄和mime.types檔案放到cf卡目錄下,建立目錄後,拷貝至相應目錄。

製作run.sh

mkdir/etc/boa

cp /cf/boa/boa.conf /etc/boa/

mkdir /var/log

mkdir /var/log/boa

mkdir /var/www

cp /cf/boa/index.html /var/www/

cp -r /cf/boa/img /var/www/

mkdir /var/www/cgi-bin

cp /cf/boa/mime.types /etc/

cp /cf/boa/boa /

./boa &

直接在瀏覽器中輸入出現red hat的歡迎網頁。靜態html除錯成功。

第四步 cgi指令碼測試

1、編寫helloworld.c程式

#include

int main(

void

)交叉編譯生成helloworld.cgi

# /usr/local/arm/2.95.3/bin/arm-linux-gcc -ohelloworld.cgi helloworld.c

2、瀏覽

將helloworld.cgi拷貝至/var/www/cgi-bin/下,瀏覽器輸入:

嵌入式Web伺服器移植

或者 最新發行版本 0.94.13 解壓 tar xzf boa 0.94.13.tar.gz 直接執行src configure檔案 a 修改 cc gcc 為 cc usr local arm 2.95.3 bin arm linux gcc b 修改 cpp gcc e 為 cpp usr l...

《嵌入式web伺服器 CGIC移植(二)》

2.配置編譯 2.1 配置編譯器 可以看到預設的編譯器是gcc。因為我是直接在虛擬機器上面做測試。因此直接用gcc就可以。如果是要放在開發板上面,需進行對應的修改。cc arm linux gcc ar arm linux ar ranlib arm linux ranlib cflags g wa...

嵌入式Web伺服器Boa的移植及其應用

隨著嵌入式技術的發展和高速寬頻網路的普及,利用網路實現遠端監控已為人們廣泛接受,嵌入式網路監控技術正是在此條件下逐步發展成熟起來的.1 嵌入式web 伺服器boa 的特點 boa 是一款單任務的http 伺服器,與其他傳統的web 伺服器不同的是當有連線請求到來時,它並不為每個連線單獨建立程序,也不...