apache虛擬機配置文檔
轉載時請以超鏈接形式標明文章原始出處和作者信息及 http://www.qzdc.net
<VirtualHost *:80>
ServerAdmin
webmaster@example.com ——管理員郵箱(可以隨便寫一個)
DocumentRoot "/home/phpok-com"
——網站目錄
ServerName example.com ——
要綁定的域名
ServerAlias www.example.com
——要綁定的別名,如果有多個別名就用英文逗號隔開
CustomLog
logs/example.com_custom_log——用戶日志格式(這一行也可以為空)
ErrorLog logs/example.com_error_log
——錯誤日志(也可以為空)
</VirtualHost>
步驟:
1.修改httpd.conf
把#Include conf/extra/httpd-vhosts.conf前面的#去掉,意思是讓httpd.conf文件包含httpd-vhosts.conf這個配置文件,這是apache的配置模塊化的一個表現,這里不多說。
尋
找httpd.conf中的ServerName,如果ServerName的設置不是域名
www.abc1.com的話,那么改為ServerName www.abc1.com,如過你要用ssl之類的東西,那么改為ServerName
www.abc1.com:80,就是加了個端口。
2.修改httpd-vhosts.conf
添加如下代碼(有些可能文件里面就有,改一下就可以了):
NameVirtualHost *
<VirtualHost *>
DocumentRoot "C:/aic"
ServerName www.abc1.com
ServerAlias abc1.com *.abc1.com
</VirtualHost>
<VirtualHost *>
DocumentRoot "c:/aic/mybbonline"
ServerName www.efg2.com
ServerAlias efg2.com *.efg2.com
</VirtualHost>
值得注意的是,VirtualHost是有順序的,排在最前的VirtualHost的我們默認的網站域名,其中的DocumentRoot和ServerName都必須與httpd.conf中的一樣,包括端口。
DocumentRoot是虛擬主機的路徑
而ServerAlias是域名的別名,配置了這個,那么一些二級域名就都可以進行虛擬主機解析了。如*.efg2.com就可以代表bbs.efg2.com或news.efg2.com等。
-----------------------------------------------------------------
虛擬主機的一般形式諸如(extra/httpd-vhosts.conf):
NameVirtualHost *:80
<VirtualHost *:80>
ServerName www.domain.tld
ServerAlias domain.tld *.domain.tld
DocumentRoot /www/domain
</VirtualHost>
<VirtualHost *:80>
ServerName www.otherdomain.tld
DocumentRoot /www/otherdomain
</VirtualHost>
這是apache2.2中文參考手冊中的示例。一般的咱們這樣配置在以前版本是沒有問題的。但是現在就不一樣了。當訪問某個虛擬主機下的頁面的時候會出現
類似:“403(禁止訪問),你無法查看該網頁…”的錯誤。很明顯這是拒絕訪問的提示。按照經驗很容易找到(httpd.conf)下面的內容:
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
//先拒絕后允許Deny from all
//拒絕所有的訪問</Directory>
這一個部分就是對目錄進行訪問控制的,很顯然這設置得很嚴格,因此,我們必須手動加入虛擬機目錄的權限控制塊,才可以讓用戶正常訪問虛擬機的目錄及頁面文
件。有兩個地方可以加入虛擬目錄訪問權限控制塊:主配置文件httpd.conf和虛擬機配置文件httpd-vhost.conf,毫無疑問我們選擇虛
擬機配置文件,主要是維護起來更方便。那么我們把目錄訪問控制塊插入到虛擬機配置文件,這樣我們的虛擬主機的配置文件寫法就類似這樣:
<VirtualHost *:80>
DocumentRoot "E:/web"
ServerName www.domain.tld
<Directory "E:/web">
//插入開始
Options -Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
//插入結束</VirtualHost>
這
樣配置完成后,我們使用apachectl命令及相關參數來檢測配置文件是否有問題。確認無誤后進行,重新啟動apache服務。然后使用瀏覽器進行訪問
測試(呵呵!又是廢話了!)。如果還不行的話,那就檢查你的頁面文件的權限設置是否過高,導致的不能訪問了!當然這種情況在windows下比較少見,一
般可能出現在linux環境下。
posted on 2010-10-09 11:53 丁克設計 閱讀(3143) 評論(0) 編輯 收藏 所屬分類: Apache技術文檔