有沒有辦法將目錄符號連結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
指向您主目錄中的某個目錄,則需要將主目錄的權限變更為(預設必須是750
或700
)755
只有當這是您的筆記型電腦或您的個人電腦並且沒有其他人可以存取它時,我才推薦這樣做。
2.第一個不是一個選項,但您仍然想要在家DocumentRoot
中,那麼您可以更改正在運行的用戶apache
。編輯其設定檔並尋找指令User
和Group
.
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
其他位置)並根據需要設定權限。