马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
项目四要求在microZED开发板上面搭建FTP/WEB服务器,题目本身并没有其他的限制。 实际上,在开发板的文件系统中,已经有基于bysybox的httpdWEB服务器和ftpd服务器. 将开发板的ramdisk文件系统挂载到电脑上来查看开机自启动文件/etc​/init.d/rcS 文件。
可以看到,在27行启动httpd服务器,在33行启动ftpd服务器(行数略有变化,以文件内容为准)。
查看系统目录/usr/sbin/下的tftpd 和httpd的属性。
可以看到,这两个文件都是链接到busybox里面的。
在嵌入式系统中,busybox的重要性不言而喻,但是基于busybox的嵌入式web服务器和ftp服务器 在可配置性和性能方面还是有明显的不足。在这里,我打算移植boaWEB服务器和vfstpdFTP服务器 来实现题目要求。
一boa WEB 服务器
Boa是使用最为广泛的轻量级WEB服务器之一,它是一种非常小巧的Web服务器, 其可执行代码只有大约60KB左右。作为一种单任务Web服务器,Boa只能依次完 成用户的请求,而不会fork出新的进程来处理并发连接请求。但Boa支持CGI,能 够为CGI程序fork出一个进程来执行,Boa的设计目标是速度和安全。 1.从官网(www.boa.org)下载boa源代码boa-0.94.13.tar.gz 2.解压缩到方便的目录下,修改src/Makefile中的交叉编译器为arm-xilinx-linux-gnueabi- 完成交叉编译,在src目录下生成了可以在microZed上运行的WEB服务器程序。 3.配置 boa的配置文件为boa.conf,配置完成后还需要mime.types文件,日志文件。boa.conf文件 在源代码中有提供,可以在此基础上进行修改,mime.types文件可以拷贝主机的文件,日志 文件也只需要建立相应的目录即可。 (1)boa.conf 在/etc下面建立boa文件夹,复制源代码中的boa.conf,完成如下的修改。 (2)mime.types 复制电脑中的该文件到开发板文件系统的/etc目录下 (3)日志文件 在开发板文件系统的/var/log下建立boa目录,boa.conf文件中指定日志目录到该目录下. 4.生成ramdisk文件系统 生成流程参考网址:xxxx,也可以直接在开发板上进行修改,但是重启之后所做的修改都没了, 所以还是自己生成需要的文件系统为好,也方便以后的使用。在最后附有我修改生成的文件系 统。
至此,boaWEB服务器的移植工作就完成了。考虑到boa支持CGI,因此下一步移植CGIC, 来方便CGI程序的开发。
二CGIC的移植 1.下载源码cgic206.tar.gz。官网(http://www.boutell.com/cgic/) 2.解压,配置交叉编译器,编译生成cgitest.cgi. 3.配置 在开发板的文件系统的/var/www下建立cgi-bin目录。(boa.conf中配置所需)
4.建立wwwWEB访问目录。目录结构如下图所示。
三boa WEB服务器的测试
开发板的IP地址为192.168.1.10,通过网线连接开发板和PC机,并设置PC机的IP地址为同一网段。 在浏览器中输入开发板的IP,就可以看到boaWEB 服务器的INDEX页面了。
1.静态网页测试
2.自己编写的html文档测试
自己编写一个简单的html文件,通过浏览器访问,测试页面如下图所示。
3.CGI 测试 在CGI-BIN下交叉编译一个简单的HELLOWORLD 程序,即使用C语言依次打印出相应的HTML文件, 测试结果如下图所示。
4.CGIC test测试
通过移植CGIC,方便使用CGIC库来开发CGI 程序,移植CGIC的test程序到开发板中,结果如下图所示。
5.CGIC test响应结果。
四 vsftpd FTP服务器
1.使用浏览器匿名访问
2.打开ftp服务器上的文件
五 总结
附件里面是我自己生成的包含所有测试文件在内的文件系统,可以直接下载到 microzed里面运行。
uramdisk.image.gz
(5.51 MB, 下载次数: 21 )
|