前言:
-------------------------------------------------------------------------
案例環境一:基于域名的虛拟WEB主機
案例描述:
3)建構基于域名的虛拟主機伺服器,用于支撐以上兩個WEB站點。
案例實施:
1)為虛拟主機提供域名解析
# yum -y install bind bind-chroot caching-nameserver //安裝bind
# cd /var/named/chroot/etc/
# cp -p named.caching-nameserver.conf named.conf //生成全局配置檔案
# vi named.conf //編輯全局配置檔案
options {
listen-on port 53 { 192.168.100.110; };
……
allow-query { any; };
allow-query-cache { any; };
};
……
view 100 {
match-clients { any; };
match-destinations { any; };
recursion yes;
include "/etc/named.zones";
};
# cp -p named.rfc1912.zones named.zones //生成主配置檔案
# vi named.zones //編輯主配置檔案
zone "yye1.com." IN {
type master;
file "yye1.com.zero";
allow-update { none; };
};
zone "minitoo.com." IN {
file "minitoo.com.zero";
};
# cd ../var/named/ //切換區域配置檔案目錄
# cp -p named.zero yye1.com.zero //生成yye1.com區域配置檔案
# cp -p named.zero minitoo.com.zero //生成minitoo.com區域配置檔案
# vi yye1.com.zero //修改yye1.com區域配置檔案
$TTL 86400
@ IN SOA dnssvr.yye1.com. dongjun.yye1.com. (
42 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
IN NS dnssvr.yye1.com.
dnssvr IN A 192.168.100.110
www IN A 192.168.100.100
# vi minitoo.com.zero //修改minitoo.com區域配置檔案
$TTL 86400
@ IN SOA dnssvr.yye1.com. dongjun.yye1.com. (
42 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
IN NS dnssvr.yye1.com.
www IN A 192.168.100.100
# service named start //啟動named服務
Starting named: [ OK ]
# vi /etc/hosts
192.168.100.100 www.yye1.com www.minitoo.com
2)為虛拟主機準備網頁文檔。
# mkdir -p /var/www/html/yye1.com
# mkdir -p /var/www/html/minitoo.com
3.在以上兩個檔案夾中建立index.html檔案,編寫不同的網頁内容。
# echo "<h1>www.yye1.com</h1>" >; /var/www/html/yye1.com/index.html
# echo "<h1>www.minitoo.com</h1>" >; /var/www/html/minitoo.com/index.html
3)配置并啟動httpd伺服器。
1.編寫獨立的虛拟主機配置檔案,并通過Include配置加載到httpd.conf檔案中。(為目錄/var/www/html/minitoo添加Directory區域,并設定使用者通路授權。)
# vi /usr/local/httpd/conf/extra/httpd-vhosts.conf //建立獨立的配置檔案
NameVirtualHost 192.168.100.100 //設定虛拟主機監聽位址
<VirtualHost 192.168.100.100>
ServerAdmin [email protected]
DocumentRoot "/var/www/html/yye1.com"
<Directory "/var/www/html/yye1.com"> //設定目錄通路權限
Order allow,deny
Allow from all
</Directory>
ServerName yye1.com //主機名
ServerAlias www.yye1.com //主機名稱
ErrorLog "/var/www/logs/yye1.com-error_log" //錯誤日志
CustomLog "/var/www/logs/yye1.com-access_log" common //通路日志
</VirtualHost>
ServerAdmin [email protected] //管理者郵箱
DocumentRoot "/var/www/html/minitoo.com" //網站根目錄
<Directory "/var/www/html/minitoo.com"> //設定目錄通路權限
AuthName "minitoo.com Directory" //定義受保護的領域名稱,該内容将在浏覽器彈出的認證對話框中顯示
AuthType Basic //設定認證類型,Basic:基本認證
AuthUserFile /usr/local/httpd/conf/.minitoopwd //設定用于儲存使用者賬戶、密碼的認證檔案路徑
require valid-user //要求隻有認證檔案中的合法使用者才能通路。其中alid-user表示所有合法使用者,若隻授權給單個使用者,可改為指定的使用者名(如:webadmin)
ServerName minitoo.com
ServerAlias www.minitoo.com
ErrorLog "/var/www/logs/minitoo.com-error_log"
CustomLog "/var/www/logs/minitoo.com-access_log" common
</VirtualHost>
# mkdir -p /var/www/logs //建立日志存放目錄
# vi /usr/local/httpd/conf/httpd.conf //編輯主配置檔案
Include conf/extra/httpd-vhosts.conf
2.使用htpasswd工具建立使用者認證資料檔案,并添加授權使用者dongjun、minitoo。
# /usr/local/httpd/bin/htpasswd -c /usr/local/httpd/conf/.minitoopwd dongjun
// -c:生成.minitoopwd檔案,隻在第一次生成檔案時需要。
New password: //輸入密碼
Re-type new password: //确認密碼
Adding password for user dongjun //添加dongjun使用者成功
# /usr/local/httpd/bin/htpasswd /usr/local/httpd/conf/.minitoopwd minitoo
New password: //輸入密碼
Re-type new password: //确認密碼
Adding password for user minitoo //添加dongjun使用者成功
3.重新開機httpd伺服器程式,并确認端口的監聽狀态。
# service httpd restart
# netstat -anput | grep 80
tcp 0 0 :::80 :::* LISTEN 3844/httpd
4)在客戶機中通路虛拟主機。
<a target="_blank" href="http://blog.51cto.com/attachment/201205/121355746.jpg"></a>
<a href="http://minitoo.blog.51cto.com/attachment/201205/16/4201040_1337141316m1EZ.png"></a>
<a href="http://minitoo.blog.51cto.com/attachment/201205/16/4201040_13371413252jeu.png"></a>
本文轉自 jundong 51CTO部落格,原文連結:http://blog.51cto.com/minitoo/864705,如需轉載請自行聯系原作者