嵌入式boa伺服器搭建和移植
2.tar -xvf boa-0.94.13.tar.g
3./configure
4.修改Makefile
CC =or32-linux-gcc
CPP = or32-linux-gcc–E
5.修改boa.c,註釋下面幾行
if (setuid(0) != -1) { DIE(“icky Linux kernel bug!”); }改為/*if (setuid(0) != -1) { DIE(“icky Linux kernel bug!”); }*/ |
6.修改檔案compat.h
#define TIMEZONE_OFFSET(foo) foo##->tm_gmtoff
修改成
#define TIMEZONE_OFFSET(foo) (foo)->tm_gmtoff
7.make 編譯,這時候就會生成一個boa的可執行檔案
boa的配置檔案是boa.conf,大概的配置是這樣的:
Port 80 //服務訪問埠 User 0 Group 0 ErrorLog /var/log/boa/error_log //錯誤日誌地址 AccessLog /var/log/boa/access_log //訪問日誌檔案 DocumentRoot /var/www //HTML文件的主目錄 UserDir public_html // DirectoryIndex index.html //預設訪問檔案 DirectoryMaker /usr/lib/boa/boa_indexer KeepAliveMax 1000 //一個連線所允許的HTTP持續作用請求最大數目 KeepAliveTimeout 10 //HTTP持續作用中伺服器在兩次請求之間等待的時間數,以秒為單位 MimeTypes /etc/mime.types //指明mime.types檔案位置 DefaultType text/plain //副檔名沒有或未知的話,使用的預設MIME型別 CGIPath /bin:/usr/bin:/usr/local/bin //提供CGI程式的PATH環境變數值 Alias /doc /usr/doc //為路徑加上別名 ScriptAlias /cgi-bin/ /var/www/cgi-bin/ //輸入站點和CGI指令碼位置
對於除錯階段,可以把主機的目錄掛載到目標板上面,這樣就方便除錯。
假設主機的NFS共享目錄是/NFS,在NFS下面建立一個www的資料夾,然後在www的資料夾下面建立images,cig-bin目錄,還有一個index.html,可以隨便找一個主頁就可以了。在主機上
mkdir /NFS/www
mkdir /NFS/www/images
mkdir /NFS/www/cgi-bin
cp <dir>/index.html /NFS/www/
然後在板子上面建立/var/www的目錄
mkdir /var/www
mount -t nfs -o nolock <主機IP>:/NFS/www /var/www //掛載目標www
板子上建立日誌存放目錄,在板子上:
mkdir /var/log
mkdir /var/log/boa
對於boa配置檔案的移植,可以把主機上的boa.conf拷貝到主機的NFS共享目錄/NFS/www下面。
對於mime.types,直接用主機上/etc/mime.types就行了,拷貝到/NFS/www下面。
對於boa可執行檔案,拷貝到/NFS/www/下面。
在主機上:
cp /etc/mime.types /NFS/www/
cp <boa dir>/boa.conf /NFS/www/
cp <boa dir>/src/boa /NFS/www/
然後再在板子上把上面共享的檔案拷貝到自己系統上,注意此時只要對/var/www操作就行了,在主機上:
cp /var/www/mime.types /etc/mime.types
mkdir /etc/boa
cp /var/www/boa.conf /etc/boa/boa.conf
cp /var/www/boa /sbin/boa
/sbin/boa 啟動boa伺服器
在瀏覽器裡輸入板子的IP就可以測試了。