- 相關推薦
php虛擬主機Apache的配置方法
php虛擬主機配置方法有簡單的,也有復雜的,下面我們講一種稍微簡單一些的Apache PHP 虛擬主機配置步驟,歡迎閱讀!更多消息請關注應屆畢業生網!
在進行PHP 虛擬主機配置之前需要做一些準備工作,首先要將APACHE+PHP+MYSQL 基本環境配置好,也是PHP環境搭建好。我們將在此基礎之上進行PHP 虛擬主機配置,多個虛擬主機,即一個IP,可以有多個域名訪問,也可以說一個WEB SERVER上架設多個網站(在網上找了很久,都沒有找到一個可以設置成功的例子,只好自己慢慢弄了,用了我36個小時)。這個是我們在網上看到的像bluehost,justhost等五大空間提供商所提供的虛擬主機,是這樣的原理。
下面是PHP 虛擬主機配置的詳細步驟:
1.找到Apache的\conf目錄下的httpd.conf文件,打開它,找到下面這兩行:
# Virtual hosts
#Include conf/extra/httpd-vhosts.conf
把它改成下面這樣:
# Virtual hosts
Include conf/extra/httpd-vhosts.conf
意思是啟用虛擬主機的設置文件httpd-vhosts.conf,虛擬主機的設置都在這個文件下設置,不用去改httpd.conf,這樣比較清晰。
2.找到Apache的\conf\extra目錄下的httpd-vhost.conf這個文件。
打開它的時候里面已經含有像下面這樣的內容:
–虛擬主機配置開始
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host.localhostDocumentRoot “C:/Program Files/Apache Software Foundation/Apache2.2/docs/dummy-host.localhost”
ServerName dummy-host.localhost
ServerAlias www.dummy-host.localhost
ErrorLog “logs/dummy-host.localhost-error.log”
CustomLog “logs/dummy-host.localhost-access.log” common</VirtualHost>
COPY上面這幾行,關鍵是:把
DocumentRoot “”–虛擬主機的目錄,即域名對應的根目錄ServerName dummy-host.localhost–你想要的域名。
還要在每個虛擬主機配置開始前加入以下內容:
<Directory “c:\test”>
Options Indexes FollowSymLinks Includes ExecCGIAllowOverride AllOrder allow,deny
Allow from all
</Directory>
其中:
<Directory “c:\test”> –這是你的虛擬主機的被授權的目錄一般與DocumentRoot “”–虛擬主機的目錄,即域名對應的根目錄相同。Allow from all –這句是重點,只要allow別人才行訪問上面定義的目錄,否則在IE或firefox訪問時會顯示503錯誤,即禁止訪問。
如果你不想在httpd-vhost.conf 里加入
<Directory “c:\test”>
Options Indexes FollowSymLinks Includes ExecCGIAllowOverride AllOrder allow,deny
Allow from all
</Directory>
那么你也可以這樣做:
在httpd.conf里找到以下內容:
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
</Directory>
這是Apache默認的設置,一行是這樣的
Deny from all
意思是拒絕所有訪問對根目錄的訪問,別人是訪問不了你的網站的,所以要改成Allow from all
不過還是建議用種方法,即修改httpd-vhost.conf的內容,這樣比較清楚,也比較安全。
這樣apache的設置完成了,不過還要做下面這一步。
3.還有關鍵的一步:
這一步不做,一定不行因為你本地的機器沒有DNS解析。
找到C:\WINDOWS\system32\drivers\etc目錄下的hosts文件加上這樣的記錄127.0.0.1 demoa–這個是你的域名,你要設置多少個虛擬主機,要加多少行這樣的記錄。
OK,現在你可以設置N+1個域名了。
樣例:
--------------------------------------------------------------------------<VirtualHost *:80>
ServerAdmin webmaster@dummy-host.localhostDocumentRoot /www/docs/dummy-host.localhostServerName dummy-host.localhostServerAlias www.dummy-host.localhost
ErrorLog logs/dummy-host.localhost-error_logCustomLog logs/dummy-host.localhost-access_log common</VirtualHost>
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host2.localhostDocumentRoot /www/docs/dummy-host2.localhostServerName dummy-host2.localhostErrorLog logs/dummy-host2.localhost-error_logCustomLog logs/dummy-host2.localhost-access_log common</VirtualHost>
<Directory "D:\phpwork">
Options Indexes FollowSymLinks Includes ExecCGIAllowOverride AllOrder allow,deny
Allow from all
</Directory>
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host2.localhostDocumentRoot D:\phpworkServerName localhost
ErrorLog logs/dummy-host2.localhost-error_logCustomLog logs/dummy-host2.localhost-access_log common</VirtualHost>
<Directory "D:\phpwork\phpMyAdmin">
Options Indexes FollowSymLinks Includes ExecCGIAllowOverride AllOrder allow,deny
Allow from all
</Directory>
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host2.localhostDocumentRoot D:\phpwork\phpMyAdminServerName phpMyAdmin.local
ErrorLog logs/dummy-host2.localhost-error_logCustomLog logs/dummy-host2.localhost-access_log common</VirtualHost>
<Directory "D:\phpwork\test">
Options Indexes FollowSymLinks Includes ExecCGIAllowOverride AllOrder allow,deny
Allow from all
</Directory>
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host2.localhostDocumentRoot D:\phpwork\testServerName test.local
ErrorLog logs/dummy-host2.localhost-error_logCustomLog logs/dummy-host2.localhost-access_log common</VirtualHost>
PHP 虛擬主機配置方法還有很多途徑,可根據自己的需求和自己擅長的領域來選擇不同的配置方法。
【php虛擬主機Apache的配置方法】相關文章:
PHP環境搭建與配置的方法07-03
php配置文件phpini的方法10-04
PHP基礎配置09-25
PHP socket的配置及實例10-16
如何配置php環境07-16
如何配置PHP開發環境07-21
編譯php的配置參數實10-25
PHP微信jssdk配置10-29