第11课 网络服务

11.1 uClinux下安装boa

主要有三个Web 服务器:httpd、thttpd和Boa。httpd是最简单的一个Web 服务器,它的功能最弱,不支持认证,不支持CGI。thttpd和Boa都支持认证、CGI等,功能都比较全。若需提高系统的安全性,或需要与用户进行交互,例如数据查询、实时状态查询等,则必须使用动态Web技术,可以选择这两种服务器之一来实现。

接下来安装Boa服务器,在目录/work/Uclinux-dist下执行:sudo make xconfig,选择“User Setting”进行应用程序的配置,Network Applicatons->boa选择yes。如下图:

 

第二,增加路径:修改/uClinux-dist/vendors/Marvell/Firefox/Makefile文件,在ROMFS_DIRS=…后添加如下路径:

 

第三。修改/work/uClinux-dist/user/boa/src /config.c文件,将

auth_add(“/cgi-bin/”, “/etc/config/config” );注释掉,添加auth_add(“/cgi-bin/”, “/etc/passwd” );如下图:

 

然后修改/uClinux-dist/vendors/Marvell/Firefox/rc.net文件,在文件尾添加/bin/boa &,如下图:

 

第三,添加网络页面,将1-Basic文件夹里的index.html, cornerbg.gif, main.css三个文件复制到目录/work/uClinux-dist/user/cgi_generic里,这是从winndows操作系统复制到linux系统,采用的方法与第一节课的方法,从共享文件夹下复制。

 

修改/work/uClinux-dist /user/cgi_generic/Makefile文件。增加:

$(ROMFSINST) /home/httpd/index.html

$(ROMFSINST) /home/httpd/main.css

$(ROMFSINST) /home/httpd/cornerbg.gif

如下图:

 

烧录到开发板以后,在浏览器的地址栏里输入:192.168.0.1

 

接下来添加登录验证:

需要修改一些文件,第一,修改/work/uClinux-dist/user/boa/src/defines.h,将#undef ROOT_AUTH修改为#define ROOT_AUTH,如下图:

 

修改/work/uClinux-dist/user/boa/src/config.c文件,将auth_add(“/index.html/”, “/etc/config/config” );修改为auth_add("/index.html/", "/etc/passwd" );将auth_add(“/”, “/etc/config/config” );修改为auth_add("/", "/etc/passwd" );如下图:

 

修改/uClinux-dist/vendors/Marvel/Firefox/passwd文件,如下:

 

此时在烧进开发板里,登录192.168.0.1

 

 

这时候需要进行密码验证,输对了密码以后,进入到这个页面。

 

11.2 添加动态网页和框架

将3-Dynamic文件夹里的文件拷贝到/work/uClinux-dist/user/cgi_generic里,然后将他下进开发板里,同样登录192.168.0.1

然后再将4-Menu&frame文件夹里的内容复制到/work/uClinux-dist/user/cgi_generic里,编译以后,下载到开发板,此时,页面出现了框架

 

 

由于程序并不完整,选项里的内容没有,故打不开。

11.3 总结

这节课给我们展现了用boa搭建网络服务的方法,实验展显出来的是一个路由器设置的界面,非常具有代表性,对嵌入式的开发有了更浓厚的兴趣。

posted on 2018-10-23 15:31  Liu_Farrell  阅读(899)  评论(0)    收藏  举报

导航