提到免費 DNS 伺服器,首先推薦穩定性高且操作簡便的 FreeDNS,它可讓你的網域(Domain)或子網域(Subdomain)直接對應到 IP,省下自架 DNS server 的麻煩。
接下來直接進入主題,如何透過 FreeDNS 在 Apache 完成子網域架設(一個目錄對應一個子網域)? 或者,如何在一個IP之下架設多網站(一個目錄對應一個網站)? 這些問題相信是架站人士所關心的。
例如這裡有 mydomain1.com, mydomain2.com
需建立的子網域有: sub1.mydomain1.com, sub2.mydomain.com
擁有 IP 為 1.2.3.4
1. FreeDNS,新增 Domain(mydomain1.com, mydomain2.com)(約等兩天)
這裡要先申請 FreeDNS 帳號成為一般會員,若有不懂的地方可參考相關連結。
在左側選單選 Domains,並選擇 Add A Domain,名詞解釋如下:
Clone 若你在 FreeDNS 已擁有網域,可複製相關設定,一般而言不用選
Sub Clone 複製子網域資料,一般也不必勾選
Domain 填入你的網域,這裡填寫 mydomain1.com
Shared State 選擇是否要開放給別人使用,這裡我選擇 Private 不公開
設定完成後,非 Premium 會員要等2天左右,對應成功之前顯示為 Broken,實際上不需要等那麼久,我曾在它還顯示為 Broken 時即發現已完成 Domain Name 對應。
2. 到你申請網域的網站輸入 DNS Server 資料(約等一天半)
你的網域名稱業者要能自管 DNS Server 才自行完成此設定。
輸入 FreeDNS 提供的 DNS Server 資訊,這裡顯示為:
NS1.AFRAID.ORG (67.19.72.206)
NS2.AFRAID.ORG (66.252.1.255)
NS3.AFRAID.ORG (72.20.25.134)
NS4.AFRAID.ORG (67.18.179.15)
建議輸入名稱(ns1.afraid.org, ns2.afraid.org...),因為 IP 有可能會被 FreeDNS 更換。
DNS 設定一般認為會在 24-48 小時內完成,約等一天半左右就可以了。
3. FreeDNS,新增子網域 Subdomain(約等半小時)
在左側選單選 Subdomains,並選擇 add,Type 名詞解釋如下:
A 對應到IP
AAAA 對應到 IPv6
CNAME 對應到另一部伺服器(IP或域名)
NS 對應到另一部 name server
MX 對應到 mail server
TXT 對應到 spam 處理系統
LOC 對應到 DNS 地理系統
HINFO 對應到主機資訊記錄
RP 對應到負責人記錄
SRV 對應到服務位置記錄
首先針對 domain1.com 作設定,這兩項應該是不必懷疑:
domain1.com A 1.2.3.4
www.domain1.com A 1.2.3.4
其次是子網域的部份
sub1.domain1.com A 1.2.3.4
sub2.domain1.com A 1.2.3.4
最後是第二網域名稱
domain2.com A 1.2.3.4
www.domain2.com A 1.2.3.4
沒錯,全都以 A 的方式對應到同一個 IP,辨識的工作移交給 Apache 處理即可。值得注意的是,子網域的對應中,有些是即時對應,有些要等半小時左右,即時對應在這裡應該是 FreeDNS 想要保留給 Premium 會員的福利,所以知道這個狀況即可,畢竟是免費服務,一般會員不影響穩定性已經要偷笑了。所以,對應不到時先別緊張,等就是了。
4. Apache,修改 httpd.conf(需重啟 Apache)
Apache 虛擬主機格式如下:
ServerName 網域名稱
DocumentRoot "目錄名稱"
</VirtualHost>
依本例而言,找到 Listen 80, 在下方新增以下資訊:
<VirtualHost *>
ServerName domain1.com
DocumentRoot "C:/www"
</VirtualHost>
<VirtualHost *>
ServerName sub1.domain1.com
DocumentRoot "C:/www/sub1"
</VirtualHost>
<VirtualHost *>
ServerName sub2.domain1.com
DocumentRoot "C:/www/sub2"
</VirtualHost>
<VirtualHost *>
ServerName domain2.com
DocumentRoot "C:/www/www2"
</VirtualHost>
<VirtualHost *>
ServerName www.domain2.com
DocumentRoot "C:/www/www2"
</VirtualHost>
第一項填入主網域,二三項為子網域的部份,四五項為多網域的部份;因為主網域填入第一項,因此 www.domain1.com 雖未輸入,也會自動對應到第一項。
修改完畢後,重新啟動 Apache server 即可。
注意事項
以上步驟 1,2 都需要長時間等待,並且都是必須先通過的項目,若你不知道如何測試網域對應,等到 FreeDNS 在各網域上顯示的 Broken 字樣消失即可。
相關連結:FreeDNS
重灌狂人,FreeDNS 免費的DNS管理、轉址服務
| 2009/01/21 13:47 |
Trackback Address :: http://blog.raienet.com/trackback/424
