2013-03-04 286 views
2

我想配置我的本地服務器,就像我總是做但不工作一樣,說我沒有任何藉口,但如果我給對www文件夾的相同權限保持不變,如果我指向這個文件夾www,如果它工作我不明白?Ubuntu 12.10 Forbidden - 你沒有權限訪問/在這臺服務器

如果我不這樣說:它的工作原理

DocumentRoot /var/www 
<Directory /> 
     Options FollowSymLinks 
     AllowOverride None 
</Directory> 
<Directory /var/www> 
     Options Indexes FollowSymLinks MultiViews 
     AllowOverride None 
     Order allow,deny 
     allow from all 
</Directory> 

drwxr-xr-x 2 root root  4096 nov 6 15:27 www 

,但如果我這樣做:不起作用

DocumentRoot /home/diego/web_server 
<Directory /> 
     Options FollowSymLinks 
     AllowOverride None 
</Directory> 
<Directory /home/diego/web_server> 
     Options Indexes FollowSymLinks MultiViews 
     AllowOverride None 
     Order allow,deny 
     allow from all 
</Directory> 


drwxr-xr-x 2 root root 4096 mar 4 15:40 web_server 

我做錯了嗎?

+0

'/ home/diego'有什麼權限? apache能列出那個目錄嗎? – Wrikken 2013-03-04 22:52:16

回答

2

在Ubuntu 12.10的Apache中,你應該在/ etc/apache2/envars中有一個envars文件。用戶:組web服務器按照envars中的設置運行。如果您更改了文檔,您需要適當地在該新的文檔根目錄上設置權限。機會是在你的環境中你的Apache2安裝作爲www-data:www-data運行。如果是這樣,您需要爲新的docroot和將寫入該dir結構的任何用戶設置權限。

在/etc/apache2/apache2.conf中,您會在文件中間找到以下幾行。

#These need to be set in /etc/apache2/envars 
    User ${APACHE_RUN_USER} 
    Group ${APACHE_RUN_GROUP} 

在/ etc/apache2的/ envars你會發現

export APACHE_RUN_USER=www-data 
export APACHE_RUN_GROUP=www-data 

您可以分配不同的用戶:集團envars或指定的WWW的數據目錄的權限。

這與之前在httpd.conf中完成的方式不同。

+0

我不明白,因爲它應該設置呢?執行一個乾淨的安裝,但我沒有這個問題,除非這個目錄,看看機器,沒有它,我可以做一些不使用它,如在其他機器? – user987055 2013-03-04 23:47:40

+0

我很抱歉,但我不明白你的評論。我的回答是基於你的OP和你的Vhost配置。我相信你有權限問題,因爲你在/ home/diego/web_server上的非標準文檔。這些目錄權限設置不正確。由於您嘗試使用您的主目錄,請嘗試將您的用戶添加到www-data組並重新登錄。 – apesa 2013-03-04 23:55:51

+0

它工作,我改變出口APACHE_RUN_USER = diego出口APACHE_RUN_GROUP = diego,和chown diego:diego web_server/-R和/etc/init.d/apache2 restart – user987055 2013-03-05 00:01:35

相關問題