網頁

2010年11月30日

[apache] apache2.2 虛擬主機設定

為了要設定長洪新店館網址跟二姊的blog網址
(好讓其看起來不像是mote.twbbs.org的產物),
在研究虛擬主機跟DNS的漫長奮鬥之後終於有了結果...。
也怕自己忘記所以趕緊記下相關的設定。
(網路上的解決方法總是有些那麼不全Orz)


目標:讓twbbs等網域名可以正確指向所需資料夾
方法:將網域指向主機,主機以虛擬主機方式提供不同資料,假裝自己是很多種主機。

虛擬主機定義:讓不同網域連至本主機後提供不同的資料夾當作瀏覽檔案的相關設定

1.主機上設定:修改apache2.2相關設定
1-1.修改httpd.conf  (freebsd下預設位址為/usr/local/etc/apache22)
   Virtualhost的設定預設是被註解掉的,將其註解拔掉

  # Virtual hosts
  Include etc/apache22/extra/httpd-vhosts.conf

1-2.修改extra/httpd-vhosts.conf
  檔案中有2個預設範例
  基本結構如下
<VirtualHost 接受位址:接受埠 >
  ServerAdmin 管理者mail
  DocumentRoot 檔案位址
  ServerName 連結過來之網域名稱
  ErrorLog 錯誤Log儲存處
  TransferLog logs/host.example.com-access_log
</VirtualHost> 

1-3.重開apache
  apachectl -k restart

2.網域DNS設定
  網域DNS設定指向主機即可。
  類別差異:
  A:    直接指定IP
  CNAME:指定另一網域名
  NS:   指定另一Name Server
  AAAA: 指定IPv6的主機

  其中A跟Cname的差別就像是Address跟pointer的差別:
  A是直接指定IP,Cname是指定一個指向IP的網域
  所以最簡單的應用就是...
  
  先用一個網域(ex:abc.com)用A指定好IP(ex:100.100.100.100)
  然後其他網域用Cname指定到abc.com
  像下圖
 abc2.com  -> abc.com ->100.100.100.100
 abc3.com      ↑

這樣abc,abc2,abc3 都會指向100.100.100.100
改的時候只要改abc.com的A就會一起改掉了。

另外聽說twbbs.org被大陸封鎖了,要幫二姊另外找一個適合的域名。

3 則留言: