Apache虛擬機器的配置檔案解說

y_keven發表於2013-10-16

1.為了方便管理虛擬主機,我決定使用一種方法,那就是修改httpd-vhosts.conf檔案。
第一步首先要使擴充套件檔案httpd-vhosts.conf生效:
1. 開啟 apache/conf/httpd.conf 檔案
2. 找到 # Include conf/extra/httpd-vhosts.conf(extra目錄下任何一個你配置的vhost檔案)
3. 去掉前面的註釋符#號
4. 開啟 apache/conf/extra/httpd-vhosts.conf
5. 新增以上的多埠或多域名程式碼(這裡以多域名為例):
6. 開啟apache2/conf/extra/httpd-vhost.conf
在裡面新增入下:
示例:
<VirtualHost 192.168.1.1:80>
    ServerAdmin webmaster@163.com (你的郵箱)
    DocumentRoot /usr/local/apache2/htdocs/Joomla(此虛擬主機的根目錄)
    ServerName www.abc.com(此處為域名)
    ErrorLog /usr/local/apache2/htdocs/abc/error_log (日誌)
    TransferLog /usr/local/apache2/htdocs/abc/access_log (日誌)
</VirtualHost>
<VirtualHost 192.168.1.1:80>
    ServerAdmin webmaster@163.com (你的郵箱)
    DocumentRoot /usr/local/apache2/htdocs/bbs (此虛擬主機的根目錄)
    ServerName www.bbs.com (此處為域名)
    ErrorLog /usr/local/apache2/htdocs/bbs/error_log (日誌)
    TransferLog /usr/local/apache2/htdocs/bbs/access_log (日誌)
</VirtualHost>

此例子新增了一個www.abc.com的主機和一個www.bbs.com的虛擬主機。
注意:新增了虛擬主機之後必須重啟apache服務。
如果是伺服器的話,直接訪問域名便可以訪問相應的虛擬主機網站了。
如果是做測試環境(我的便是測試環境),可將真機的hosts檔案修改,使得測試域名和伺服器(虛擬機器)ip地址關聯,這樣在真機訪問域名,成光轉到相應的虛擬主機網站的時候即成功。

2.vhost配置檔案的屬性含義:
`NameVirtualHost :80`:表示我們要做的是一個基於名稱的虛擬主機,監聽的埠為80.
`<VirtualHost *:80> 和 </VirtualHost>`:表示在其中的是一個虛擬主機的配置。注意如果上面的欄位指定了埠號,這裡也要指定
`ServerName www.example.com`:設定虛擬主機的域名
`ServerAdmin admin@mail.example.com`:設定該虛擬主機網管員的郵件
`DocumentRoot /var/www/`:設定該虛擬主機的主目錄路徑
`ErrorLog /var/log/apache2/error.log`:設定該虛擬主機的出錯資訊
`CustomLog /var/log/apache2/access.log combined`:設定該虛擬主機的訪問資訊
這樣我們就配置了一個虛擬主機 www.firehare.com。但由於這是預設配置,所以在 Apache2 重啟之後,無論你輸入 DNS 伺服器中指向這個主機的任何域名,都會被導向 www.firehare.com 這個預設配置所指向的 /var/www 這個目錄的。除非該域名被其他虛擬主機配置所用,比如我們還配置了 edunuke.firehare.com 指向本機,且配置了相應的虛擬主機,這樣的話,輸入域名 edunuke.firehare.com 就會被對應該域名的目錄中。

相關文章