Я настроил Общий веб-доступ в Системных настройках на Mac OS X 10.6 и щелкнул ссылку, которую он мне дал. К сожалению, Apache дал мне эту ошибку 403:
запрещено
У вас нет прав доступа к /~myusername/index.html на этом сервере.
Журнал доступа отображает: 10.0.1.2 - - [30/Jun/2010:16:25:15 -0700] "GET /~myusername/ HTTP/1.1" 403 210
Журнал ошибок отображает: [Wed Jun 30 16:26:09 2010] [error] [client 10.0.1.2] client denied by server configuration: /Users/myusername/Sites/
Как ни странно, доступ к http: // localhost работает нормально. Просто с двумя пользовательскими папками у меня возникли проблемы, другая пользовательская папка, которая новее моего обновления системы, работает нормально.
Раньше это работало на моей машине в Leopard, поэтому я все изменил ~/Sites
на 755, что не принесло пользы. Какие-либо предложения? Я полагаю, что я сделал что-то с моей машиной, что вызвало это, так как я не могу себе представить, что Apple что-то напутает.
Я настроил PEAR с этими инструкциями , но я понятия не имею, может ли это быть причиной этого.
источник
Ответы:
У Apple есть документ поддержки для этой проблемы . Исправление проблемы предполагает создание файла
/etc/apache2/users/yourusername.conf
( имя_пользователь является счет короткого именем , например ,danielbeck
- это, как правило , имя вашей домашней папки в/Users
) со следующим содержанием:После этого запустите
sudo chown root:wheel /etc/apache2/users/yourusername.conf
и перезапустите Apache.источник
sudo apachectl restart
в своем терминале.Чтобы Apache увидел файл, пользователь, с которым работает Apache (вероятно,
www
или_www
), должен иметь доступ к каталогам сайтов этих пользователей.~/Sites
Недостаточно иметь доступ для чтения / выполнения к содержимому , потому что ему нужно разрешить переход/
по пути вниз~/Sites
. Поэтому убедитесь , что/
,/Users
,/Users/myusername
, и/Users/myusername/Sites
все они имеют по крайней мере ,a+x
разрешение (бит Execute в каталогах позволяет , что пользовательский класс для обхода каталога, даже если доступ на чтение не допускается).Если в каком-либо из этих каталогов не отображается последний
x
набор (для «других»), используйте что-то вродеchmod a+x ...
этого для этого каталога.Если ACL для любого из этих каталогов показывает, что пользователю
www
было специально отказано в доступе, используйте соответствующие аргументыchmod
для исправления ACL.источник
Для справки, я только что имел дело с этим, и ни один из ответов здесь не работал в моем конкретном случае. Я настраивал виртуальные хосты, но что еще более важно, мне нужны были мои файлы htaccess для реальной работы.
Я изменил «AllowOverride None» на «AllowOverride All» в моем файле /etc/apache2/users/USERNAME.conf, и все мои сайты начали запрещаться.
Я изменил его обратно, а затем изменил его только для одного сайта в моем файле httpd-vhosts.conf, и только этот сайт был запрещен.
Посмотрев журналы и увидев, что проблема заключалась в переписывании URL и отсутствии FollowSymLinks, я вернулся к файлу USERNAME.conf. Я переключаю «AllowOverride None» на «AllowOverride All» и добавляю «Options + FollowSymLinks» на следующей строке.
Вещи начали работать. Я пришел с использованием xampp на Windows, и многие из этих настроек уже были установлены для всего сервера, как я.
источник
Options +FollowSymLinks
работал как шарм.У меня была та же проблема: моя (старая) учетная запись была недоступна, но учетная запись другого пользователя, созданная после обновления до Lion, работала очень хорошо.
Убедившись, что ваш /etc/apache2/users/USERNAME.conf выглядит следующим образом:
сделать sudo chown root: wheel /etc/apache2/users/USERNAME.conf
похоже, что этот параметр разрешения не установлен во время обновления ОС, и пользователь Apache не может прочитать файл конфигурации и выдает ошибку.
По крайней мере, это решило это для меня.
источник
sudo apachectl restart
после этого.Обновление для Lion в 10/2011 я должен был также добавить
UserDir включен, поэтому мой /etc/apache2/extra/httpd-userdir.conf выглядит так:
источник
Продолжение разговора с комментариями к первому вопросу. Проверьте свой
/etc/apache2/httpd.conf
файл. На моей машине у меня есть это:Я подозреваю, что ваше закомментировано. Я смутно припоминаю, как менял это вручную при переходе с 10,5 на 10,6, и значение по умолчанию изменилось.
Это, вероятно, очевидно, но вам придется использовать
sudo
для редактирования файла, потому что он будет принадлежать пользователю root.источник
В моем случае это каталог XAMPP + Mac OS X 10.7 + в папке Dropbox (перекрестная ссылка на мой другой вопрос в переполнении стека)
403 Access Forbidden сообщает Apache, поэтому я следовал приведенному выше комментарию, чтобы изменить пользователя в
/XAMPP/xamppfiles/etc/httpd.conf
, сUser nobody
наUser my_user_name
. Перезапустите Apache и все работает нормально.источник
Вероятно, у вас не включены индексы . Если вы не нужно будет либо создать индексный файл (
index.html
илиindex.php
) или указать файл в явном виде, то естьhttp://localhost/~me/mypage.html
.источник
~myusername
вообще, я верю.http://localhost/
следует указать на/Users/youruser/Sites/
.