文章一僅供個人學習之用,請勿用於他途。
\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 伺服器不同的是當有連線請求到來時,它並不為每個連線單獨建立程序,也不...