同步到網站目錄時出現權限問題

同步到網站目錄時出現權限問題

有沒有辦法將目錄符號連結ln到 OS X 上的 ~/Sites/ 目錄,以便權限正確,以便當我在本機電腦上進行 Web 開發時可以在 Web 瀏覽器中查看它?

ln -s ~/code/web/yolkportfolio ~/Sites/yolkportfolio這就是我當時在目錄上所做的,chmod 755但它仍然不可讀。

任何幫助將不勝感激。

答案1

問題出在我的 apache 設定上。這就是讓它發揮作用的原因,只是規則FollowSymLinks

<Directory "/Users/Joe/Sites/">
    Options Indexes MultiViews FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

答案2

您有幾個選擇:

1.apache如果您使用不同的使用者(不是您的使用者)執行,並且明確希望DocumentRoot指向您主目錄中的某個目錄,則需要將主目錄的權限變更為(預設必須是750700755

只有當這是您的筆記型電腦或您的個人電腦並且沒有其他人可以存取它時,我才推薦這樣做。

2.第一個不是一個選項,但您仍然想要在家DocumentRoot中,那麼您可以更改正在運行的用戶apache。編輯其設定檔並尋找指令UserGroup.

3.第二個仍然不是一個選擇,而且......你仍然想要家裡有東西。使用apache的mod_userdir。具有以下配置:

<IfModule mod_userdir.c>
        UserDir public_html
        UserDir disabled root

        <Directory /home/*/public_html>
                AllowOverride FileInfo AuthConfig Limit Indexes
                Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
                <Limit GET POST OPTIONS>
                        Order allow,deny
                        Allow from all
                </Limit>
                <LimitExcept GET POST OPTIONS>
                        Order deny,allow
                        Deny from all
                </LimitExcept>
        </Directory>
</IfModule>

這是 Debian 上 Apache 的 mod_userdir 的預設配置。您將能夠訪問:

/home/your-username/public_html/*

在您的瀏覽器上造訪以下地址:

http://somewhere/your-username/*

4.最後,您可以將其放置在DocumentRoot其他位置(/srv/www/opt/www其他位置)並根據需要設定權限。

相關內容