Linux下實(shí)現(xiàn)FTP虛擬主機(jī)的方法 |
發(fā)布時(shí)間: 2012/8/11 10:01:05 |
虛擬主機(jī)是使用軟件技術(shù)把一臺(tái)運(yùn)行在因特網(wǎng)上的服務(wù)器主機(jī)分成一臺(tái)臺(tái)相對(duì)有獨(dú)立的域名和IP地址的“虛擬”主機(jī),每一“虛擬”主機(jī)都具有完整的Internet服務(wù)器(WWW、FTP、E-mail等)功能。虛擬主機(jī)之間完全獨(dú)立,在外界看來(lái)每一臺(tái)虛擬主機(jī)和一臺(tái)獨(dú)立的主機(jī)完全一樣。它解決了網(wǎng)絡(luò)中處于不同域的網(wǎng)絡(luò)段,分別在多臺(tái)機(jī)器上安裝FTP服務(wù)器太過浪費(fèi)的問題。
在Linux下,我們可以用wu-ftp、tftp-server、proftpd、gssftp、vsftp等FTP服務(wù)程序來(lái)構(gòu)建FTP服務(wù)器。由于wu-ftp(Washington University Ftp)廣泛使用在各種Linux發(fā)行版本和多種的Unix(其中包括了IBM AIX、FreeBSD、HP-UX、各種BSD、Solaris等)中,同時(shí)它在因特網(wǎng)中的占有量超過了50%,并且現(xiàn)在Linux發(fā)行版本中都帶有2.6版本的wu-ftp,因此下面以它為例介紹在Linux下如何實(shí)現(xiàn)FTP虛擬主機(jī)。 虛擬主機(jī)安裝要求 wu-ftpd提供了虛擬主機(jī)的功能。它通過一個(gè)FTP軟件在同一臺(tái)主機(jī)上提供不同F(xiàn)TP服務(wù)器,以主機(jī)名稱或IP來(lái)區(qū)分各個(gè)不同的虛擬主機(jī)。 wu-ftp有rpm和tar兩種安裝方式。rpm安裝比較簡(jiǎn)單,可以直接通過rpm ivh wu-ftp*.rpm 就可以安裝完成。下面主要介紹tar安裝方式。 對(duì)于沒有RPM安裝程序包的Linux,可以從http://www.wu-ftpd.org下載一個(gè)源程序tar代碼包,這樣可以更好地按照需求來(lái)定制wu-ftp所能支持的各種功能,包含一些附加的upload的速率、虛擬主機(jī)等功能。 1.解壓縮包tar -zxvf wu-ftpd-current.tar.gz: #cd wu-ftp 2.配置所需要的附加功能: #./configure --enable-virtual 這個(gè)enable-virtual參數(shù)必須進(jìn)行設(shè)定,通過設(shè)定了這個(gè)參數(shù),提供虛擬主機(jī)的服務(wù),同時(shí)增加了對(duì)FTP服務(wù)器的吞吐量,這樣wu-ftp就擁有了虛擬主機(jī)的功能。 3.進(jìn)行編譯及安裝 # make # make install 通過以上各個(gè)步驟,就已經(jīng)把服務(wù)器成功地安裝在Linux系統(tǒng)上了,F(xiàn)在系統(tǒng)上應(yīng)該包含了 /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等可執(zhí)行的程序,當(dāng)然還包含一些help,man的文檔。只要系統(tǒng)中包含了這些文件,就說(shuō)明FTP服務(wù)器已經(jīng)安裝成功。 在這些文件中有兩個(gè)文件是關(guān)于虛擬主機(jī)配置的,其中ftpservers 文件控制了當(dāng)客戶登陸不同虛擬主機(jī)時(shí)候,服務(wù)器采用不同的配置文件來(lái)進(jìn)行功能設(shè)置。例如在ftpservers中增加下面兩個(gè)語(yǔ)句: 172.20.66.10 /etc/ ftpaccess.1 172.20.66.20 /etc/ ftpaccess.2 這兩行參數(shù)指定了當(dāng)用戶從10 IP訪問的時(shí)候,服務(wù)器指定的是ftpaccess.1的配置文件,而當(dāng)用戶從20 IP訪問的時(shí)候,服務(wù)器指定的是ftpaccess.2的配置文件。在下面配置虛擬主機(jī)的過程中,需要這個(gè)文件的配合使用。 配置虛擬主機(jī) 1.給主機(jī)綁定多IP wu-ftp的虛擬主機(jī)是建立在同一個(gè)主機(jī)、不同IP的基礎(chǔ)上,因此要在同一臺(tái)機(jī)器上配置多個(gè)IP地址。其中一個(gè)方法就是在一塊網(wǎng)卡上綁定多個(gè)IP地址。 如果機(jī)器上有一塊網(wǎng)卡,并且通過這個(gè)網(wǎng)卡來(lái)監(jiān)聽FTP的服務(wù)請(qǐng)求,我們就可以通過ifconfig命令來(lái)實(shí)現(xiàn)這個(gè)功能。 # ifconfig eth0:0 172.20.66.2 up # ifconfig eth0:1 172.20.66.3 up 我們?cè)O(shè)置兩個(gè)FTP虛擬主機(jī),因此就在網(wǎng)卡上綁定兩個(gè)IP地址。在Linux中,一個(gè)網(wǎng)卡理論上可以綁定16個(gè)IP地址。如果讀者不想通過命令來(lái)執(zhí)行,也可以自行改變/etc/sysconfig/networking中的配置文件,來(lái)達(dá)到同樣目的。 2.配置ftpservers文件 關(guān)于ftpservers文件上面已經(jīng)提到,在此例中可以用到以下的配置: 172.20.66.2 /etc/ftpaccess1 172.20.66.3 /etc/ftpaccess2 該文件給出了存放虛擬主機(jī)配置文件的路徑,在客戶端對(duì)FTP服務(wù)器發(fā)出請(qǐng)求的時(shí)候,服務(wù)器將客戶端請(qǐng)求的IP在該文件中進(jìn)行查找,看看是否有匹配的配置文件。如果有匹配的配置文件,就調(diào)用該IP地址對(duì)應(yīng)的目錄中的配置文件作為該客戶端的配置文件。如果沒有發(fā)現(xiàn)匹配項(xiàng),就使用默認(rèn)的配置文件。在該文件中用IP地址或主機(jī)名都可以。如果用主機(jī)名,就需要/etc/hosts和DNS的支持,來(lái)進(jìn)行解析為最終的IP。由于在配置虛擬主機(jī)中,這個(gè)文件是可選的,用戶可以不用為每個(gè)虛擬主機(jī)都設(shè)置不同的配置文件,通過在主ftpaccess文件中做一些設(shè)置也可以達(dá)到相應(yīng)目的。我們就通過配置ftpaccess來(lái)實(shí)現(xiàn)虛擬主機(jī)的功能。 3.配置ftpaccess文件中的虛擬主機(jī)部分 虛擬服務(wù)器的ftpaccess配置文件與不提供虛擬服務(wù)器版本相比,增加了virtia、root、logfile等多個(gè)指令,這些都是在編譯源代碼的時(shí)候產(chǎn)生的。下面就這些參數(shù)進(jìn)行說(shuō)明。 (1)virtual virtual 上面各個(gè)參數(shù)設(shè)定了虛擬主機(jī)的各種基本配置,其中virtual參數(shù)前綴說(shuō)明下面的參數(shù)是為了設(shè)定虛擬主機(jī)而設(shè)定的;address指定了虛擬主機(jī)的IP地址,這里應(yīng)該是172.20.66.2和172.20.66.3兩個(gè)IP。 下面的參數(shù)都是建立在virtual下面的子參數(shù): ◆ root 指定了該虛擬主機(jī)的ftp根目錄; ◆ banner 指定了該虛擬主機(jī)的系統(tǒng)提示信息; ◆ logfile 指定了該虛擬主機(jī)的日志文件所在的位置; ◆ hostname 指定了該虛擬主機(jī)的主機(jī)名稱; ◆ email 指定了該虛擬主機(jī)管理者的E-mail地址。 比如,在下例中指定了一個(gè)虛擬FTP服務(wù)器的配置情況: # 虛擬主機(jī)的配置設(shè)定 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 本文出自:億恩科技【xuefeilisp.com】 服務(wù)器租用/服務(wù)器托管中國(guó)五強(qiáng)!虛擬主機(jī)域名注冊(cè)頂級(jí)提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |