在Linux下,我们可以用wu-ftp、tftp-server、proftpd、gssftp、vsftp等FTP服务程序来构建FTP服务器。由于wu-ftp(Washington University Ftp)广泛使用在各种Linux发行版本和多种的Unix(其中包括了IBM AIX、FreeBSD、HP-UX、各种BSD、Solaris等)中,同时它在因特网中的占有量超过了50%,并且现在Linux发行版本中都带有2.6版本的wu-ftp,因此下面以它为例介绍在Linux下如何实现FTP虚拟主机。
虚拟主机安装要求
wu-ftpd提供了虚拟主机的功能。它通过一个FTP软件在同一台主机上提供不同FTP服务器,以主机名称或IP来区分各个不同的虚拟主机。
wu-ftp有rpm和tar两种安装方式。rpm安装比较简单,可以直接通过rpm ivh wu-ftp*.rpm 就可以安装完成。下面主要介绍tar安装方式。
对于没有RPM安装程序包的Linux,可以从http://www.wu-ftpd.org下载一个源程序tar代码包,这样可以更好地按照需求来定制wu-ftp所能支持的各种功能,包含一些附加的upload的速率、虚拟主机等功能。
1.解压缩包tar -zxvf wu-ftpd-current.tar.gz:
#cd wu-ftp |
2.配置所需要的附加功能:
#./configure --enable-virtual |
这个enable-virtual参数必须进行设定,通过设定了这个参数,提供虚拟主机的服务,同时增加了对FTP服务器的吞吐量,这样wu-ftp就拥有了虚拟主机的功能。
3.进行编译及安装
# make # make install |
通过以上各个步骤,就已经把服务器成功地安装在Linux系统上了。现在系统上应该包含了
/etc/ftpaccess /etc/ftpconversions /etc/ftpgroups /etc/ftphosts /etc/ftpusers |
配置文件,以及
/usr/bin/ftpcount /usr/bin/ftpwho /usr/sbin/ftprestart /usr/sbin/ftpshut /usr/sbin/in.ftpd |
等可执行的程序,当然还包含一些help,man的文档。只要系统中包含了这些文件,就说明FTP服务器已经安装成功。
在这些文件中有两个文件是关于虚拟主机配置的,其中ftpservers 文件控制了当客户登陆不同虚拟主机时候,服务器采用不同的配置文件来进行功能设置。例如在ftpservers中增加下面两个语句:
172.20.66.10 /etc/ ftpaccess.1 172.20.66.20 /etc/ ftpaccess.2 |
这两行参数指定了当用户从10 IP访问的时候,服务器指定的是ftpaccess.1的配置文件,而当用户从20 IP访问的时候,服务器指定的是ftpaccess.2的配置文件。在下面配置虚拟主机的过程中,需要这个文件的配合使用。