Linux操作系统下实现FTP虚拟主机的方法
2008-02-23 03:55:22来源:互联网 阅读 ()
虚拟主机是使用软件技术把一台运行在因特网上的服务器主机分成一台台相对有独立的域名和IP地址的“虚拟”主机,每一“虚拟”主机都具有完整的Internet服务器(WWW、FTP、E-mail等)功能。虚拟主机之间完全独立,在外界看来每一台虚拟主机和一台独立的主机完全一样。它解决了网络中处于不同域的网络段,分别在多台机器上安装FTP服务器太过浪费的问题。 在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的配置文件。在下面配置虚拟主机的过程中,需要这个文件的配合使用。
配置虚拟主机
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等多个指令,这些都是在编译源代码的时候产生的。下面就这些参数进行说明。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash
