Linux下,我们可以用wu-ftp、tftp-server、proftpd、gssftp、vsftp等FTP服务程序来建立FTP服务器。因为wu-ftp(WashingtonUniversityFtp)广泛使用在各类Linux发行版本和多种的Unix(其中包括了IBMAIX、FreeBSD、HP-UX、各种BSD、Solaris等)中,同时它在因特网中的占有量超过了50%linux操作系统下载,但是如今Linux发行版本中都带有2.6版本的wu-ftp,因而下边以它为例介绍在Linux下怎样实现FTP虚拟主机。

虚拟主机安装要求

wu-ftpd提供了虚拟主机的功能。它通过一个FTP软件在同一台主机上提供不同FTP服务器,以主机名称或IP来分辨各个不同的虚拟主机。

wu-ftp有rpm和tar两种安装方法。rpm安装比较简单,可以直接通过rpmivhwu-ftp*.rpm就可以安装完成。下边主要介绍tar安装方法。

对于没有RPM安装程序包的Linux,可以从下载一个源程序tar代码包,这样可以更好地依照需求来订制wu-ftp所能支持的各类功能,包含一些附加的upload的速度、虚拟主机等功能。

1.解压缩包tar-zxvfwu-ftpd-current.tar.gz:

#cdwu-ftp

2.配置所须要的附加功能:

#./configure--enable-virtual

这个enable-virtual参数必须进行设定,通过设定了这个参数,提供虚拟主机的服务,同时降低了对FTP服务器的吞吐量,这样wu-ftp就拥有了虚拟主机的功能。

3.进行编译及安装

#make

#makeinstall

虚拟机安装教程linux_linux服务器虚拟_linux虚拟串口驱动

通过以上各个步骤,就早已把服务器成功地安装在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服务器早已安装成功。

linux服务器虚拟_linux虚拟串口驱动_虚拟机安装教程linux

在那些文件中有两个文件是关于虚拟主机配置的,其中ftpservers文件控制了当顾客登录不同虚拟主机时侯linux服务器虚拟,服务器采用不同的配置文件来进行功能设置。诸如在ftpservers中降低下边两个句子:

172.20.66.10/etc/ftpaccess.1

172.20.66.20/etc/ftpaccess.2

这两行参数指定了当用户从10IP访问的时侯,服务器指定的是ftpaccess.1的配置文件,而当用户从20IP访问的时侯puppy linux,服务器指定的是ftpaccess.2的配置文件。在下边配置虚拟主机的过程中linux服务器虚拟,须要这个文件的配合使用。

配置虚拟主机

1.给主机绑定多IP

wu-ftp的虚拟主机是构建在同一个主机、不同IP的基础上,因而要在同一台机器上配置多个IP地址。其中一个方式就是在一块网卡上绑定多个IP地址。

假如机器上有一块网卡,但是通过这个网卡来窃听FTP的服务恳求,我们就可以通过ifconfig命令来实现这个功能。

#ifconfigeth0:0172.20.66.2up

#ifconfigeth0:1172.20.66.3up

我们设置两个FTP虚拟主机,因而就在网卡上绑定两个IP地址。在Linux中,一个网卡理论上可以绑定16个IP地址。假如读者不想通过命令来执行,也可以自行改变/etc/sysconfig/networking中的配置文件,来达到同样目的。

2.配置ftpservers文件

关于ftpservers文件里面早已提及,在此例中可以用到以下的配置:

172.20.66.2/etc/ftpaccess1

172.20.66.3/etc/ftpaccess2

该文件给出了储存虚拟主机配置文件的路径,在顾客端对FTP服务器发出恳求的时侯,服务器将顾客端恳求的IP在该文件中进行查找,瞧瞧是否有匹配的配置文件。假如有匹配的配置文件,就调用该IP地址对应的目录中的配置文件作为该顾客端的配置文件。假如没有发觉匹配项,就使用默认的配置文件。在该文件中用IP地址或主机名都可以。假如用主机名,就须要/etc/hosts和DNS的支持,来进行解析为最终的IP。

因为在配置虚拟主机中,这个文件是可选的,用户可以不用为每位虚拟主机都设置不同的配置文件,通过在主ftpaccess文件中做一些设置也可以达到相应目的。我们就通过配置ftpaccess来实现虚拟主机的功能。

3.配置ftpaccess文件中的虚拟主机部份

虚拟服务器的ftpaccess配置文件与不提供虚拟服务器版本相比,降低了virtia、root、logfile等多个指令,这种都是在编译源代码的时侯形成的。下边就那些参数进行说明。

(1)virtual

virtual

里面各个参数设定了虚拟主机的各类基本配置,其中virtual参数前缀说明下边的参数是为了设定虚拟主机而设定的;address指定了虚拟主机的IP地址,这儿应当是172.20.66.2和172.20.66.3两个IP。

下边的参数都是构建在virtual下边的子参数:

◆root指定了该虚拟主机的ftp根目录;

◆banner指定了该虚拟主机的系统提示信息;

◆logfile指定了该虚拟主机的日志文件所在的位置;

◆hostname指定了该虚拟主机的主机名称;

◆email指定了该虚拟主机管理者的E-mail地址。

例如,在下例手指定了一个虚拟FTP服务器的配置情况:

#虚拟主机的配置设定

virtual172.20.66.2root/var/ftp/virtual1

virtual172.20.66.2banner/var/ftp/virtual/1.msg

virtual172.20.66.2logfile/var/log/ftp/virtual/1xferlog

virtual172.20.66.2hostname1

virtual172.20.66.2emailadmin@1

virtual172.20.66.3root/var/ftp/virtual2

virtual172.20.66.3banner/var/ftp/virtual/2.msg

virtual172.20.66.3logfile/var/log/ftp/virtual/2xferlog

virtual172.20.66.3hostname2

virtual172.20.66.3emailadmin@2

(2)virtual

allow[...]

virtual

deny[...]

里面那些参数设定虚拟主机的权限。其中allow和deny都是virtual的子参数,它们设定是否可以访问虚拟主机的设置。通常情况下real和guest两个class是用户不准许访问虚拟主机,该两个指示拿来重新对容许和拒绝访问的虚拟主机的用户进行定义,通过这种设置和ftpuser的搭配,可以愈发细化服务器。

(3)defaultserverdeny[...]

defaultserverallow[...]

defaultserverprivate

前面这几个参数设定了虚拟主机中访问权限默认值。请注意它们不是virtual的子参数。其中:

defaultserverprivate指定了默认的虚拟服务器是否拒绝anonymous用户访问。

defaultserverdeny指定了默认的虚拟服务器拒绝什么用户的访问。

defaultserverallow指定了默认的虚拟服务器接受什么用户的访问。

通过以上配置参数,再结合FTP其它的配置文件,这样一台PC机就可以作为多台FTP服务器使用。读者可以针对自己的需求,结合其它的wu-ftp的配置说明,来订制个性化的FTP服务器了。

本文原创地址:https://www.linuxprobe.com/lxrhsxfxnzjf.html编辑:刘遄,审核员:暂无