在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 5662|回复: 5

【itellyou】项目四 FTP/WEB 服务器

[复制链接]
发表于 2014-8-17 21:42:49 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x

项目四要求在microZED开发板上面搭建FTP/WEB服务器,题目本身并没有其他的限制。

实际上,在开发板的文件系统中,已经有基于bysyboxhttpdWEB服务器和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文件可以拷贝主机的文件,日志

文件也只需要建立相应的目录即可。

1boa.conf

/etc下面建立boa文件夹,复制源代码中的boa.conf,完成如下的修改。

2mime.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 程序,移植CGICtest程序到开发板中,结果如下图所示。



5.CGIC test响应结果。




四 vsftpd FTP服务器


1.使用浏览器匿名访问


2.打开ftp服务器上的文件



五 总结


附件里面是我自己生成的包含所有测试文件在内的文件系统,可以直接下载到

microzed里面运行。

uramdisk.image.gz (5.51 MB, 下载次数: 21 )



 楼主| 发表于 2014-8-17 22:56:40 | 显示全部楼层
回复 1# itellyou


   图片全挂了,唉。。要怎么使用啊
发表于 2014-8-22 05:02:44 | 显示全部楼层
楼主好强大
发表于 2014-8-25 10:54:13 | 显示全部楼层
感謝分享
发表于 2015-3-21 19:47:36 | 显示全部楼层
very nice
发表于 2018-7-27 16:33:19 | 显示全部楼层
KANKKAN
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-12-26 10:01 , Processed in 0.021977 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表