PHP開發(fā)Apache服務(wù)器配置
照此配置流程,絕對一路暢通,可保無虞。
昨天弄了個PHP小程序,想在本地跑一下測試,可是工作電腦沒有安裝環(huán)境,于是下載了一個wamp,一路暢通,Apache、Mysql、PHP就全有了。啟動wamp服務(wù),在瀏覽器里輸入“http://localhost”,訪問正常,跳出wamp首頁。于是,下面想把自己的CrashServer網(wǎng)站配置到Apache里,可以通過虛擬域名在本地訪問測試,結(jié)果遇到不少問題,今日一通Google研究,終于任督二脈全通。
1、首先,Apache的配置文件是httpd.conf和httpd-vhosts.conf,我們先來看下wamp安裝好后,httpd.conf的默認(rèn)配置。
DocumentRoot "d:/wamp/www/" <Directory /> AllowOverride none Require all denied </Directory> <Directory "d:/wamp/www/"> Options Indexes FollowSymLinks AllowOverride all Require local </Directory> # Virtual hosts #Include conf/extra/httpd-vhosts.conf
要想通過虛擬域名訪問網(wǎng)站,就需要配置一下httpd-vhosts.conf。那么需要啟動httpd-vhosts.conf,因為默認(rèn)是關(guān)閉的,所以把配置文件中#Include conf/extra/httpd-vhosts.conf前面的#去掉。于是httpd-vhosts.conf啟用了,那么我們?nèi)ゾ庉媓ttpd-vhosts.conf這個文件。
2、httpd-vhosts.conf文件的位置,在apache目錄下的conf/extra,上面的Include conf/extra/httpd-vhosts.conf其實已經(jīng)告訴了你它的位置。
在這個文件中,添加配置我上面的CrashServer網(wǎng)站:
NameVirtualHost *:80 <VirtualHost *:80> DocumentRoot "D:/wamp/www/CrashServer" ServerName crash.com </VirtualHost>
首先,我的CrashServer是放在wamp/www下面的,這是wamp默認(rèn)的網(wǎng)站目錄,其次,我想在本地測試的時候,用crash.com就能訪問到CrashServer,于是配置如上。
在這里,為了讓我們能通過crash.com訪問本地站點,所以需要修改hosts文件,添加 127.0.0.1 crash.com。
到這里,配置完畢了,于是重啟Apache,輸入crash.com訪問,結(jié)果正常訪問。但是,當(dāng)以localhost訪問時,原來出現(xiàn)的是wamp的主頁,現(xiàn)在卻顯示CrashServer了,于是還要在hosts里追加 127.0.0.1 localhost,在httpd-vhosts.conf中,追加上localhost的站點配置,現(xiàn)在看起來就是這樣了:
NameVirtualHost *:80 <VirtualHost *:80> DocumentRoot "D:/wamp/www" ServerName localhost </VirtualHost> <VirtualHost *:80> DocumentRoot "D:/wamp/www/CrashServer" ServerName crash.com </VirtualHost>
OK,到此基本可以結(jié)束了,網(wǎng)站都配置好了,看起來非常非常的簡單。但是對于我卻不是這樣的,我昨天碰到了如下問題。
首先,我的CrashServer一開始不是放在wamp/www下的,而是放在E:\360Downloads下面的,于是就有了如下配置:
<VirtualHost *:80> DocumentRoot "E:/360Downloads/CrashServer" ServerName crash.com </VirtualHost>
這沒錯吧,路徑都對,虛擬域名也對,可是訪問的時候,卻提示403 Forbidden,沒有權(quán)限。于是Google,哦,知道了原來是要給CrashServer目錄加上權(quán)限,于是修改配置如下:
<VirtualHost *:80> DocumentRoot "E:/360Downloads/CrashServer" ServerName crash.com <Directory E:/360Downloads/CrashServer> Order Allow,Deny Allow from All Require all granted </Directory> </VirtualHost>
重啟Apache,訪問正常了。首先,新增的Directory,是可以在httpd.conf中添加的,也可以在httpd-vhosts.conf中添加,我認(rèn)為在后者里面添加更好,配置內(nèi)容更加清晰明了,項目目錄權(quán)限跟隨著項目站點配置。在上面新增的Directory中,我們給了360Downloads下的CrashServer目錄加了權(quán)限,允許訪問了,所以就不再提示403 Forbidden了。
這個問題,現(xiàn)在寫起來是這么的簡單輕松,可問題出現(xiàn)的時候,卻很讓人困擾和郁悶。對于項目在wamp/www之外的,需要給項目目錄權(quán)限才可,注意:
Order Allow,Deny Allow from All Require all granted
這三條缺一不可,這是配置了允許外部計算機訪問服務(wù)器站點。
3、今天問題解決后,想到通過同一局域網(wǎng)下的其他設(shè)備訪問我的站點,于是用手機,在瀏覽器中輸入我的電腦的ip,不能訪問,再次Google,原來需要修改在httpd.conf中的配置:
<Directory "d:/wamp/www/"> Options Indexes FollowSymLinks AllowOverride all Require local </Directory>
其中,Require local,沒Google出來,但看名字知道,是只允許本地訪問,于是改成Require all granted,允許所有請求訪問,手機就可以訪問了。
參考,http://roteg.iteye.com/blog/1465380,這里是訪問驗證配置的解釋。
這里,有篇老外寫的配置博文,很好,https://www.kristengrote.com/blog/articles/how-to-set-up-virtual-hosts-using-wamp#wamp-step-7,但是唯獨一點,在他的Step 7的時候,給項目目錄添加權(quán)限:
<Directory C:/Users/Kristen/Documents/Projects> Order Deny,Allow Allow from all </Directory>
卻恰恰少了Require all granted,導(dǎo)致最后還是403 Forbidden,搞得我非常郁悶。
---------------------------------------------------------------------------------補充 2015-07-13-------------------------------------------------------------------------------------------------
感謝評論中唯一的評論者的提醒:Require all granted這是2.4上邊才需要的,2.2不需要。
這就可以理解了為什么Google出來的技術(shù)文章,有些提到require all granted,而有些則沒有。
---------------------------------------------------------------------------------end 補充 2015-07-13--------------------------------------------------------------------------------------------
此配置是在如下wamp環(huán)境進行的:
至此,在Apache下配置PHP站點,全部完成。
以上所述就是本文的全部內(nèi)容了,希望大家能夠喜歡。
相關(guān)文章
PHP實現(xiàn)的MongoDB數(shù)據(jù)庫操作類分享
這篇文章主要介紹了PHP實現(xiàn)的MongoDB數(shù)據(jù)庫操作類分享,模板mysql版的操作類,需要的朋友可以參考下2014-05-05Thinkphp5框架實現(xiàn)獲取數(shù)據(jù)庫數(shù)據(jù)到視圖的方法
這篇文章主要介紹了Thinkphp5框架實現(xiàn)獲取數(shù)據(jù)庫數(shù)據(jù)到視圖的方法,涉及thinkPHP5數(shù)據(jù)庫配置、讀取、模型操作及視圖調(diào)用相關(guān)操作技巧,需要的朋友可以參考下2019-08-08免費的ip數(shù)據(jù)庫淘寶IP地址庫簡介和PHP調(diào)用實例
淘寶ip地址庫提供免費的ip信息查詢,可查詢ip所在國家、區(qū)域、省份、城市及運營商等信息。不需要認(rèn)證不需要注冊,唯一的小缺陷就是限制美妙查詢頻率不能高于10次。2014-04-04