(七)嵌入式:Uclinux下实现嵌入式web服务器BOA的配置

版权声明:wahahaguolinaiyou https://blog.csdn.net/wahahaguolinaiyou/article/details/85143226

此次试验要做的是嵌入式服务器boa的配置。因为boa服务器已经移植好了,所以我们要做的就是配置。
简单介绍一下boa服务器:boa 服务器是一个小巧高效的web服务器,是一个运行于unix或linux下的,支持CGI的、适合于嵌入式系统的单任务的http服务器,源代码开放、性能高。
我的内核已经移植好了boa,剩下的就是配置的操作。
1.首先配置支持显示编写好的网页
进入并修改文件/uClinux-dist/vendors/Marvell/Firefox/Makefile ,添加三项
home/httpd home/httpd/cgi-bin home/httpd/images
在这里插入图片描述
然后进入目录/s1/uClinux-dist/user/boa,修改boa/src/config.c ,如图所示。
modify: auth_add(“/cgi-bin/”, “/etc/config/config” );
to: auth_add(“/cgi-bin/”, “/etc/passwd” );
在这里插入图片描述
然后进入目录vendors/Marvell/Firefox/rc.net ,添加行/bin/boa & ,使其支持开发板启动进入shell之前,运行boa服务器,如图所示。
在这里插入图片描述
接着添加web服务器的页面配置文件,copy following files(1-Basic) to user/cgi_generic :
index.html, cornerbg.gif, main.css ,如图示。(首先将需要的文件放到共享文件夹里)
在这里插入图片描述
在这里插入图片描述

接下来还需要修改Makefile文件,修改user/cgi_generic/Makefile, 添加如下所示:
$(ROMFSINST) /home/httpd/index.html
$(ROMFSINST) /home/httpd/main.css
$(ROMFSINST) /home/httpd/cornerbg.gif 如图所示:
在这里插入图片描述
配置完成后,开始配置内核选项添加boa功能。在/s1/uClinux-dist目录下执行make,进入配置内核的选项,在▪ App configuration里面进入Network Applicatons, 选择‘boa’ 。
在这里插入图片描述
然后编译通过,下载到开发板上面,开机就会自动运行boa服务器,然后我们使用ps命令查看一下当前运行的进程有哪些,如图所示可以看见boa服务器已经启动。
在这里插入图片描述
接着就是进入PC机的浏览器,访问boa服务器的IP地址,也就是开发板的IP地址,但是却发现访问失败。如图所示:
在这里插入图片描述
寻找问题,发现是本地网卡的IP地址,没有设置和开发板是一个网段,所以首先将本地的网卡IP地址设置为192.168.0.2,如图所示:
在这里插入图片描述
然后开发板ping 通PC机并且PC机也要ping通开发板,如图所示:
在这里插入图片描述
在这里插入图片描述
这时候再去访问boa服务器可以看见编写的网页设计面,如图所示:
在这里插入图片描述
这时候boa服务器的配置和访问已经实现。

2.接下来实现页面登录的功能
重新修改配置,进入目录/s1/uClinux-dist/user/boa,修改boa/src/defines.h,如下所示:
Modify boa/src/defines.h
modify: #undef ROOT_AUTH to: #define ROOT_AUTH
在这里插入图片描述
然后然后进入目录/s1/uClinux-dist/user/boa,修改boa/src/config.c ,如图所示。
modify: auth_add(“/index.html/”, “/etc/config/config” );
to: auth_add("/index.html/", “/etc/passwd” );
modify: auth_add(“/”, “/etc/config/config” );
to: auth_add("/", “/etc/passwd” ) ;
如图所示:
在这里插入图片描述

配置完成后,编译通过。然后进入secureCRT,使用TFTP下载新的内核文件系统,如图所示。
在这里插入图片描述

下载完成后,重新启动开发板,然后登录网页查看新的网页设计,如图所示,但是却无法登录进去。
在这里插入图片描述

这时候,经过思考,以及前面的sash的经验,我猜应该是账户和密码的问题,回过头去检查,vendors/Marvel/Firefox/passwd文件,发现是自己的粗心,设置错误,如图所示。
在这里插入图片描述
将其改成下图所示的内容。
在这里插入图片描述
然后重新编译通过,下载到开发板,在浏览器里面再次打开输入正确的密文,成功登陆。(密码默认的都是admin)

在这里插入图片描述
3.实现动态网页
经过前面的配置过程,实现动态网页也是很简单的,将文件复制到user/cgi_generic (还是先将准备好的文件放到共享文件夹里面)如图所示;
在这里插入图片描述
然后重新编译,下载,进入浏览器,访问。
在这里插入图片描述
任意输入,实现动态网页。
在这里插入图片描述
这样第三个实验,实现了动态网页。

4.实现菜单网页
跟第三个实验同样的步骤,将准备好的文件复制到user/cgi_generic (还是先将准备好的文件放到共享文件夹里面)如图所示;
在这里插入图片描述
然后重新编译,下载,进入浏览器,访问。
在这里插入图片描述

在这里插入图片描述

总结:
对于boa服务器的移植,可以参考其他博主的博客,里面都可以找到很详细的过程,我以前也是做过,这个内核代码已经移植好了boa,所以,节约了很多时间。因此,主力都在网页设计上面,网页的代码我已经打包好了,到时候上传(网页程序是用的CGI(通用网关接口)----CGI应用程序能与浏览器进行交互,CGI能支持在网络服务器下运行外部应用程序)。对于服务器的使用还是很重要的,可以体会一下整个过程还是很不错的体验,虽然不是专业的网页设计方向的,但是多涉猎总是没错的,加油。

猜你喜欢

转载自blog.csdn.net/wahahaguolinaiyou/article/details/85143226