2013-03-11 83 views
2

我使用的是Ubuntu 12.04和apache(兩者都是新的),我想添加一個新的虛擬目錄,所以我修改文件/etc/apache2/sites-available/default,添加以下:Apache'你沒有權限訪問此服務器上的xx'

Alias /docs/ "/home/kk/workspace/javascript/maplib/" 
<Directory "/home/kk/workspace/javascript/maplib/"> 
    Options Indexes MultiViews FollowSymLinks 
    AllowOverride None 
</Directory> 

然後我在瀏覽器中打開URL http://localhost/docs/,我得到以下信息:

You don't have permission to access /docs/ on this server. 

那麼我想它可以通過文件/文件夾的權限引起的。所以,我在read permession添加到所有用戶:

sudo chmod a+r /home/kk/workspace/javascript/maplib/ 

然後我跑

ls -ld ~/workspace/javascript/maplib/ 

,我得到這個:

drwxr--r-- 14 kk kk 4096 Mar 11 08:36 /home/kk/workspace/javascript/maplib/ 

正如你可以看到每一個用戶shold有read訪問目錄,但沒有改變(我也收到403消息)。

然後我試圖找到的/var/www許可和獲取:

drwxr-xr-x 2 root root 4096 Mar 8 15:33 /var/www 

看來,它只是增加了execute權限的文件夾,但我不認爲這是問題。

那麼是怎麼回事?


BTW,爲什麼Apache用於識別/docs/docs/兩個不同的網址?由於我會通過localhost/docs得到404

+0

@ultranaut:感謝您的閱讀。 :) – hguser 2013-03-11 02:50:51

+0

你做了配置文件的更改後重新啓動apache嗎? – ultranaut 2013-03-11 03:07:50

+0

Ofcouse,我重新啓動它使用'sudo /etc/init.d/apache2 restart' – hguser 2013-03-11 06:10:56

回答

2

在Apache安裝訪問是使用等/ apache2的/ envars控制和執行等/ apache2的/ apache2.conf

在/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 

你想要的Web服務器訪問的目錄需要運行Web服務器在一組。我會說要檢查組權限並在必要時修復它們。如果你有這些設置正確回來併發布Apache訪問日誌。

相關問題