|
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/makefile ROMFS_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 0 Group 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.html ScriptAlias/cgi-bin/ /home/web/cgi-bin/
这样指定后,.index.htm为远程浏览客户访问Web Server所看到的首页默认值,用C编写的CGI程序编译成二进制文件,放到/cgi-bin/目录下,CGI程序能被正确地执行。
3.6 Boa.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 up boa-c /home/&
修改后重新编译内核,再下载到开发板运行。运行uClinux后,不需要配置就可以直接通过IE来访问你的网页了。
|