簡介:這裡說的虛擬主機是指在一台機器上僅運行一個httpd後台程序 支持多個Apache服務器,如在公司財務部門有一台web服務器,名為 account.yourdomain.com,同時又想為sales部門建立網站,網站內容也 放在該機器上,通過sales.yourdomain.com訪問,這就要用到虛擬主機 設置。 設置Apache虛擬主機通常有兩種方案 一、基於IP的虛擬主機 這種方式需要在機器上設置IP別名,象上面的例子,在一台機器的 網卡上綁定多個IP地址去服務多個虛擬主機。 若該機器的IP地址為192.168.11.2(account.yourdomain.com),首先 你要設置IP別名(假設用192.168.11.4作為其別名IP)。加下面的行到 /etc/rc.d/rc.local,確保每次啟動後自動運行。 #/sbin/ifconfig eth0:0 192.168.11.4 netmask 255.255.255.0 broadcast \ 192.168.11.255 up #/sbin/route add -host 192.168.11.4 eth0:0 然後你需要設置/etd/httpd/conf/httpd.conf文件: 《VirtualHost 192.168.11.4》* ServerAdmin
[email protected] DocumentRoot /home/httpd/sales.yourdomain.com ServerName sales.yourdomain.com ErrorLog /var/log/httpd/sales.yourdomain.com/error_log TransferLog /var/log/httpd/sales.yourdomain.com/Access_log 《/VirtualHost》 然後分別創建目錄 /home/httpd/sales.yourdomain.com, /var/log/httpd/sales.yourdomain.com ,放相應的網站內容到目錄/home/httpd/sales.yourdomain.com下即可,並確保 你內部的DNS指定sales.yourdomain.com的A記錄到IP地址192.168.11.4 。 注:這種基於IP的虛擬主機有一個缺點,就是你需要更多的IP地址去服務各自的 虛擬主機,如果你僅僅有一個IP地址,那麼你將可以考慮用基於名字的虛擬主機 方案。 二、基於名字的虛擬主機: 它的優勢就是不需要更多的IP地址,容易配置,不需要其它軟硬件,現代的 浏覽器大多都支持這種方式。與基於IP的虛擬主機一樣,你需要編輯文件 /etc/httpd/conf/httpd.conf NameVirtualHost 192.168.11.2 《VirtualHost 192.168.11.2》 ServerAdmin
[email protected] DocumentRoot /home/httpd/sales.yourdomain.com ServerName sales.yourdomain.com ErrorLog /var/log/httpd/sales.yourdomain.com/error_log TransferLog /var/log/httpd/sales.yourdomain.com/access_log 《/VirtualHost》 《VirtualHost 192.168.11.2》 ServerAdmin
[email protected] DocumentRoot /home/httpd/hr.yourdomain.com ServerName hr.yourdomain.com ErrorLog /var/log/httpd/hr.yourdomain.com/error_log TransferLog /var/log/hr.yourdomain.com/access_log 《/VirtualHost》 注: 你需要加NameVirtualHost 指示在最前面,下面依次為各個虛擬主機, 為了讓它工作,你需要把sales.yourdomain.com, hr.yourdomain.com的DNS 都指向IP地址192.168.11.2 上面的兩種都將工作,如果是在外部網段,在互聯網上提供WWW服務,你可能 沒有足夠的真實IP地址來支持多個虛擬主機,便可用基於名字的虛擬主機方案, 若是在內部網段上,你有較多的內部保留IP地址,將沒有太大的區別。 Jephe Wu * 文中的"《 》",實際上是“”
[1]