page counter next up previous contents
Next: 存取限制 Up: Apache 2.4 HTTP Server Previous: UserDir 用戶個人網頁   Contents

Virtual Host 虛擬主機

  1. virtual host:一台 Apache Server 可提供多個網址,但必須配合 DNS ,提供這台伺服器的 ip 對應多個 domain name。本系統每一虛擬機都至少有 kvmX.deyu.wang 及 wwwX.deyu.wang 兩個網域名稱。
  2. 編輯 httpd.conf 加入 VirtualHost 段落,apache 2.4 的 httpd.conf 檔中沒有 VirtualHost 範例,要自行輸入,不過語法與其他段落一樣,關鍵字 VirtualHost 設定檔已出現,所以不會有什麼困擾。 值得注意的是 apache 2.4 不需要再另外以 NameVirtualHost 啟動 VirtualHost。
    [root@kvm5 ~]# vim /etc/httpd/conf/httpd.conf 
    ### 原始主機名稱 kvm5.deyu.wang 根目錄 /var/www/html 也必須加入
    <VirtualHost *:80>   
        DocumentRoot /var/www/html
        ServerName kvm5.deyu.wang
    </VirtualHost>
    ### 加入另一主機名稱 www5.deyu.wang 的根目錄為 /var/www/virtual
    <VirtualHost *:80>
        DocumentRoot /var/www/virtual
        ServerName www5.deyu.wang
    </VirtualHost>
    
  3. 設定完必須啟動 httpd 服務或 reload 設定參數。
    [root@kvm5 ~]# systemctl reload httpd.service
    
  4. 建立 virtual host www5.deyu.wang 的根目錄,並產生 index.html 檔。
    [root@kvm5 ~]# mkdir /var/www/virtual
    [root@kvm5 ~]# echo 'virtaul test' > /var/www/virtual/index.html
    [root@kvm5 ~]# echo kvmweb > /var/www/html/index.html
    
  5. 測試 kvm5.deyu.wang 及 www5.deyu.wang 兩台 virtual host 都成功連線。
    [root@kvm5 ~]# curl http://kvm5.deyu.wang
    kvmweb
    [root@kvm5 ~]# curl http://www5.deyu.wang
    virtaul test
    



2015-12-04