关闭

boa服务移植 cgi的使用

标签: cgimakefilepathgccsocketlinux
2662人阅读 评论(0) 收藏 举报
分类:

一.交叉编译boa-0.94.14rc21:
    1.1 解压boa_0.94.14rc21.orig.tar.gz,进入boa_0.94.14rc21
    执行:
    ./configure --build=i486-linux-gnu --host=mipsel-linux --prefix=/usr
    
    1.2 修改src下的Makefile
    vi Makefile
    修改 CC = gcc为:      CC = mipsel-linux-gcc
    修改 CPP = gcc - E为: CPP = mipsel-linux-gcc -E
    保存退出
   
    1.3 修改src/defines.h
    将#define DEFAULT_PATH "/bin:/usr/bin:/usr/local/bin"
    改为#define DEFAULT_PATH "/bin:/usr/bin:/var/www"
    保存退出
   
    1.4 在src下执行 make
    mipsel-linux-strip boa
    cp boa到开发板文件系统的 /usr/bin下

二、boa的配置
    2.1 在开发板的文件系统中操作:
    Boa需要在/etc目录下建立一个boa目录,里面放入Boa的主要配置文件boa.conf。
    在Boa源码目录下已有一个示例boa-0.94.14rc21/examples/boa.conf,可以在其基础上进行修改.
    boa.conf修改内容:
    User 0
    Group 0
    #DirectoryMaker /usr/lib/boa/boa_indexer
    CGIPath /bin:/usr/bin:/var/www/cgi-bin
    ScriptAlias /cgi-bin/ /var/www/cgi-bin/
    保存退出。

    2.2 在开发板的文件系统中创建下面的目录、文件:
    mkdir -p /var/log/boa
    mkdir -p /var/www/
    chmod 777 /var/www
    mkdir -p /var/www/cgi-bin
    chmod 777 /var/www/cgi-bin
    touch /etc/ld.so.preload
    touch /etc/ld.so.cache
    touch /var/run/.nscd_socket

    2.3从交叉工具链/opt/gcc-3.3.6-glibc-2.3.6/mipsel-linux/lib拷贝库文件到开发把的文件系统的/lib
    cp -av libnss_files.so libnss_files.so.2 libnss_files-2.3.6.so libnss_nis.so libnss_nis.so.2 libnss_nis-2.3.6.so libnss_nisplus.so libnss_nisplus.so.2   libnss_nisplus-2.3.6.so
    将mime.types文件复制到/etc目录下,通常可以从Linux主机的/etc目录下直接复制即可
三、cgi.html的配置
    3.1 交叉编译get.c  post.c
    在PC上操作:
    mipsel-linux-gcc -o get get.c
    mipsel-linux-gcc -o post post.c
    将生成的get  post拷贝到开发板文件系统,存放路径:/var/www/cgi-bin

    3.2 将cgi.html拷贝到开发板文件系统,存放路径:/var/www

四、运行boa
    在开发板上运行boa:  ./usr/sbin/boa

五、在IE地址栏中输入:(linux/windows均可)
    http://开发板ip地址/cgi.html
 

ps:还有一种方法  c语言写的html
hellocgi.c
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
     printf("Content-type:text/html/n/n");
     printf("<html>/n");
     printf("<head><title>CGI Output</title></head>/n");
     printf("<body>/n");
     printf("<h1>HELLO,WORLD.</h1>/n");
     printf("<body>/n");
     printf("</html>/n");
     exit(0);
     }

然后把它编译成CGI可执行程序
mipsel-linux-gcc -o helloCGI helloCGI.c

cp helloCGI /nfsroot/rootfs/var/www/cgi-bin

然后在IE里面输入:
http://192.168.4.128/cgi-bin/helloCGI
可以看到  HELLO WORLD 说明boa成功运行

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:352557次
    • 积分:3183
    • 等级:
    • 排名:第11143名
    • 原创:30篇
    • 转载:80篇
    • 译文:0篇
    • 评论:28条
    最新评论