Устранение ошибки 403 отказа в разрешении на Apache даже после «Разрешить от всех» и «Chmod 777»?

Мой DocumentRoot находится в ~/Dropbox/Websites. Он настроен как Allow From All и AllowOverride All в vhosts и в httpd.conf, и я даже рекурсивно установил разрешения 777 для всего DocumentRoot (это просто локальная среда разработки, я бы никогда не сделал это вживую, Дон не волнуйся). Это прекрасно работает в Ubuntu и Windows, но в OSX постоянно сообщает мне об отказе в доступе. Что еще я могу попробовать? Есть ли способ узнать, ПОЧЕМУ было отказано в разрешении? Было бы неплохо, если бы я хотя бы получил подсказку типа «_www не разрешен доступ к этой папке» или «.htaccess не разрешает вход в эту папку», но это общее сообщение не помогает.

Я также попытался сменить владельца каталога на _www:_www, что означает, что Apache работает как в OSX, но безрезультатно, ничего не изменилось.

Запись в журнале ошибок:

[Fri Feb 01 12:31:42 2013] [error] [client 127.0.0.1] (13)Permission denied: access to / denied

Запись в журнале доступа:

127.0.0.1 - - [01/Feb/2013:12:31:42 +0100] "GET / HTTP/1.1" 403 202 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_2) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17"
127.0.0.1 - - [01/Feb/2013:12:31:42 +0100] "GET /favicon.ico HTTP/1.1" 403 213 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_2) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17"

Подробнее: Виртуальные хосты работают. Ошибки доступа регистрируются в правильном месте, в /logs внутри самой папки vhost, я просто не могу пройти мимо ошибки 403. Я предполагаю, что это означает, что это какая-то проблема с .htaccess, поскольку apache, очевидно, успешно записывает в папку, нет?


person Swader    schedule 01.02.2013    source источник
comment
Вы проверили свои журналы Apache?   -  person cryptic ツ    schedule 01.02.2013
comment
Ничего страшного, локальная среда разработки. Обновление основного вопроса сейчас.   -  person Swader    schedule 01.02.2013
comment
@Юлий, не знаю как это сделать   -  person Swader    schedule 01.02.2013
comment
@Swader sysadmin.circularvale.com/debugging/   -  person cryptic ツ    schedule 01.02.2013
comment
Я боюсь, что в OS X нет strace, и я понятия не имею, как использовать DTruss, который кажется альтернативой.   -  person Swader    schedule 01.02.2013


Ответы (2)


IIRC, в OS X ваш домашний каталог по умолчанию не является исполняемым по всему миру, поэтому он также не может попасть в какой-либо каталог под ним. Вы можете проверить с помощью ls -ld ~ и исправить это с помощью chmod go+x ~. Убедитесь, что каждый каталог выше корня вашего документа является исполняемым файлом как минимум для всех.

person Gary G    schedule 01.02.2013
comment
Интересная теория, спасибо. Никакого эффекта после применения chmod go+x ~ хотя - person Swader; 01.02.2013
comment
На самом деле, добавление флага -R помогло. Большое спасибо! - person Swader; 01.02.2013

onlineoffline

#   onlineoffline tag - don't remove
    Require all granted

Просто сделайте это в C:\wamp\bin\apache\apache2.4.9\conf/httpd.conf и перезапустите apache.

person Jay Bharat    schedule 30.05.2015