apache的錯誤見得不少,可是這個錯誤還真被忽略了,今天一台web服務器出現訪問403異常,查看配置文件均無問題,而在error.log文件中,給出了類似這麼幾行提示:
[Tue Oct 26 12:42:58 2010] [crit] [client 8.8.8.8] (13)Permission denied: /cicro/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable
[Tue Oct 26 12:42:59 2010] [crit] [client 8.8.8.8] (13)Permission denied: /cicro/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable
[Tue Oct 26 12:42:59 2010] [crit] [client 8.8.8.8] (13)Permission denied: /cicro/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable
[Tue Oct 26 12:42:59 2010] [crit] [client 8.8.8.8] (13)Permission denied: /cicro/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable
[Tue Oct 26 12:42:59 2010] [crit] [client 8.8.8.8] (13)Permission denied: /cicro/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable
[Tue Oct 26 12:43:28 2010] [crit] [client 8.8.8.8] (13)Permission denied: /cicro/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable
剛開始認為是/cicro/.htaccess 文件權限導致的,結果發現根本無此文件,接著創建了一個/cicro/.htaccess文件,錯誤仍然繼續, 經過分析,不是缺少這個文件導致的錯誤,因為沒有此文件,是不會影響web訪問的。
經過仔細分析,發現了問題的根源,如果日志提示是其它目錄的.htaccess不可讀取,一般是因為上級目錄的權限或者屬主用戶組錯誤。目錄的正確權限應該為755,不過權限不是apache的root目錄,而是存放程序文件的主目錄,由此將問題定位到了/cicro這個目錄上,查看cicro目錄的權限,發現了問題的實質!
drw-rw-rw 9 root root 4096 10-26 13:03 cicro
這個權限真是有意思,不知道是誤操作還是別人在練習命令,改回755應該就好了。
chmod -R 755 /cicro
其實linux下root創建的目錄,默認權限都是755,可能忽略了這個,而思考其他方面而偏離了主題。在此記錄下,以備查用!