希望通過從每臺機器上的單個Apache /網站轉移到每臺機器上的多個虛擬主機設置獲得一些指導。Apache遷移到虛擬主機
當前設置:從源代碼安裝軟件包的LAMP堆棧: Apache 2.4.2,php 5.4.3和mysql 5.1.63 對於當前的單個站點(site1.ie)設置,我有虛擬主機的詳細信息, DocumentRoot和Directory指令指向httpd.conf中當前站點的site1 documentroot。
要啓用虛擬主機,我已取消註釋Include conf/extra/httpd-vhosts.conf,並且已將虛擬主機站點配置詳細信息移入httpd-vhosts.conf。事情是這樣的:
<VirtualHost _default_:443>
ServerName http://site1.ie
DocumentRoot "/usr/local/apache2/htdocs/site1"
ServerAlias site1.ie
</VirtualHost>
當我取消在httpd.conf文件並重新啓動httpd的,我得到一個403 Forbidden錯誤DocumentRoot的細節,當我嘗試加載site1.ie。
目錄指令中的httpd-vhosts.conf(從httpd.conf中移動):
<Directory "/usr/local/apache2/htdocs/site1">
Options Indexes FollowSymLinks
AllowOverride AuthConfig
Require all granted
</Directory>
編輯:
中的httpd error_log裏給了這個錯誤:AH01630:客戶端通過服務器配置否認:在/ usr /本地/ Apache2的/ htdocs中/
這是網站數據的位置是由該目錄指令控制:
<Directory />
AllowOverride none
Require all denied
</Directory>
據我所知這是默認拒絕訪問此文件夾,但允許通過他們自己的目錄指令訪問其子文件夾?
發生403問題的時刻是當我註釋掉主httpd.conf文件中的DocumentRoot並在virtualhost指令中定義DocumentRoot(在httpd.conf文件或httpd-vhosts.conf文件中)。
我暫時更改了Directory /指令(如上所示)以要求所有授予,這擺脫了403錯誤,但所有我presneted與默認apache'它工作'頁面。我仍然無法訪問爲site1定義的documentroot目錄。
有沒有人有任何指針我做錯了什麼?
檢查日誌以查看實際請求的文件。這將幫助您確定根是否錯誤或者燙髮是否錯誤。 –
httpd中的error_log出現此錯誤:AH01630:客戶端被服務器配置拒絕:/ usr/local/apache2/htdocs / – user3744081