ad_728x90

2014年1月5日 星期日

Apache - VirtualHost 架設虛擬網站,綁定多個網域....[虛擬主機,網站代管]


from:http://freebsd.lab.mlc.edu.tw/apache/VirtualHost.shtml
  1. 目的:

    • 僅使用一個IP,只在DNS上設定不同的別名(CNAME),並將每一個別名分別架設成獨立的網站。實際上,這些不同的獨立網站都架設在同一個IP的主機上。
    • 申請個人網域後(xxx.idv.tw),在原有主機上(xxx.xx.xxx.xxx)加設虛擬主機為個人網站(http://xxx.xxx.idv.tw/)。
  2. 變換成 root 身份操作:
    su - root

  3. 更改DNS正解檔的內容,設定虛擬網站所對應的別名(CNAME):
  4. dns    IN   A        xxx.xx.xxx.xxx   這個IP的名稱是dns,是本尊;
    www    IN   CNAME    dns              這是第一個別名(CNAME)--分身;
    www1   IN   CNAME    dns              這是第二個別名(CNAME)--分身;
    www2   IN   CNAME    dns              這是第三個別名(CNAME)--分身。

  1. 修改完DNS的設定後,要記得將序號累進並ReLoad.
  2. kill   -HUP   `cat /var/run/named.pid`
  3. httpd.conf的修改:
  4. ### Section 3: Virtual Hosts
    #
    # VirtualHost: If you want to maintain multiple domains/hostnames on your
    # machine you can setup VirtualHost containers for them.
    # Please see the documentation at <URL:http://www.apache.org/docs/vhosts/>
    # for further details before you try to setup virtual hosts.
    # You may use the command line option '-S' to verify your virtual host
    # configuration.
    
    #
    # If you want to use name-based virtual hosts you need to define at
    # least one IP address (and port number) for them.
    #
    
    # 宣告虛擬網站所要使用的IP
    NameVirtualHost xxx.xx.xxx.xxx
    
    # 第一個虛擬網站(即原來的主網站名稱)
    <VirtualHost www.dnes.mlc.edu.tw>
        DocumentRoot /usr/local/www/data
        ServerName www.dnes.mlc.edu.tw
    </VirtualHost>
    
    # 第二個虛擬網站
    <VirtualHost www1.dnes.mlc.edu.tw>
        DocumentRoot /home/tch/tim/www/www1
        ServerName www1.dnes.mlc.edu.tw
    </VirtualHost>
    
    # 第三個虛擬網站
    <VirtualHost www2.dnes.mlc.edu.tw>
        DocumentRoot /home/tch/tim/www/www2
        ServerName www2.dnes.mlc.edu.tw
    </VirtualHost>
    
    # 第四個虛擬網站,向TWNIC申請個人網域後,在此設定虛擬主機。
    <VirtualHost xxx.xxx.idv.tw>
        ServerAdmin root@dnes.mlc.edu.tw
        DocumentRoot /home/tch/tim/public_html
        ServerName xxx.xxx.idv.tw
        DirectoryIndex xxxxxx.htm
    </VirtualHost>
    # 這個動作有點像公司行號註冊一個網域名稱後,再向ISP租用主機一樣。
      
  5. 重新啟動 Apache 

  6. apachectl   restart
  7. 測試一下吧:

  8. http://www.dnes.mlc.edu.tw/
    http://www1.dnes.mlc.edu.tw/
    http://www2.dnes.mlc.edu.tw/
    http://tim.bsdlab.idv.tw/

  9. 我可沒騙你喔,請用nslookup查一下上述四個網址,其結果均會回應同一個IP

  10. 成功與否的主要關鍵:

  11. 您的DNS是否自行控管是虛擬網站能否成功的最大關鍵,DNS有自行控管,就能隨心所欲地設定相關主機的正解對應資料,後續Apache的設定才能生效。不然,您得必須有一個配合度很高的ISP了。

COMMENTS HAVE BEEN DISABLED FOR THIS POST [文章的評論已被禁用]

Ratings and Recommendations by outbrain