一、項目實驗目的:
安裝及配置Apache服務器,使Apache服務器能夠通過DNS服務器爲基礎,來實現
(1) 基於域名的虛擬主機
(2) 基於IP地址和端口號的虛擬主機
***************
二、項目計劃:
(1)準備3臺Linux主機,並配置好相應的網絡參數,確認每臺Linux主機之間
都能正常通信。(這個實驗也可以在一臺虛擬機上實現,通過添加虛擬網卡來添加ip地址)
(2)3臺Linux主機中其中一臺來做DNS服務器,另外兩臺分別來做基於域名的
Apache服務器和基於IP地址及端口號的Apache服務器。
(3) 先安裝及配置DNS服務器,並在其中一臺Apache服務器上通過修改配置文件和做相應的網站根目錄,添加網頁,來實現基於域名的Apache服務器,並進行測試。
(4) 再次配置DNS服務器,在另外一臺Apache服務器上配置其配置文件,並做相應的網站根目錄,添加網頁,來實現基於IP地址及端口號的Apache服務器,並進行測試。
**************
三、項目實施過程:
(1)準備3臺Linux主機,其配置如下:
DNS服務器:FQDN—dns.web.com static IP—192.168.1.53/24
基於域名的Apace服務器:FQDN--apache1.web.com static IP—192.168.1.80
基於IP及端口號的Apache服務器FQDN—apache2.web.com static IP—192.168.1.90
所使用到的命令:#system-config-network 設置IP地址等參數
#hostname 主機名稱 修改主機名
#vim /etc/hosts 修改主機名
#vim /etc/sysconfig/network 修改主機名
(2)安裝並配置DNS服務器(先做基於域名的Apache服務器的主機記錄)
大概過程:
a.查詢以下軟件包是否已安裝:
bind-utils(默認安裝)
bind(DNS服務器,必要!)
caching-nameserver(做緩存DNS服務器時需要)
bind-chroot(最後安裝)
命令是:
rpm -qa|grep bind
rpm -qa|grep caching-nameserver
b.安裝軟件包:(先確保已添加光盤鏡像)
#mkdir /mnt/cdrom
#mount /dev/cdrom /mnt/cdrom
#cd /mnt/cdrom/Server 或 #cd /misc/cd/Server
#rpm -ivh /mnt/cdrom/Server/bind-9.3.3*
#rpm -ivh /mnt/cdrom/Server/caching-nameserver-*
#rpm -ivh /mnt/cdrom/Server/bind-chroot*(這裏把這個包也安裝上,只是進入到配置文件的目錄繁瑣一點)
*****************
c. 開始配置DNS服務器
#cd /var/named/chroot/etc
#cp named.cachin* named.conf 拷貝named.caching-nameserver.conf 這個模板文件,並取名爲named.conf , 這個名字是必須叫named.conf
#vim named.conf 編輯主配置文件named.conf ,其內容如下:
options {
listen-on port 53 { 192.168.1.53; };
directory “/var/named”;
query-source port 53;
allow-query { 192.168.1.0/24; };
};
zone “.” { //根
type hint ;
file “named.ca”;
};
zone “web.com” {
type master;
file “web.com.zone”;
};
zone “1.168.192.in-addr.arpa” {
type master;
file “1.192.168.in-addr.arpa.zone”;
};
保存並退出 shift : wq
然後先用命令來檢查一下named.conf 這個配置文件:
#named-checkconf /var/named/chroot/etc/named.conf
如果沒有出錯,則不會出現任何錯誤信息。否則再進行修改,這裏要特別注意每個
區域要用完整的{ };括起來,還有反向區域的名字的格式 -------.in-addr.arpa
再者這個區域文件的名字要與/var/named 下的區域配置文件名要相同。
配置區域正向解析文件:
#cd /var/named/chroot/var/named //進入開始創建並配置區域配置文件
#cp localhost.zone web.com.zone //拷貝模板文件,配置區域正向解析文件
#vim web.com.zone 內容如下:
$TTL 86400
@ IN SOA dns.web.com. root.web.com. (
2011051000 3H 15M 1W 1D )
@ IN NS dns.web.com.
dns IN A 192.168.1.53
chat IN A 192.168.1.80
bbs IN CNAME chat
www IN CNAME chat
保存並退出
#named-checkzone web.com web.com.zone 用檢測工具檢查其不正確性,命令
格式爲:#named-checkzone 區域名 區域配置文件(如果不在當前目錄下,要給
決對路徑)
配置區域反向解析文件:
#cd /var/namd/chroot/var/named
#cp web.com.zone 1.168.192.in-addr.arpa.zone 拷貝,配置區域反向解析文件
#vim 1.168.192.in-addr.arpa.zone //內容如下:
$TTL 86400
@ IN SOA dns.web.com. root.web.com. (
2011051000 3H 15M 1W 1D )
@ IN NS dns.web.com.
53 IN PTR dns.web.com.
80 IN PTR chat.web.com.
保存並退出
用命令#named-checkzone web.com 1.168.192.in-addr.arpa.zone 進行檢測正確性
接下來修改DNS指向 #vim /etc/resolv.conf 內容如下:
nameserver 192.168.1.53
修改配置文件的訪問權限:
#chgrp named /var/named/chroot/var/named/*
#chgrp named /var/named/chroot/etc/*
啓動DNS 服務器: 注意IP地址一定要爲靜態
#service named restart或 #/etc/rc.d/init.d/named restart
開機自動開啓: #chkconfig --level 35 named on
測試: #nslookup
>server 查看當前主機的DNS服務器IP
>bbs.web.com
>chat.web.com
>set type=ptr
>192.168.1.80
或者其他命令來測試 #dig –x bbs.web.com(正向) # dig –t 192.168.1.80(反向)
#host bbs.web.com #host 192.168.1.80
*************到此DNS服務器做基於域名的Apache服務器的配置基本完成。
****************
下面開始安裝及配置基於域名的Apache服務器:
首先IP 地址設爲靜態:192.168.1.80 DNS指向:192.168.1.53
使用到的命令:#system-config-network #vim /etc/resolv.conf (可以根據上面提到的方法做)
安裝httpd 軟件包:#cd /misc/cd/Server
#rpm –Uvh httpd-2.2.3-11.el5_1.3.i386.rpm
#rpm –Uvh httpd –manual*
編輯httpd.conf 配置文件:
#vim /etc/httpd/conf/httpd.conf
² 根據項目的要求,(在Web服務器上建立兩個基於域名的虛擬主機網站,其域名分別爲:chat.web.com和bbs.web.com;網站根目錄分別爲:/var/www/chat和/var/www/bbs;主服務器網站則通過域名www.web.com來訪問;主網站的根目錄爲:/var/www/html。)配置如下:
Shift : se nu
取消#NameVirtualHost *:80 的註銷 大概在第993行左右,並修改如下:
NameVirtualHost 192.168.1.80:80 因爲這裏要做基於域名的Apache
Shift+g 移動來最後一行,通過複製最後的七行進行修改(y7y)或者直接添加以下內容:
<VirtualHost 192.168.1.80:80>
ServerAdmin [email protected] (這裏不要這一行也可以,這是管理員的郵箱)
DocumentRout /var/www/html (這一行是必有的,這個是網站的目錄路徑)
ServerName www.web.com (這一行也是必要的,這個是定義域名)
</VirtualHost>
後面兩行是有關日誌記錄的,這裏就不去理它了,刪除掉。
<VirtualHost 192.168.1.80:80>
ServerAdmin [email protected] (這裏不要這一行也可以,這是管理員的郵箱)
DocumentRout /var/www/chat (這一行是必有的,這個是網站的目錄路徑)
ServerName chat.web.com (這一行也是必要的,這個是定義域名)
</VirtualHost>
<VirtualHost 192.168.1.80:80>
ServerAdmin [email protected] (這裏不要這一行也可以,這是管理員的郵箱)
DocumentRout /var/www/bbs (這一行是必有的,這個是網站的目錄路徑)
ServerName bbs.web.com (這一行也是必要的,這個是定義域名)
</VirtualHost> 這裏要特別注意每一行是取消註銷的,沒有#號,和<VirtualHost 192.168.1.80:80>與</VirtualHost>是在一起的。
保存並退出
接下來爲每個網站新建站點目錄並添加網頁:
#mkdir /var/www/html #mkdir /var/www/chat #mkdir /var/www/bbs
#cd /var/www/html
#echo Welcome to My first Web at www.web.com at /var/www/html >index.html
#cd /var/www/chat
#echo Welcome to My second Web at chat.web.com at /var/www/chat >index.html
#cd /var/www/bbs
#echo Welcome to My third Web at bbs.web.com at /var/www/bbs >index.html
OK,重啓httpd服務器,#service httpd restart
測試:可在windows 上或者在linux上
在linux命令行上,則安裝lynx工具:
#cd /misc/cd/Server #rpm –ivh lynx-2.8.5-28.1.i386.rpm
用命令#lynx http://www.web.com
#lynx http://chat.web.com
#lynx http://bbs.web.com
如果成功,則能看到相應的網站信息,如果不成功,問題有可能出現在:
1. Apache服務器能否與DNS服務器正常通訊,且DNS服務器能否正確解析。
2. 防火牆設置
3. Apache服務器的配置文件httpd.conf 有沒有配置正確,注意取消#NameVirtualHost *:80 的註銷並修改,爲NameVirtualHost 192.168.1.80:80
4. 在虛擬主機中定義的網站目錄名稱和域名要與DNS中的記錄和網站的目錄名稱要一致。
****************到這裏基於域名的Apache服務器配置完成。
*******************
現在在另外一臺Linux主機上配置基於IP地址及端口號的Apache服務器:
首先IP 地址設爲靜態:192.168.1.191 192.168.1.241 DNS指向:192.168.1.53
使用到的命令:#system-config-network 修改ip
#vim /etc/resolv.conf
內容:nameserver 192.168.1.53
#cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0:0
#vim /etc/sysconfig/network-scripts/ifcfg-eth0:0
修改兩行: DIVICE=eth0:0
IPADDR=192.168.1.241
#service network restart
Ping 測試 :#ping 192.168.1.191 #ping 192.168.1.241 #ping 192.168.1.53
² 根據項目要求,(在這臺Web服務器上建立三個基於IP地址和端口號的虛擬主機網站。各網站對應的IP地址分別是:192.168.1.191 192.168.10.241和192.168.1.241;各網站所使用的服務端口分別是:TCP 80、TCP 80和TCP 8080;各網站的根目錄分別爲:/var/www/www2、/var/www/mail和/var/www/vod;各網站分別使用域名www2.web.com、mail.web.com和vod.web.com來訪問。)在
DNS服務器中添加相應的A記錄和PTR記錄:
#cd /var/named/chroot/var/named
#vim web.com.zone 內容如下:
$TTL 86400
@ IN SOA dns.web.com. root.web.com. (
2011051000 3H 15M 1W 1D )
@ IN NS dns.web.com.
dns IN A 192.168.1.53
chat IN A 192.168.1.80
www2 IN A 192.168.1.191
mail IN A 192.168.1.241
bbs IN CNAME chat
www IN CNAME chat
vod IN CNAME mail
保存退出
#cd /var/named/chroot/var/named
#vim 1.168.192.in-addr.arpa.zone //內容如下:
$TTL 86400
@ IN SOA dns.web.com. root.web.com. (
2011051000 3H 15M 1W 1D )
@ IN NS dns.web.com.
53 IN PTR dns.web.com.
80 IN PTR chat.web.com.
191 IN PTR www2.web.com
241 IN PTR mail.web.com
保存並退出
重動DNS 服務器: 注意IP地址一定要爲靜態
#service named restart或 #/etc/rc.d/init.d/named restart
測試:在DNS服務器上和基於IP的Apache服務器上使用到的命令#nslookup測試
按照上面的提及的方法,在Apache2.web.com這臺Linux主機上,(即基於IP地址的虛擬主機的Apache服務器上)安裝httpd軟件包。
編輯httpd.conf 配置文件:
#vim /etc/httpd/conf/httpd.conf
Shift : se nu
在Listen 80 的下一行再添加一行Listen 8080 位置大概在第134行
Shift+g 在最後一行添加以下內容: 可通過複製並修改來實現yny p
<VirtualHost 192.168.1.191:80>
ServerAdmin [email protected]
DocumentRout /var/www/www2
ServerName www2.web.com
</VirtualHost>
<VirtualHost 192.168.1.241:80>
ServerAdmin [email protected]
DocumentRout /var/www/mail
ServerName mail.web.com
</VirtualHost>
<VirtualHost 192.168.1.241:8080>
ServerAdmin [email protected]
DocumentRout /var/www/vod
ServerName vod.web.com
</VirtualHost>
保存並退出
接下來爲每個網站新建站點目錄並添加網頁:
#mkdir /var/www/www2 #mkdir /var/www/mail #mkdir /var/www/vod
#cd /var/www/www2
#echo Welcome to My first Web at www2.web.com at /var/www/www2 >index.html
#cd /var/www/mail
#echo Welcome to My second Web at mail.web.com at /var/www/mail >index.html
#cd /var/www/vod
#echo Welcome to My third Web at vod.web.com at /var/www/vod >index.html
重啓httpd服務器 #service httpd restart
測試:可在windows 上或者在linux上
在windows上或在linux的圖形界面上打開web瀏覽器,http://www2.web.com http://mail.web.com:80 http://vod.web.com:8080 進行測試
在linux命令行上,則安裝lynx工具:
#cd /misc/cd/Server #rpm –ivh lynx-2.8.5-28.1.i386.rpm
用命令#lynx http://www2.web.com
#lynx http://mail.web.com:80
#lynx http://vod.web.com:8080 (後面要跟端口號,因爲這裏是測試基於端口號的虛擬主機)
***************到這裏基於IP地址及端口號的虛擬主機完成。
***************************************************