我使用 Ubuntu 14.04,並且遇到了 apache 配置問題:
我在/var/www/html
(自 Ubuntu 14.04 以來的 apache DocRoot)中創建了一個符號鏈接/home/me/myWebDirectory
cd /var/www/html
ln -s /home/me/myWebDirectory myWebDirectory
但localhost/myWebDirectory
呈現一個
403-權限被拒絕
事實上,sudo -u www-data ls /home/me/myWebDirectory
也回拒絕許可
apache2.conf 有以下指令:
<Directory /var/www>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
我把它改成了<Directory /var/www/html>
但沒有結果。
我嘗試使用以下命令添加me
用戶www-data group
,但它也沒有幫助:
sudo usermod -a -G www-data me
我想念什麼?
編輯:我將 的群組更改/home/me/myWebDirectory
為具有 rx 權限的 www-data,但也沒有成功...
註 1:我知道還有另一種方法可以做到這一點,同時啟動 apache mod_userdir,這可能是我接下來要做的。但首先我想了解如何讓這個「簡單」的解決方案發揮作用...
注意2:我也知道我可以創建一個 VirtualHost 等等,但同樣,我想首先了解為什麼這個簡單的(第一個和臨時的)解決方案不起作用...
答案1
當談到權限時,我認為你搞錯了。me
新增使用者www-data
沒有幫助,您應該將 Apache 的使用者新增至me
使用者群組。
此外,如果您僅更改 的群組權限,則如果群組無法訪問,則/home/me/myWebDirectory
這是不夠的。確保所屬群組的使用者可以進入目錄本身。/home/me
www-data
www-data
/home/me
對於更精細的方法,請查看POSIX ACL。
答案2
apache2需要能夠從目錄路徑的開頭讀取
sudo chgrp www-data /home/username
將群組 www-data 新增至用戶名
sudo useradd -g www-data username
然後登出並登入...和我一起工作
如果仍然不起作用,請使用
sudo chgrp www-data /home/username
嘗試登出並重新登入...應該可以