Linux平台下FTP虚拟主机的实现(2)

通过以上各个步骤,就已经把服务器成功地安装在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的配置文件。在下面配置虚拟主机的过程中,需要这个文件的配合使用。

配置虚拟主机

1.给主机绑定多IP

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

如果机器上有一块网卡,并且通过这个网卡来监听FTP的服务请求,我们就可以通过ifconfig命令来实现这个功能。

# ifconfig eth0:0 172.20.66.2 up

# ifconfig eth0:1 172.20.66.3 up

我们设置两个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来实现虚拟主机的功能。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wypsgz.html