埋め込みWebサーバー移植



第一歩Boaプログラムの移植
1、Boaソースをダウンロードする
    ダウンロード先:http://www.boa.org/またはhttp://sourceforge.net
    最新バージョン:0.94.13
    boa-0.94.13.tar.gzをダウンロードします。boaからダウンロードしたのはboa-0.94.13.tarで、解凍方法は同じです。
    解凍:
xitar xzf boa-0.94.13.tar.gz
2、Makefileファイルを生成する
    src/configurファイルを直接実行します。
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、コンパイル
   
同前
   
〹/usr/local/arm/2.95.3/bin/arm-linux-strip boa
第二ステップBoaの構成
    Boaは/etcディレクトリの下にboaディレクトリを作成して、Boaの主な配置ファイルboa.com nfを入れます。Boaソースディレクトリの下では、例のboa.comがあります。それをもとに修正ができます。
1、Groupの修正
   
Group nogroupをGroup 0に変更します。
    ・etc/groupファイルにnogroupグループがないので、0に設定します。また/etc/passwdにはnobodyユーザーがいますので、User nobodyは修正しなくても大丈夫です。
2、scrīptAliasの修正
   
scrを修正īptAlias/cgi-bin/   /usr/lib/cgi-bin/scrīptAlias/cgi-bin/   /var/www/cgi-bin/
3、ServerNameの設定
ServerName wwww.your.org.hereを改訂しました。Server Name wwww.your.org.hereです。
    注意:この項目はデフォルトでは開いていないので、Boaを実行すると異常に退出します。「gethost byname:No such file or directory」を提示しますので、必ず開けてください。他のデフォルト設定で結構です。
第三部:Boaの実行
    設定に成功すると、ログファイルの所在ディレクトリ/var/log/boaを作成し、HTMLドキュメントのホームディレクトリ/var/wwwを作成して、そのディレクトリの下に静的なページを保存します。また、mime.typesファイルをコピー/etcディレクトリにコピーします。通常はlinuxホストの/etcディレクトリから直接コピーすればいいです。
    実際に実行すると、index.htmlファイルとディレクトリと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 &
    ブラウザに直接入力するhttp://192.168.1.107Red Hatの歓迎ページが表示されます。静的HTMLデバッグに成功しました。
第四ステップCGIスクリプトテスト
1、ハロルド.clプログラムを作成する#include <stdio.h>

int main(void)
{
        printf("Content-type: text/html

"
);
        printf("<html>
"
);
        printf("<head><title>CGI Output</title></head>
"
);
        printf("<body>
"
);
        printf("<h1>Hello,world.</h1>
"
);
        printf("<body>
"
);
        printf("</html>
"
);
        exit(0);
}
    クロスコンパイルでハローワールド.cgiを生成します。
⼵/usr/local/arm/2.95.3/bin/arm-linux-gcc-o hello world.cgi hello world.c
2、閲覧
    ハロルド.cgiを/var/www/cgi-bin/下にコピーして、ブラウザで入力します。