作者 主題: 請問 Apache2 的Name-Based虛擬網頁伺服器設定這樣正確嗎?  (閱讀 2249 次)

0 會員 與 1 訪客 正在閱讀本文。

k12

  • 可愛的小學生
  • *
  • 文章數: 26
    • 檢視個人資料
Hi, 我目前在準備 NCLP 的考試,現在練習到 Apache2 的部分(自行買書練習-書名:NCLP專業認證攻略),我目前自行練習的題目是:
開啟apach2伺服器,建立Name-Based虛擬主機,建立網址 www.example.com, 使用目錄 /srv/www/htdocs,
連入 www.example.com 時顯示 index.html 頁面(內容 It work!).
我的實作環境是 SUSE Linux Enterprise Server 10 + VMware

照書本的做法:
1. yast->DNS server->Zone Editor->設定 www   A   IP位址(假設192.168.1.1)
2. yast->HTTP server->Hosts->Add->Server Name: www.example.com
                                                   Server Content Root: /srv/www/htdocs
                                                   Administrator E-Mail: root@localhost
                                                   IP Address: 192.168.1.1
                                                   設定 HTTP Headers
3. w3m http://www.example.com
結果是:
You have reached this web page by typing "example.com", "example.net", or "example.log" into your web browser.
These domain names are reserved for use in documentation and are not available for registration. See RFC 2606, Section 3.

但是如果在/etc/hosts 中,加入 192.168.1.1    www.example.com 後, index.html 的內容就顯示的出來,甚至連 DNS server 都不用設定(第一步驟).

問題:
想請問我的這樣做法正確嗎?
因為照書本教的根本做不出來,所以擔心考試時,這樣做不知道行不行?
另外,想請問 Apache2 的 Name-Based 虛擬網頁伺服器一定要先在 DNS Server 中做網域名稱的設定嗎?
« 上次編輯: 2010-07-28 12:01 由 k12 »

jaymsa

  • 活潑的大學生
  • ***
  • 文章數: 409
  • 性別: 男
    • 檢視個人資料
    • Jay's Blog
建立Name-Based虛擬主機.....應該是指apache config內的這個地方:
代碼: [選擇]
# Use name-based virtual hosting.
#
#NameVirtualHost *:80
#
# NOTE: NameVirtualHost cannot be used without a port specifier
# (e.g. :80) if mod_ssl is being used, due to the nature of the
# SSL protocol.
#

#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for requests without a known
# server name.
#
#<VirtualHost *:80>
#    ServerAdmin webmaster@dummy-host.example.com
#    DocumentRoot /www/docs/dummy-host.example.com
#    ServerName dummy-host.example.com
#    ErrorLog logs/dummy-host.example.com-error_log
#    CustomLog logs/dummy-host.example.com-access_log common
#</VirtualHost>
目的是可以再同一主機指定多個不同的sub domain名稱,例如輸入www.example.com對應到主機目錄的/srv/www/htdocs,而ftp.example.com對應到主機目錄的/srv/www/ftp.
DNS的部分當然也要做相對應的sub domain設定,而您說的hosts檔案,其實是早期沒有DNS的作法我們就必須一個個把IP對應到相對的domain name,系統也會第一個讀取的地方,在此找不到就會去問DNS,所以常會看到一些文章建議把常用的domain與ip寫在裡面加快對應速度.
Linux真好玩...博大精深!!
RHCE,ISO27001,ISO20000
http://jayclub.no-ip.org/jayblog