RedHat / CentOS
當你的 web Server 只有一個 Public IP 時,有可能設置兩個不同網站嗎??如果你使用的是 Apache 當做你的網頁伺服器時答案是可以的.參考 Apach 官方文章 Running several name-based web sites on a single IP address 說明 http://httpd.apache.org/docs/2.2/vhosts/examples.html
這是以名稱為基礎的 name-based web sites 網站,首先第一步你需要將 DNS 的解析將不同的網域設定為同一組 IP ( multiple aliases 多個別名 CNAMES),使用者只要使用個別的 DNS 網站名稱,都可以正確導向到正確的網址存放地方.
設定方式請參考 https://benjr.tw/13311
目前我的網站除了 https://benjr.tw 還放了我朋友的網站 http://laimepro.com (已移除)
只要修改 /etc/httpd/conf/httpd.conf 下面的設定即可.
[root@benjr ~] # vi /etc/httpd/conf/httpd.conf # Ensure that Apache listens on port 80 Listen 80 # Listen for virtual host requests on all IP addresses <VirtualHost *:80> DocumentRoot /var/www/benjr ServerName benjr.tw </VirtualHost> <VirtualHost *:80> DocumentRoot /var/www/laimepro ServerName laimepro.com </VirtualHost>
不過這樣的設定讓我用到另外一個問題,當我在 benjr.tw 或是 laimepro.com 前面加入 www.benjr.tw 或是 www.laimepro.com 會有解析上的問題,所以我多增加了 www.benjr.tw 以及 www.laimepro.com 的設定.
<VirtualHost *:80> DocumentRoot /var/www/benjr ServerName www.benjr.tw </VirtualHost> <VirtualHost *:80> DocumentRoot /var/www/laimepro ServerName www.laimepro.com </VirtualHost>
Ubuntu
設定一樣,不過 Apache 名稱卻不一樣
ppny@benjr:$ sudo apt-get install apache2
設定檔在 /etc/apache2/apache2.conf 或是 /etc/apache2/sites-available/000-default.conf 都可以做設定.
ppny@benjr:$ sudo vi /etc/apache2/apache2.conf
Apache2 VirtualHost
在 Ubuntu 設定 VirtualHost 照著官方網站說明來設定 VirtualHost Examples
沒想到卻出現 Index of ,把所有的目錄列出來.網頁資料也沒出現…
查到最後才發現 /etc/hosts 的 IP 跟 Hosts 不對,立刻修改後就可以使用了.