配置虚拟主机
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来实现虚拟主机的功能。
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服务器的配置情况:
# 虚拟主机的配置设定
virtual 172.20.66.2 root /var/ftp/virtual1
virtual 172.20.66.2 banner /var/ftp/virtual/1.msg
virtual 172.20.66.2 logfile /var/log/ftp/virtual/1xferlog
virtual 172.20.66.2 hostname 1
virtual 172.20.66.2 email admin@1
virtual 172.20.66.3 root /var/ftp/virtual2
virtual 172.20.66.3 banner /var/ftp/virtual/2.msg
virtual 172.20.66.3 logfile /var/log/ftp/virtual/2xferlog
virtual 172.20.66.3 hostname 2
virtual 172.20.66.3 email admin@2 |
(2)virtual
allow [ ...]
virtual
deny [ ...] |
上面这些参数设定虚拟主机的权限。其中allow和 deny都是virtual的子参数,它们设定是否可以访问虚拟主机的设置。一般情况下real和guest两个class是用户不允许访问虚拟主机,该两个指示用来重新对允许和拒绝访问的虚拟主机的用户进行定义,通过这些设置和ftpuser的搭配,可以更加细化服务器。
(3)defaultserver deny [ ...]
defaultserver allow [ ...]
defaultserver private |
上面这几个参数设定了虚拟主机中访问权限默认值。请注意它们不是virtual的子参数。其中:
defaultserver private 指定了默认的虚拟服务器是否拒绝anonymous用户访问 。
defaultserver deny 指定了默认的虚拟服务器拒绝哪些用户的访问。
defaultserver allow 指定了默认的虚拟服务器接受哪些用户的访问。
通过以上配置参数,再结合FTP其它的配置文件,这样一台PC机就可以作为多台FTP服务器使用。读者可以针对自己的需求,结合其它的wu-ftp的配置说明,来定制个性化的FTP服务器了。