2012-12-17 44 views
14

我試圖設置一個使用Silex Bootstrap的網站。 我已經把它放在我的其他web項目的文件夾中,並改變了Apache配置中的DocumentRoot。設置Silex Bootstrap時出現Apache錯誤:無法檢查htaccess文件

<Directory /folder/to/silex_projects/web> 
    Options Indexes FollowSymLinks MultiViews 
    AllowOverride All 
    Order allow,deny 
     allow from all 
</Directory> 

但我無法打開框架的索引頁,阿帕奇給出:

[Mon Dec 17 21:10:52 2012] [crit] [client 127.0.0.1] (13)Permission denied: /folder/to/silex_project/web/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable

我chmod'ed整個項目文件夾chmod a+r -R。在同一文件夾中的其他項目與.htaccess文件正常工作。

.htaccess文件確實存在。

回答

29

chmod 755 -R /silex_project/解決了我的問題。我仍然不知道爲什麼Apache需要寫入權限才能工作。

+2

這確實解決了這個問題,但沒有解釋它,請參閱user1428022's anwser – loostro

+2

只需'chmod 755 .'爲我工作,所以問題出在項目文件夾的權限 –

19

這可能是因爲運行Apache的用戶對該目錄沒有eXecute權限。它也需要讀取其中的文件。 chmod a+rx /folder/to/silex_projects可能會解決你的錯誤。

您的chmod 755 -R不能解決這個問題也給寫訪問,但因爲這恰好也添加了eXecute。

+0

這是我的問題。謝謝。 @OrangeTux Apache不需要寫入權限即可工作。 – ndvo

0

我有這個錯誤太,找到這個好refrence (13)Permission denied: /home/username/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable

在查看您的域名,如果你看到錯誤「禁止」,然後檢查你的Apache日誌: 在/ var /日誌/的httpd/error_log中 /無功/日誌/的httpd /域/ domain.com.error.log

,看到了錯誤:

[crit] [client 1.2.3.4] (13)Permission denied: /home/username/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable 

這將意味着阿帕奇沒有讀取您的/ home/username目錄的訪問。

原因可能是權限相關,配置相關或所有權相關。

Apache以用戶「apache」運行,因此該目錄必須爲該用戶或組的+ x。

1)從DirectAdmin 1.38.0開始,我們實現了secure_acccess_group功能,它將/ home/user(對於用戶)設置爲chmod 750和chown username:access。 Apache用戶將在「訪問」組中。要確認這一點,請輸入以下內容:

[[email protected]]# grep ^access: /etc/group 
access:x:506:apache,nobody,mail,majordomo,daemon 

並且您應該得到類似於所示輸出的內容。

如果您得到一個空白的用戶列表,則存取組存在但是爲空。爲了正確地填充該組(在RedHat/CentOS的/ Debian的系統)中,類型:

usermod -G access apache 
usermod -G access nobody 
usermod -G access mail 
usermod -G access majordomo 
usermod -G access daemon 

在FreeBSD系統,以創建該組的命令是:

pw groupadd -n access -M apache,nobody,mail,majordomo,daemon 

但這意味着該組沒有按」 t還存在。這種情況在FreeBSD上沒有出現,所以可能不需要。

+0

將+ X添加到我的符號鏈接文件夾中解決了我。 (〜/ public_html符號鏈接到〜/ builds/build_UNIX/public_html我必須+ X生成public_html文件夾) –

2

除了發佈的其他答案之外,在這種情況下,如果您正在更改可從發行版「默認」位置訪問文件的任何內容,SELinux(如果已啓用)可能會咬你。

修正是爲selinux爲目錄/文件添加適當的策略,或者如果您不希望selinux安全運行,請將其禁用。