uClinux下,主要有三個Web Server:httpd、thttpd和Boa。Httpd是最簡單的一個Web Server,它的功能最弱,不支持認證,不支持CGI。Thttpd和Boa都支持認證、CGI等,功能都比較全。為了實現動態Web技術,這里我們選擇實現一個支持CGI的、非常適合于嵌入式系統的Boa Web Server。
Boa是一個單任務的http服務器,源代碼開放、性能高。目前,uClinux的代碼中已經包含boa的源代碼,在uClinux下實現 Boa,需要對Boa做一些配置和修改。這主要通過對boa.conf和mime.types文件進行修改來實現,需要改動的配置有以下幾項。
(1)建目錄
由于uClinux默認的根文件系統romfs是只讀的,不能用mkdir等命令來新建目錄,故應在編譯內核前先建好要用到的目錄,這通過修改 /
uclinux-samsung/vendors/Samsung/4510b/makefile
ROMFS_DIRS=bin dev etc home lib mnt proc usr var的后邊增加home/web home/web/cgi-bin
3.7
然后在/uclinux- samsung/Vendors/Samsung/4510b/inittab里修改,
在:inet:unknown:/bin/inetd后加入: boa:unknown:/bin/boac/home。
(2)指定Web服務器的根目錄路徑(SERVER_ROOT)
/uclinux-samsung/user/boa/src/目錄,
通過修改define.h文件中#define ERVER_ROOT“/home”語句來指定SERVER_ROOT。
(3)修改boa.conf文件
3.1
在./uclinux-samsung/user/boa/src/boa.conf里修改:
*將user obody改為User 0
Group ogroup改為Group 0;
3.2
*將DocumentRoot/var/www
改為DocumentRoot/home/web,
3.4
*將MimeTypes/etc/mime.types
改為MimeTypes/home/web/mime.types;
3.5
定義默認首頁和CGI程序所在目錄,即
DirectoryIndex index.html
ScriptAlias/cgi-bin/ /home/web/cgi-bin/
這樣指定后,.index.htm為遠程瀏覽客戶訪問Web Server所看到的首頁默認值,用C編寫的CGI程序編譯成二進制文件,放到/cgi-bin/目錄下,CGI程序能被正確地執行。
3.6
Boa.conf文件和mime.types文件必須放到Web服務器根目錄下,所以把修改后的bao.conf和mime.types拷貝到 “./uclinux-samsung/romfs/home/”目錄下。
3.8
make menuconfig------>kernel--->user setting---->miscellaneous configuration--->generic cgi& cgihtml
配置過程后,重新編譯內核,編譯時選中Boa選項。把編譯好的內核下載到開發 板,啟動uClinux,完成IP配置,啟動Boa Web Server,然后就可以通過IE訪問你的網頁了。如果想啟動uClinux時自動啟動Boa Web Server,可以修改rc文件,進入uclinux-samsung/vendors/Samsung/4510B目錄,在運行腳本rc中增加兩行:
ifconfig eth0 192.168.168.101 up
boa-c /home/&
修改后重新編譯內核,再下載到開發板運行。運行uClinux后,不需要配置就可以直接通過IE來訪問你的網頁了。
上一篇:6410 聲卡wm9713 驅動分析
下一篇:我的MiniGUI移植之路
- 熱門資源推薦
- 熱門放大器推薦
設計資源 培訓 開發板 精華推薦
- 使用 Microchip Technology 的 MHL8705 的參考設計
- TCR5SB36A、150mA、3.6V 輸出電壓 CMOS 低壓降穩壓器的典型應用
- 使用 Richtek Technology Corporation 的 RT9261 的參考設計
- 利用Σ-Δ ADC在工業多通道數據采集系統中進行信號調理
- 12W、5V、24V AC轉DC多路輸出工業控制電源
- 1810300216劉佳函 555原理圖
- 微雪同款ESP8266墨水屏開發板
- LTM4643MPV 4V 至 20V 輸入、四路 0.9V、1V、1.2V 和 1.5V 輸出 DC/DC 降壓穩壓器的典型應用
- 使用 Analog Devices 的 LT1424IN8-9 的參考設計
- 使用 Analog Devices 的 LT3091HT7 的參考設計