首先說(shuō)下配置:
系統(tǒng)配置: 操作系統(tǒng):Red Hat Linux 6.2 Web服務(wù)器:Apache 3.1.1+jakarta-tomcat 3.1.1 數(shù)據(jù)庫(kù)服務(wù)器:oracle 8i |
Apache服務(wù)器是目前應(yīng)用最多的web服務(wù)器,據(jù)統(tǒng)計(jì)在世界上的服務(wù)器中有超過(guò)一半采用Apache服務(wù)器.關(guān)于它的好處,您可以自己到http://www.apache.org/上去看。
今天我們的服務(wù)器出了一點(diǎn)兒?jiǎn)栴}:任何訪問(wèn)都會(huì)返回一個(gè)403的錯(cuò)誤:
Forbidden You don't have permission to access on this server。 |
不對(duì)呀,原來(lái)還好好的,在排除了目錄的權(quán)限等的問(wèn)題外,我?guī)缀醴榱讼到y(tǒng)的所有文件,尤其是/etc/httpd/conf下的所有配置文件,因?yàn)槲乙呀?jīng)將access.conf,srm.conf文件加入到httpd.conf文件中,同時(shí)在httpd.conf文件的最后加上了一句:
Include /etc/httpd/conf/tomcat.conf,以便將tomcat和apache連接起來(lái)。
在經(jīng)過(guò)了一番思考之后,我認(rèn)為問(wèn)題肯定出在httpd.conf文件中,于是就又重新檢查httpd.conf文件,終于讓我發(fā)現(xiàn)了其中有這樣一段:
<Files ~> AllowOverride AuthConfig FileInfo Indexs Limit Options Order allow ,deny Deny from all-----------------注意:就是這兒!!--->把這行去掉或注釋掉就行?。?! </Files> |
心頭一陣狂喜,哈哈,想起趙本山說(shuō)的一句話(huà)“小樣兒,脫了馬甲我也認(rèn)得你”,于是改成:
Allow from all,重新啟動(dòng)服務(wù)器,咦,還是不行?頭開(kāi)始大了,心想:今兒個(gè)我是載這兒了。又翻了n多遍httpd.conf文件幾乎都要背下來(lái)了還找不到問(wèn)題。也怪,突然就想起來(lái)了,www.apache.org不是有個(gè)問(wèn)題數(shù)據(jù)庫(kù)嗎,幾乎所有的問(wèn)題都可以在上面找到答案,于是進(jìn)入http://bugs.apache.org/,查找關(guān)鍵字forbidden,果然就讓我查到了,原來(lái)是我們一位同事想做一個(gè)虛擬主機(jī),用了linux的配置工具linuxconf,這個(gè)工具因?yàn)榘姹镜膯?wèn)題,會(huì)導(dǎo)致httpd.conf文件的修改,其實(shí)我只要將上面的那一段去掉就可以萬(wàn)事大吉了。
最終總結(jié)經(jīng)驗(yàn):遇到事情首先要想到到軟件所在的網(wǎng)站上找答案,免得浪費(fèi)時(shí)間。
寫(xiě)此文的目的:以我為反面教材,遇到問(wèn)題不要自己總是認(rèn)為自己可以解決,而不到專(zhuān)業(yè)網(wǎng)站上請(qǐng)教。很多的網(wǎng)站已經(jīng)有了非常完善的faq,基本上可以滿(mǎn)足大家平時(shí)的需求,比如pb的要多到www.sybase.com上走走,java到http://developer.java.sun.com上轉(zhuǎn)轉(zhuǎn),vc到壞孩子家溜溜。其實(shí)一些高手不是他們有多聰明,而是他們懂得如何從有用的地方找到自己想要的東西。
我也象他那樣找到了希望,也沒(méi)管用。后來(lái)我樂(lè)了,但后來(lái)我又樂(lè)不起來(lái)了。那著在我這里不行啊?誰(shuí)能幫我?我找!我找!不行就自救。
解決Apache下403 Forbidden錯(cuò)誤
正 文:
今天在公司電腦上安裝Apache,版本2.2.8,裝完剛測(cè)試可以;配置了下php的php.in文件再次localhost打開(kāi)發(fā)現(xiàn)錯(cuò)誤:HTTP 錯(cuò)誤 403 - 禁止訪問(wèn),即403 Forbidden:You don't have permission to access / on this server.權(quán)限又不夠了?
馬上打開(kāi)apache的配置文件httpd.conf,逐行檢查。在大約快一半的地方有以下這段代碼:
<Directory /> Options FollowSymLinks AllowOverride None Order deny,allow Deny from all </Directory> |
發(fā)現(xiàn)了吧。由于配置了php后,這里的“Deny from all”已經(jīng)拒絕了一切連接。把該行改成“allow from all”,修改后的代碼如下,問(wèn)題解決。
<Directory /> Options FollowSymLinks AllowOverride None Order deny,allow allow from all </Directory> |
再次在瀏覽器里打開(kāi)http://localhost,顯示it works!
總結(jié):如果你也發(fā)生了這樣的403禁止訪問(wèn),不妨注意下apache的httpd.conf配置文件里有“Deny from all”這行的代碼處,看看是不是哪里被系統(tǒng)悄悄地修改了。
該文章在 2012/4/10 0:08:14 編輯過(guò)