Подтвердить что ты не робот

OSX El Capitan - Apache 403 Запрещено

Я только что перешел из Йосемиты в Эль-Капитан, но, к сожалению, забыл скопировать мой старый httpd.conf, и теперь мне нужно снова настроить все его настройки.

Я уже изменил documentroot на предыдущий /users/admin/www, а также настроил на выпуск доступ к этой папке:

<Directory "/users/admin/www">
Options Indexes MultiViews FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>

Перезапущенный Apache, но даже таким образом я получаю ошибку "Запрещено" при попытке доступа к 127.0.0.1.

Что мне здесь не хватает?

4b9b3361

Ответ 1

Я только узнал, что старый файл.conf сохраняется во время обновления El Captain в этой папке:

/private/etc/apache2/httpd.conf.pre-update

Так что я просто скопировал старые определения в новый :)

Ответ 2

Выполните следующие действия:

  • Открытый терминал
  • Бег:

    cd /etc/apache2/
    sudo mv httpd.conf httpd.conf.OLD
    sudo mv httpd.conf~previous httpd.conf
    sudo apachectl restart
    

Проведя 3 часа на вопрос - это сработало для меня!

Ответ 3

Вы можете перейти к /private/etc/apache2/ а затем diff httpd.conf httpd.conf.pre-update чтобы увидеть различия между старым файлом conf и новым, который был добавлен.

Для меня было много строк LoadModules, и мой пользователь/группа apache был изменен на _www

Ответ 4

Я не знаком с изменениями в Apache 2.4, так что это действительно заглохло меня примерно на 30 минут. Я только что обновился от Mavericks до El Capitan (Apache 2.2 до 2.4), и я не смог загрузить свой личный каталог сайтов (http://localhost/~ {username}. Я продолжал получать "Запретный". После хорошего исследования я обнаружил что мне нужно было изменить /etc/apache2/users/{username}.conf, чтобы добавить "Требовать все предоставленные". Поскольку я никогда не обновлялся до Yosemite (который также использует Apache 2.4), я никогда не сталкивался с этим.

Я надеюсь, что эта информация поможет кому-то

Ответ 5

Обновление управления доступом к каталогу работало для меня:

В этом примере разрешены все запросы.

2.2:

Order allow,deny Allow from all

2.4:

Require all granted

Источник: http://httpd.apache.org/docs/trunk/upgrading.html (под контролем доступа)

Примечание. Я сохраняю свои собственные настройки отдельно в /private/etc/apache2/other/.

Ответ 7

Как и @delphirules, вы можете скопировать старый файл httpd.conf следующим образом:

sudo cp /etc/apache2/httpd.conf.pre-update /etc/apache2/httpd.conf

У меня были проблемы с подключением к моему локальному хосту весь день, но, наконец, нашли это: https://mallinson.ca/web-development-with-el-capitan/

Просто запустите команду копирования, а затем выполните sudo apachectl restart

Ive также отключил SIP (System Integrity Protection) в режиме восстановления. Я не знаю, действительно ли это что-то сделало. Вы можете найти эти инструкции здесь: https://forums.developer.apple.com/thread/3981

Ответ 8

У меня была аналогичная проблема, получившая ошибку 404 при попытке доступа к страницам в моем локальном каталоге сайтов, после того как я позволил себе на уровне пользователя обслуживать сайты после обновления до El Capitan. Проблема заключалась в том, что Apache сбросил файл httpd.conf по умолчанию, который отключает папки пользователя для загрузки файлов. Таким образом, http://localhost загружается нормально, но http://localhost/~username/index.html НЕ загружается. Здесь исправление:

создать резервную копию нового файла конфигурации, который был создан:

sudo cp /etc/apache2/httpd.conf /etc/apache2/httpd.conf_capitan

восстановить "старый" файл конфигурации, который был переименован:

sudo cp /etc/apache2/httpd.conf~previous /etc/apache2/httpd.conf

Ответ 9

Если у вас есть символические ссылки на некоторые из ваших проектов в каталоге DocumentRoot, после обновления до El Capitan вы можете получить 403 для этих проектов, как и я. Для их работы вам понадобятся следующие вещи:

1) Ваш пользователь apache (_www по умолчанию) должен иметь доступ к каталогу, в котором находится каталог, к которому вы ссылаетесь. В моем случае в apache DocumentRoot у меня было:

MyProject -> /Users/Me/Documents/Aptana Studio 3 Workspace/MyProject

И почему-то настройки доступа для /Users/Me/Documents/Aptana Studio 3 Workspace/MyProject были -rw------- 1 Me staff Предполагалось, что он был установлен во время обновления ОС x. Итак, после устранения ошибки sudo chmod 755 Aptana\ Studio\ 3\ Workspace.

2) Поскольку обновление также изменяет httpd.conf, убедитесь, что у вас есть это для каталога DocumentRoot или восстановлено из резервной копии httpd.conf, как было предложено выше:

Options Indexes FollowSymLinks

Если вы обновили Mavericks или более раннюю ОС x и восстановили резервную копию httpd.conf, вы должны, как сказал jcfranko, заменить настройку apache 2.2 для разрешения на запрос:

Require all granted

Ответ 10

Создайте символическую ссылку в папке /Users/{user name}/Sites

ln -s /Path/To/Target/Files /Users/{user name}/Sites/{name}