Проблема с разрешениями при синхронизации с каталогом сайтов
Есть ли способ символически связать каталог с помощью ln
в мой каталог ~/Sites/ в OS X, чтобы разрешения были правильными, чтобы его можно было просматривать в веб-браузере, когда я занимаюсь веб-разработкой на локальном компьютере?
Это то что я сделал ln -s ~/code/web/yolkportfolio ~/Sites/yolkportfolio
После, я chmod 755
в каталоге, но он все еще не читается.
Любая помощь будет принята с благодарностью.
2 ответа
Проблема была с моим конфигом apache. Вот что позволило ему работать, только FollowSymLinks
править.
<Directory "/Users/Joe/Sites/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
У вас есть несколько вариантов:
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>
Это конфигурация по умолчанию для Apache mod_userdir в Debian. Вы сможете получить доступ к:
/home/your-username/public_html/*
в вашем браузере по следующему адресу:
http://somewhere/your-username/*
4. Наконец, вы можете разместить DocumentRoot
где-нибудь еще (/srv/www
, /opt/www
или что угодно) и настройте права доступа по мере необходимости.