Проблема с разрешениями при синхронизации с каталогом сайтов

270
yolk

Есть ли способ символически связать каталог с помощью lnмоего ~ / Sites / directory в OS X, чтобы разрешения были правильными, чтобы его можно было просматривать в веб-браузере, когда я занимаюсь веб-разработкой на локальном компьютере?

Это то, что я сделал ln -s ~/code/web/yolkportfolio ~/Sites/yolkportfolioтогда chmod 755в каталоге, но он по-прежнему не читается.

Любая помощь будет принята с благодарностью.

2
Какие разрешения на ссылку? sbtkd85 12 лет назад 0
`755` - это разрешения. yolk 12 лет назад 0

2 ответа на вопрос

2
yolk

Проблема была с моим конфигом apache. Вот что позволило ему работать, только FollowSymLinksправило.

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

У вас есть несколько вариантов:

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или любой другой ) и разрешения установки по мере необходимости.

Я сделал то, что вы сказали с разрешениями, но у меня все еще возникают проблемы при попытке получить доступ к каталогу. Я все еще получаю 403: запрещено yolk 12 лет назад 0
Можете ли вы опубликовать файлы конфигурации вашего Apache? Torian 12 лет назад 0
Мой конфигурационный файл apache можно увидеть [здесь] (http://pastebin.com/56CZFUrp). yolk 12 лет назад 0
Отправьте точную команду, которую вы использовали для изменения разрешений Torian 12 лет назад 0
`chmod -R 755 ~ / Sites / yolkportfolio /`, которая является символической ссылкой на мой каталог `~ / code`. yolk 12 лет назад 0
Это именно ваша проблема. Вы `chmod`ed каталог, который находится внутри вашего дома, но проблема заключается в разрешениях вашего дома. Если вы решите изменить права доступа, то вам нужно `chmod 755 ~ /`. Torian 12 лет назад 0