(七)嵌入式:linux下實現嵌入式web服務器BOA的配置

此次試驗要做的是嵌入式服務器boa的配置。因爲boa服務器已經移植好了,所以我們要做的就是配置。
簡單介紹一下boa服務器:boa 服務器是一個小巧高效的web服務器,是一個運行於unix或linux下的,支持CGI的、適合於嵌入式系統的單任務的http服務器,源代碼開放、性能高。
我的內核已經移植好了boa,剩下的就是配置的操作。
1.首先配置支持顯示編寫好的網頁
進入並修改文件/uClinux-dist/vendors/Marvell/Firefox/Makefile ,添加三項
home/httpd home/httpd/cgi-bin home/httpd/images
在這裏插入圖片描述
然後進入目錄/s1/uClinux-dist/user/boa,修改boa/src/config.c ,如圖所示。
modify: auth_add(“/cgi-bin/”, “/etc/config/config” );
to: auth_add(“/cgi-bin/”, “/etc/passwd” );
在這裏插入圖片描述
然後進入目錄vendors/Marvell/Firefox/rc.net ,添加行/bin/boa & ,使其支持開發板啓動進入shell之前,運行boa服務器,如圖所示。
在這裏插入圖片描述
接着添加web服務器的頁面配置文件,copy following files(1-Basic) to user/cgi_generic :
index.html, cornerbg.gif, main.css ,如圖示。(首先將需要的文件放到共享文件夾裏)
在這裏插入圖片描述
在這裏插入圖片描述

接下來還需要修改Makefile文件,修改user/cgi_generic/Makefile, 添加如下所示:
$(ROMFSINST) /home/httpd/index.html
$(ROMFSINST) /home/httpd/main.css
$(ROMFSINST) /home/httpd/cornerbg.gif 如圖所示:
在這裏插入圖片描述
配置完成後,開始配置內核選項添加boa功能。在/s1/uClinux-dist目錄下執行make,進入配置內核的選項,在▪ App configuration裏面進入Network Applicatons, 選擇‘boa’ 。
在這裏插入圖片描述
然後編譯通過,下載到開發板上面,開機就會自動運行boa服務器,然後我們使用ps命令查看一下當前運行的進程有哪些,如圖所示可以看見boa服務器已經啓動。
在這裏插入圖片描述
接着就是進入PC機的瀏覽器,訪問boa服務器的IP地址,也就是開發板的IP地址,但是卻發現訪問失敗。如圖所示:
在這裏插入圖片描述
尋找問題,發現是本地網卡的IP地址,沒有設置和開發板是一個網段,所以首先將本地的網卡IP地址設置爲192.168.0.2,如圖所示:
在這裏插入圖片描述
然後開發板ping 通PC機並且PC機也要ping通開發板,如圖所示:
在這裏插入圖片描述
在這裏插入圖片描述
這時候再去訪問boa服務器可以看見編寫的網頁設計面,如圖所示:
在這裏插入圖片描述
這時候boa服務器的配置和訪問已經實現。

2.接下來實現頁面登錄的功能
重新修改配置,進入目錄/s1/uClinux-dist/user/boa,修改boa/src/defines.h,如下所示:
Modify boa/src/defines.h
modify: #undef ROOT_AUTH to: #define ROOT_AUTH
在這裏插入圖片描述
然後然後進入目錄/s1/uClinux-dist/user/boa,修改boa/src/config.c ,如圖所示。
modify: auth_add(“/index.html/”, “/etc/config/config” );
to: auth_add("/index.html/", “/etc/passwd” );
modify: auth_add(“/”, “/etc/config/config” );
to: auth_add("/", “/etc/passwd” ) ;
如圖所示:
在這裏插入圖片描述

配置完成後,編譯通過。然後進入secureCRT,使用TFTP下載新的內核文件系統,如圖所示。
在這裏插入圖片描述

下載完成後,重新啓動開發板,然後登錄網頁查看新的網頁設計,如圖所示,但是卻無法登錄進去。
在這裏插入圖片描述

這時候,經過思考,以及前面的sash的經驗,我猜應該是賬戶和密碼的問題,回過頭去檢查,vendors/Marvel/Firefox/passwd文件,發現是自己的粗心,設置錯誤,如圖所示。
在這裏插入圖片描述
將其改成下圖所示的內容。
在這裏插入圖片描述
然後重新編譯通過,下載到開發板,在瀏覽器裏面再次打開輸入正確的密文,成功登陸。(密碼默認的都是admin)

在這裏插入圖片描述
3.實現動態網頁
經過前面的配置過程,實現動態網頁也是很簡單的,將文件複製到user/cgi_generic (還是先將準備好的文件放到共享文件夾裏面)如圖所示;
在這裏插入圖片描述
然後重新編譯,下載,進入瀏覽器,訪問。
在這裏插入圖片描述
任意輸入,實現動態網頁。
在這裏插入圖片描述
這樣第三個實驗,實現了動態網頁。

4.實現菜單網頁
跟第三個實驗同樣的步驟,將準備好的文件複製到user/cgi_generic (還是先將準備好的文件放到共享文件夾裏面)如圖所示;
在這裏插入圖片描述
然後重新編譯,下載,進入瀏覽器,訪問。
在這裏插入圖片描述

在這裏插入圖片描述

總結:
對於boa服務器的移植,可以參考其他博主的博客,裏面都可以找到很詳細的過程,我以前也是做過,這個內核代碼已經移植好了boa,所以,節約了很多時間。因此,主力都在網頁設計上面,網頁的代碼我已經打包好了,到時候上傳(網頁程序是用的CGI(通用網關接口)----CGI應用程序能與瀏覽器進行交互,CGI能支持在網絡服務器下運行外部應用程序)。對於服務器的使用還是很重要的,可以體會一下整個過程還是很不錯的體驗,雖然不是專業的網頁設計方向的,但是多涉獵總是沒錯的,加油。

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