1. 程式人生 > >嵌入式boa伺服器搭建和移植

嵌入式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就可以測試了。