[转载] S3C4510上嵌入式Web服务器-boa在uclinux下的的移植

来源:互联网 发布:内饰 防御机制 知乎 编辑:程序博客网 时间:2024/04/30 02:41

[转载] S3C4510上嵌入式Web服务器-boa在uclinux下的的移植 http://blog.chinaunix.net/u/30715/showart_432120.html

uClinux下,主要有三个Web Server:httpd、thttpd和Boa。Httpd是最简单的一个Web Server,它的功能最弱,不支持认证,不支持CGI。Thttpd和Boa都支持认证、CGI等,功能都比较全。为了实现动态Web技术,这里我们选择实现一个支持CGI的、非常适合于嵌入式系统的Boa Web Server。

Boa是一个单任务的http服务器,源代码开放、性能高。目前,uClinux的代码中已经包含boa的源代码,在uClinux下实现 Boa,需要对Boa做一些配置和修改。这主要通过对boa.conf和mime.types文件进行修改来实现,需要改动的配置有以下几项。

(1)建目录由于uClinux默认的根文件系统romfs是只读的,不能用mkdir等命令来新建目录,故应在编译内核前先建好要用到的目录,这通过修改 / uclinux-samsung/vendors/Samsung/4510b/makefileROMFS_DIRS=bin dev etc home lib mnt proc usr var的后边增加home/web home/web/cgi-bin 3.7然后在/uclinux- samsung/Vendors/Samsung/4510b/inittab里修改,在:inet:unknown:/bin/inetd后加入: boa:unknown:/bin/boac/home。

(2)指定Web服务器的根目录路径(SERVER_ROOT) /uclinux-samsung/user/boa/src/目录,通过修改define.h文件中#define ERVER_ROOT“/home”语句来指定SERVER_ROOT。    

(3)修改boa.conf文件

3.1在./uclinux-samsung/user/boa/src/boa.conf里修改:*将user obody改为User 0Group ogroup改为Group 0;

3.2*将DocumentRoot/var/www改为DocumentRoot/home/web,  

3.4*将MimeTypes/etc/mime.types改为MimeTypes/home/web/mime.types;

3.5定义默认首页和CGI程序所在目录,即 DirectoryIndex index.htmlScriptAlias/cgi-bin/ /home/web/cgi-bin/ 这样指定后,.index.htm为远程浏览客户访问Web Server所看到的首页默认值,用C编写的CGI程序编译成二进制文件,放到/cgi-bin/目录下,CGI程序能被正确地执行。

3.6Boa.conf文件和mime.types文件必须放到Web服务器根目录下,所以把修改后的bao.conf和mime.types拷贝到 “./uclinux-samsung/romfs/home/”目录下。

3.8  make menuconfig------>kernel--->user setting---->miscellaneous configuration--->generic cgi& cgihtml 配置过程后,重新编译内核,编译时选中Boa选项。

把编译好的内核下载到开发 板,启动uClinux,完成IP配置,启动Boa Web Server,然后就可以通过IE访问你的网页了。如果想启动uClinux时自动启动Boa Web Server,可以修改rc文件,进入uclinux-samsung/vendors/Samsung/4510B目录,在运行脚本rc中增加两行: ifconfig eth0 192.168.168.101 upboa-c /home/& 修改后重新编译内核,再下载到开发板运行。运行uClinux后,不需要配置就可以直接通过IE来访问你的网页了。

 

原创粉丝点击