Есть ли способ символически связать каталог с ln
моим каталогом ~/Sites/ в OS X, чтобы разрешения были правильными и его можно было просматривать в веб-браузере, когда я занимаюсь веб-разработкой на локальной машине?
Это то, что я сделал 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.Второй вариант все еще не вариант, и все еще ... вы хотите, чтобы вещи были внутри вашего дома. Используйте mod_userdir apache. Со следующей конфигурацией:
<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>
Это конфигурация по умолчанию для mod_userdir Apache на Debian. Вы сможете получить доступ к:
/home/your-username/public_html/*
в вашем браузере по следующему адресу:
http://somewhere/your-username/*
4.Наконец, вы можете разместить его DocumentRoot
в другом месте ( /srv/www
или /opt/www
где-то еще) и настроить разрешения по мере необходимости.