Apache2基于域名的虛擬主機(jī)實(shí)現(xiàn)
Apache2基于域名的虛擬主機(jī)實(shí)現(xiàn)作者:sunry主頁(yè) http://www.bmwm.cn微博 http://weibo.com/usenrong1、概述The Realization of Vi
Apache2基于域名的虛擬主機(jī)實(shí)現(xiàn)
作者:sunry
主頁(yè) http://www.bmwm.cn
微博 http://weibo.com/usenrong
1、概述The Realization of Virtual Host of APACHE Based on Domain Names
針對(duì)各個(gè)子站點(diǎn)使用獨(dú)立域名訪問(wèn)同一IP 地址并搭載在同一臺(tái)Web 服務(wù)器上,提出了基于域名的APACHE Web 運(yùn)用服務(wù)系統(tǒng)的虛擬主機(jī)處置方案。經(jīng)過(guò)對(duì)BIND9域名解析軟件及APACHE 運(yùn)用軟件系統(tǒng)的配置提供虛擬主機(jī)服務(wù),完成各子站點(diǎn)的獨(dú)立域名訪問(wèn)。
2、基于域名的虛擬主機(jī)
虛擬主機(jī)(Virtual Host)是運(yùn)用特殊 的軟硬件技術(shù),把一臺(tái)運(yùn)轉(zhuǎn)在因特網(wǎng)上的服務(wù)器主機(jī)分紅一臺(tái)臺(tái)“虛擬”的主機(jī),每一臺(tái)虛擬主機(jī)都具有獨(dú)立的域名或IP 地址,具有完整的InterNET 服務(wù)器(WWW 、FTP 、Email 等)功用。其主要優(yōu)點(diǎn):虛擬主機(jī)之間完全獨(dú)立,并可由用戶自行治理 。
基于域名的虛擬主機(jī)是指服務(wù)器上運(yùn)轉(zhuǎn)每一臺(tái)虛擬主機(jī)都具有獨(dú)立域名解析;運(yùn)轉(zhuǎn)主要原理是客戶端在訪問(wèn)網(wǎng)絡(luò)站點(diǎn)時(shí)所提交域名信息,經(jīng)過(guò)DNS 解析到相應(yīng)的網(wǎng)絡(luò)服務(wù)器,再由網(wǎng)絡(luò)服務(wù)器檢其HTTP 頭信息,由APACHE 軟件對(duì)HTTP 頭信息中的主機(jī)名停止查找,指向相對(duì)應(yīng)的虛擬目錄并提供主頁(yè)訪問(wèn)服務(wù)器。
基于域名的虛擬主機(jī)主要優(yōu)點(diǎn)是:可以完成多個(gè)網(wǎng)絡(luò)站點(diǎn)共享一個(gè)IP 地址;多個(gè)虛擬站點(diǎn)可以共享一個(gè)數(shù)據(jù)庫(kù)系統(tǒng),同時(shí)方便治理 員對(duì)虛擬主機(jī)數(shù)據(jù)庫(kù)的維護(hù)。依據(jù)其原理,完成基于域名的虛擬主機(jī)主要處置兩個(gè)效果,一是設(shè)計(jì)獨(dú)立域名,更改DNS 服務(wù)器的配置;二是在APACHE 運(yùn)轉(zhuǎn)的WEB 服務(wù)器上配置虛擬主機(jī)。 2.1 DNS服務(wù)器配置
DNS 服務(wù)器在整個(gè)網(wǎng)絡(luò)的運(yùn)轉(zhuǎn)進(jìn)程中起著十分重要的作用,可以把域名解析為獨(dú)立的IP 地址,也可以把IP 地址解析成域名。完成獨(dú)立域名支持的虛擬主機(jī)需求在DNS 服務(wù)器上更改相應(yīng)的配置,當(dāng)客戶端停止DNS 央求時(shí),DNS 服務(wù)器可以把域名解析成IP 地址,以到達(dá)找到該主機(jī)的目的。一臺(tái)WEB 服務(wù)器上放置了多個(gè)網(wǎng)絡(luò)站點(diǎn)并且都在一個(gè)域下,只是在主機(jī)中所處目錄不同。例如:http:// wiki.js.todaysoft.com.cn ,http:// othersite.js.todaysoft.com.cn 區(qū)分屬于知識(shí)庫(kù)和其他站點(diǎn)。兩個(gè)學(xué)站點(diǎn)同在WEB 服務(wù)器主機(jī)的/var/www 和/var/www/othersite目錄下。DNS 服務(wù)器就是讓外部訪問(wèn)的域名可以指向WEB 服務(wù)器。如何讓各站點(diǎn)主頁(yè)依據(jù)其域名來(lái)判別其主頁(yè)位置由APACHE 虛擬主機(jī)來(lái)完成。要完成各站點(diǎn)獨(dú)立域名訪問(wèn),首先,確定域名的格式,各站點(diǎn)以其目錄稱號(hào)為域名的最前端,例如:“知識(shí)庫(kù)”對(duì)就目錄“www ”設(shè)置域名:http://wiki.js.todaysoft.com.cn,
,其它站點(diǎn)類推。其次,配置DNS 服務(wù)器。DNS 服務(wù)器主要配置文件都在/etc/bind目錄下,DNS 服務(wù)器完成的解析進(jìn)程分為正向解析,所要完成的獨(dú)立域名,需求把這些域名和服務(wù)器上的一個(gè)IP 地址樹立映射關(guān)系。在正向解析文件中需求更改IN 記載。(DNS 服務(wù)器,WEB 服務(wù)器測(cè)試在內(nèi)網(wǎng)同一服務(wù)器上)
創(chuàng)建正向解析
zone "js.todaysoft.com.cn" {
type master;
file "/var/lib/bind/js.todaysoft.com.cn.hosts";
};
創(chuàng)建js.todaysoft.com.cn.hosts 文件內(nèi)容如下
$ttl 38400
js.todaysoft.com.cn. IN SOA ns.js.todaysoft.com.cn. youshengrong.js.todaysoft.com.cn.
(
1292202854
10800
3600
604800
38400 )
js.todaysoft.com.cn. IN NS ns.js.todaysoft.com.cn.
wiki.js.todaysoft.com.cn. IN A 192.168.12.113
othersite.js.todaysoft.com.cn. IN A 192.168.12.113
ns.js.todaysoft.com.cn. IN A 192.168.12.113
2.2 WEB服務(wù)器基于域名的虛擬主機(jī)配置
2.2.1 確定虛擬主機(jī)的虛擬目錄
依據(jù)WEB 服務(wù)器目錄結(jié)構(gòu)狀況不需求更改虛擬目錄的指向。
即/var/www/othersite對(duì)應(yīng)域名虛擬主機(jī)網(wǎng)址是:http:// othersite.js.todaysoft.com.cn,
目錄/var/www對(duì)應(yīng)域名知識(shí)庫(kù)虛擬主機(jī)網(wǎng)址是:http:// wiki.js.todaysoft.com.cn。
2.2.2 建立虛擬主機(jī)
配置虛擬主機(jī)othersite.js.todaysoft.com.cn
創(chuàng)建配置文件/etc/apache2/sites-available/othersite.js.todaysoft.com.cn.conf
配置內(nèi)容
DocumentRoot "/var/www/othersite"
ServerName othersite.js.todaysoft.com.cn
allow from all
,Options Indexes
配置虛擬主機(jī)wiki.js.todaysoft.com.cn
創(chuàng)建配置文件/etc/apache2/sites-available/wiki.js.todaysoft.com.cn.conf
配置內(nèi)容
DocumentRoot "/var/www"
ServerName wiki.js.todaysoft.com.cn
allow from all
Options Indexes
對(duì)此配置語(yǔ)句作如下說(shuō)明:
1
2 ServerName wiki.js.todaysoft.com.cn:設(shè)置虛擬主機(jī)的域名。
3 ServerAdmin youshengrong@163.com:設(shè)置該虛擬主機(jī)網(wǎng)管員的郵件(可選)。
4 DocumentRoot /var/www:設(shè)置該虛擬主機(jī)的主目錄路徑。
5 ErrorLog “/var/log/apache2/wiki_errors.log” :設(shè)置該虛擬主機(jī)的出錯(cuò)日志(可選)。
6 CustomLog “/var/log/apache2/wiki_accesses.log” common :設(shè)置改虛擬主機(jī)的訪問(wèn)信息文件(可選)。
2.2.3 啟用虛擬主機(jī)
運(yùn)行sudo a2ensite wiki.js.todaysoft.com.cn.conf
sudo a2ensite othersite.js.todaysoft.com.cn.conf
發(fā)現(xiàn)在 /etc/apache2/sites-enabled/ 目錄中多了一個(gè)到 /etc/apache2/sites-available/
othersite.js.todaysoft.com.cn.conf 的軟鏈接。接下來(lái)重啟apache2
sudo /etc/init.d/apache2 restart
這樣虛擬主機(jī)的站點(diǎn)wiki.js.todaysoft.com.cn 和othersite.js.todaysoft.com.cn.conf 就設(shè)置成功了。在瀏覽器中輸入http:// othersite.js.todaysoft.com.cn.conf 就可以訪問(wèn)到你放在/var/www/othersite目錄下的站點(diǎn)。
,
在瀏覽器中輸入http:// wiki.js.todaysoft.com.cn.conf 就可以訪問(wèn)到你放在/var/www目錄下的站

點(diǎn)