Apache搭建Web主機(分別基於IP地址、端口、主機名建立多Web站點)

Apache介紹

Apache HTTP Server是一款開源的網站服務軟件,在Web服務器領域中長期保持着超過半數的份額,Apache服務器能夠運行在Linux、UNIX、Windows等多數操做系統平臺中。html

Apache服務器在功能、性能和安全性等方面的表現都是比較突出的,能夠較好地知足Web服務器用戶的應用需求,其主要特色包括如下幾個方面:web

  • 開放源代碼
  • 跨平臺應用
  • 支持各類Web編程語言
  • 模塊化設計
  • 運行很是穩定
  • 良好的安全性

構建虛擬Web主機

在同一臺Apache服務器中運行多個Web站點,其中的每個站點實際上並不獨立佔用整個服務器,經過虛擬Web主機服務能夠充分利用服務器的硬件資源,從而大大下降網站構建及運行成本。編程

Apache支持的虛擬主機類型爲如下三種:

1. 基於IP地址vim

須要爲每一個虛擬主機使用不一樣的域名,且各自對應的IP地址也不相同。這種方式須要爲服務器配備多個網絡接口,所以應用並非很是普遍;安全

2. 基於IP端口服務器

使用不一樣的TCP端口號來區分不一樣的站點內容,可是用戶在瀏覽不一樣的虛擬站點時須要同時指定端口號纔可以訪問;網絡

3. 基於主機名【經常使用】編程語言

每一個虛擬主機使用不一樣的域名,可是其對應的IP地址是相同的;ide

實驗環境

  • rhel6.5操做系統
  • 服務器IP地址:192.168.100.5
  • rhel6.5的鏡像光盤掛載至/mnt/cdrom/

實驗內容

  1. 虛擬目錄(用戶受權限制)
  2. 基於IP地址
  3. 基於IP端口
  4. 基於主機名【經常使用】

部署服務

安裝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

一. 虛擬目錄(用戶受權限制)

1. 編輯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爲後綴的配置文件

2. 在/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

4. 建立用戶認證數據文件

htpasswd -c /etc/httpd/conf.d/user zhangsan

Apache搭建Web主機(分別基於IP地址、端口、主機名建立多Web站點)

5. 重啓httpd服務

service httpd restart

測試

服務器ip信息:
Apache搭建Web主機(分別基於IP地址、端口、主機名建立多Web站點)

客戶機ping服務器測試:
Apache搭建Web主機(分別基於IP地址、端口、主機名建立多Web站點)

訪問虛擬目錄站點:
Apache搭建Web主機(分別基於IP地址、端口、主機名建立多Web站點)

Apache搭建Web主機(分別基於IP地址、端口、主機名建立多Web站點)

二. 基於IP地址

待續...

三. 基於端口

1. 在/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 admin@yun01.com //管理員郵箱
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 admin@yun02.com //管理員郵箱
DocumentRoot /opt/yun02/ //網站站點目錄
ServerName www.yun02.com //域名
ErrorLog logs/yun02.com-error_log //錯誤日誌
CustomLog logs/yun02.com-access_log common //訪問日誌
</VirtualHost>

2.建立/opt/yun0一、/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文件

3. 修改httpd.conf配置文件

vim /etc/httpd/conf/httpd.conf

Listen 192.168.100.5:81 //添加81端口的監聽地址

4. 重啓httpd服務

service httpd restart

測試

訪問192.168.100.5:80
Apache搭建Web主機(分別基於IP地址、端口、主機名建立多Web站點)
訪問192.168.100.5:81
Apache搭建Web主機(分別基於IP地址、端口、主機名建立多Web站點)

四. 基於主機名【經常使用】

1. 在/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 admin@yun03.com //管理員郵箱
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 admin@yun04.com //管理員郵箱
DocumentRoot /opt/yun04/ //網站站點目錄
ServerName www.yun04.com //域名
ErrorLog logs/yun04.com-error_log //錯誤日誌
CustomLog logs/yun04.com-access_log common //訪問日誌
</VirtualHost>

2.建立/opt/yun0三、/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文件


3. 安裝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

Apache搭建Web主機(分別基於IP地址、端口、主機名建立多Web站點)

因爲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
Apache搭建Web主機(分別基於IP地址、端口、主機名建立多Web站點)

訪問www.yun04.com
Apache搭建Web主機(分別基於IP地址、端口、主機名建立多Web站點)

相關文章
相關標籤/搜索