Apache搭建Web主機(虛擬目錄、分別基於IP地址、端口、主機名)
Apache HTTP Server是一款開源的網站服務軟件,在Web服務器領域中長期保持著超過半數的份額,Apache服務器可以運行在Linux、UNIX、Windows等多數操作系統平臺中。
Apache服務器在功能、性能和安全性等方面的表現都是比較突出的,可以較好地滿足Web服務器用戶的應用需求,其主要特點包括以下幾個方面:
- 開放源代碼
- 跨平臺應用
- 支持各種Web編程語言
- 模塊化設計
- 運行非常穩定
- 良好的安全性
構建虛擬Web主機
在同一臺Apache服務器中運行多個Web站點,其中的每一個站點實際上並不獨立占用整個服務器,通過虛擬Web主機服務可以充分利用服務器的硬件資源,從而大大降低網站構建及運行成本。
Apache支持的虛擬主機類型為以下三種:
- 基於IP地址
需要為每個虛擬主機使用不同的域名,且各自對應的IP地址也不相同。這種方式需要為服務器配備多個網絡接口,因此應用並不是非常廣泛;
- 基於IP端口
使用不同的TCP端口號來區分不同的站點內容,但是用戶在瀏覽不同的虛擬站點時需要同時指定端口號才能夠訪問;
- 基於主機名【常用】
每個虛擬主機使用不同的域名,但是其對應的IP地址是相同的;
實驗環境
- rhel6.5操作系統
- 服務器IP地址:192.168.100.5
- rhel6.5的鏡像光盤掛載至/mnt/cdrom/
實驗內容
- 虛擬目錄(用戶授權限制)
- 基於IP地址
- 基於IP端口
- 基於主機名【常用】
部署服務
安裝Apache服務器(httpd)
1.檢查並安裝httpd服務
[root@localhost ~]# rpm -q httpd //檢查是否已安裝httpd
httpd-2.2.15-29.el6_4.x86_64
[root@localhost ~]# rpm -ivh /mnt/cdrom/Packages/httpd-2.2.15-29.el6_4.x86_64.rpm
2.關閉安全設置和防火墻
setenforce 0
service iptables stop
一. 虛擬目錄(用戶授權限制)
- 編輯httpd.conf配置文件
vim /etc/httpd/conf/httpd.conf
ServerName www.yum01.com:80 //設置主機名
Listen 192.168.100.5:80 //設置監聽IP地址
Include conf.d/*.conf //開啟加載conf.d目錄下以.conf為後綴的配置文件
- 在/etc/httpd/conf.d/目錄下新建vdir.conf(虛擬目錄文件)
cd /etc/httpd/conf.d/
vim vdir.conf //新建vdir.conf配置文件
//以下為虛擬目錄定義配置文件
Alias /bbs "/opt/bbs/" //設置別名
<Directory "/opt/bbs/"> //定義虛擬目錄
Options Indexes MultiViews FollowSymLinks
AllowOverride None
authname "Auth Directory" //認證領域的名稱
authtype basic //基本認證方式
authuserfile /etc/httpd/user //基本認證用戶賬戶、密碼的認證文件路徑
require Valid-user //授權用戶可以進行訪問
</Directory>
3.創建/opt/bbs目錄,並新建bbs站點首頁
mkdir /opt/bbs
echo "<h1>This is bbs web.</h1>" > /opt/bbs/index.html
- 創建用戶認證數據文件
htpasswd -c /etc/httpd/conf.d/user zhangsan
- 重啟httpd服務
service httpd restart
測試
服務器ip信息:
客戶機ping服務器測試:
訪問虛擬目錄站點:
2. 基於IP地址
待續...
3. 基於端口
- 在/etc/httpd/conf.d/目錄下新建vport.conf(虛擬目錄文件)
cd /etc/httpd/conf.d/
vim vport.conf //新建vport.conf配置文件
NameVirtualHost 192.168.100.5:80 //虛擬主機名稱
<VirtualHost 192.168.100.5:80>
ServerAdmin [email protected] //管理員郵箱
DocumentRoot /opt/yun01/ //網站站點目錄
ServerName www.yun01.com //域名
ErrorLog logs/yun01.com-error_log //錯誤日誌
CustomLog logs/yun01.com-access_log common //訪問日誌
</VirtualHost>NameVirtualHost 192.168.100.5:81 //虛擬主機名稱
<VirtualHost 192.168.100.5:81>
ServerAdmin [email protected] //管理員郵箱
DocumentRoot /opt/yun02/ //網站站點目錄
ServerName www.yun02.com //域名
ErrorLog logs/yun02.com-error_log //錯誤日誌
CustomLog logs/yun02.com-access_log common //訪問日誌
</VirtualHost>
2.創建/opt/yun01、/opt/yun02站點目錄,並新建各站點首頁文件(index.html)
mkdir /opt/yun01 /opt/yun02 //創建站點目錄
echo "<h1>this is yun01.com web.</h1>" > /opt/yun01/index.html //站點yun01添加index.html文件
echo "<h1>this is yun02.com web.</h1>" > /opt/yun02/index.html //站點yun02添加index.html文件
- 修改httpd.conf配置文件
vim /etc/httpd/conf/httpd.conf
Listen 192.168.100.5:81 //添加81端口的監聽地址
- 重啟httpd服務
service httpd restart
測試
訪問192.168.100.5:80
訪問192.168.100.5:81
4. 基於主機名【常用】
- 在/etc/httpd/conf.d/目錄下新建vhost.conf(虛擬目錄文件)
cd /etc/httpd/conf.d/
vim vhost.conf //新建vhost.conf配置文件
NameVirtualHost 192.168.100.5:80 //虛擬主機名稱
<VirtualHost 192.168.100.5:80>
ServerAdmin [email protected] //管理員郵箱
DocumentRoot /opt/yun03/ //網站站點目錄
ServerName www.yun03.com //域名
ErrorLog logs/yun03.com-error_log //錯誤日誌
CustomLog logs/yun03.com-access_log common //訪問日誌
</VirtualHost>NameVirtualHost 192.168.100.5:80 //虛擬主機名稱
<VirtualHost 192.168.100.5:80>
ServerAdmin [email protected] //管理員郵箱
DocumentRoot /opt/yun04/ //網站站點目錄
ServerName www.yun04.com //域名
ErrorLog logs/yun04.com-error_log //錯誤日誌
CustomLog logs/yun04.com-access_log common //訪問日誌
</VirtualHost>
2.創建/opt/yun03、/opt/yun04站點目錄,並新建各站點首頁文件(index.html)
mkdir /opt/yun03 /opt/yun04 //創建站點目錄
echo "<h1>this is yun03.com web.</h1>" > /opt/yun03/index.html //站點yun03添加index.html文件
echo "<h1>this is yun04.com web.</h1>" > /opt/yun04/index.html //站點yun04添加index.html文件
- 安裝DNS服務器
3.1 安裝bind軟件包
rpm -ivh /mnt/cdrom/Packages/bind-9.8.2-0.17.rc1.el6_4.6.x86_64.rpm
3.2 編輯主配置文件
vim /etc/named.conf
options {
listen-on port 53 { 192.168.100.5; }; //修改指定監聽IP
listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query { any; }; //允許any(所有人)訪問
recursion yes;dnssec-enable yes;
dnssec-validation yes;
dnssec-lookaside auto;/ Path to ISC DLV key /
bindkeys-file "/etc/named.iscdlv.key";managed-keys-directory "/var/named/dynamic";
};
3.3 編輯區域配置文件
vim /etc/named.rfc1912.zones
zone "yun03.com" IN {
type master;
file "yun03.com.zone";
};zone "yun04.com" IN {
type master;
file "yun04.com.zone";
};
3.4 切換到/var/named目錄下
cd /var/named
3.5 復制模板文件
cp -p named.localhost yun03.com.zone
3.6 編輯區域數據配置文件
vim yun03.com.zone
由於yun04.com和yun03.com解析文件都一樣,這裏直接復制yun03.com.zone文件
cp -p yun03.com.zone yun04.com.zone
3.7 加入named服務並重啟該服務
chkconfig named on
service named restart //重啟named服務
service httpd restart //重啟httpd服務
測試
訪問www.yun03.com
訪問www.yun04.com
Apache搭建Web主機(虛擬目錄、分別基於IP地址、端口、主機名)