Я следовал этому руководству по настройке Apache на High Sierra: https://coolestguidesontheplanet.com/get-apache-mysql-php-and-phpmyadmin-working-on-macos-sierra/
Я использовал это, чтобы установить это на Сьерре.
Но когда я захожу, http://localhost/~scott/
я получаю «Запрещено. У вас нет разрешения на доступ к / ~ scott / на этом сервере».
Предложение по этому похожему вопросу: localhost / userdir на macOS High Sierra предназначен для загрузки vhosts. Что я пробовал, но все равно получаю «Запрещено».
Что-нибудь изменилось между Sierra и High Sierra, что мешало бы Apache работать с папками пользовательских сайтов?
apache
high-sierra
sfyfedotcom
источник
источник
apachectl configtest
иSyntax OK
Ответы:
Это сработало для меня, когда я столкнулся с той же проблемой.
Пожалуйста, проверьте файл "/private/etc/apache2/extra/httpd-userdir.conf".
изменение
в
и перезапустите Apache.
От: /programming/39631351/apache-localhost-403-forbidden-with-macos-sierra
источник
/private/etc/apache2/extra/httpd-userdir.conf
уже не прокомментирована из ссылки, по которой я следовал.Чтобы разрешить доступ к каталогу сайтов, необходимо добавить следующее
/etc/apache2/httpd.conf
:Конфигурация Apache по умолчанию установлена как запрещенная на /, поэтому вы должны явно разрешить доступ ко всему.
источник
Просто чтобы расширить на ответ Диого Лимы.
После обновления до High Sierra Apple сделала копии ваших предыдущих настроек apache и добавила ~ ~ к файлам * .conf в папках / etc / apache2 и / etc / apache2 / extra. Если вы используете виртуальные хосты или ssl-virtual hosts, вам также необходимо перенести предыдущие версии для этих файлов .conf.
источник
/Library/WebServer/Documents
и другоеUsers/username/Sites
как отдельные места для веб-проектов, поскольку это то, что я смог сделать на macOS за последние 10 с лишним лет.После попытки всех вышеперечисленных методов, если вы все еще получаете «запрет» при доступе к localhost, попробуйте добавить virtualhost в ваш /etc/apache2/extra/httpd-vhosts.conf
Добавить:
затем перезапустите Apache.
https://coolestguidesontheplanet.com/set-up-virtual-hosts-in-apache-on-macos-high-sierra-10-13/
у меня отлично работает
источник
Я был в той же ситуации, по-видимому, в httpd.conf есть еще несколько строк, которые нужно раскомментировать, vhosts не активированы в High Sierra. - https://apple.stackexchange.com/a/299929/259065
источник
Только что обновил сегодня утром. Использование папки Sites в / Users / username.
Создайте резервную копию и замените httpd.conf, httpd-userdir.conf и https-vhosts.conf с предыдущими вариантами.
Запустил
sudo apachectl configtest
и получил ошибку PHP (PHP обновлен до 7 в High Sierra). Отредактировал http.conf для запуска PHP7 и теперь все снова работает.источник
sudo apachectl configtest
Возможное решение (после сбоя всех вышеперечисленных предложений). Вопрос с разрешения домашнего каталога. Он должен быть исполняемым для группы / других:
sudo chmod go + x / Users / имя пользователя
где «имя пользователя» должно быть заменено фактическим именем пользователя. После этого все работает!
источник
Уф !! Я понял это сам.
Сделать эти шаги
Шаг 1: Откройте свой терминал и выполните эту команду ниже
А затем раскомментируйте строку, удалив
"#"
перед ней знакШаг 2: Запустите следующую команду, указанную ниже
Шаг 3: Затем перейдите в
/Library/WebServer/Documents
каталог и выполнитеВернитесь в браузер Safari и введите
"http://localhost/yourprojectname"
Вы все готовы идти.
Я использую MacOS High Sierra 10.13, он был обновлен вчера утром.
источник
localhost
работает от/Library/WebServer/Documents
работает нормально. Проблема бежитlocalhost/~scott
от/Users/Scott/Sites
.Потратил все утро, чтобы понять это, но в конце концов это сработало. Надеюсь, что это может быть полезно для кого-то.
Я последовал за гидом, но с небольшим изменением.
/users/username/Sites/
я добавил последний слеш, чтобы он работал для меня.Теперь я могу получить доступ к локальным папкам, но ...
До хай-сьерра это было похоже на:
http://localhost/~username/smomesite.local
Теперь это как:
http://localhost/smomesite.local
Больше не
~username
требуется.источник
Users/myname/Sites
каталога, так и/Library/WebServer/Documents
У меня просто была такая же проблема, и я хотел сделать именно то, что вы хотели (сохраните корень в / Library / WebServer / Documents, но также разрешите папки пользовательских сайтов). Я не уверен, будет ли это полезно, но, потратив на это несколько часов сегодня вечером, просматривая построчно все файлы .conf и задаваясь вопросом, что же не так, я понял, что процесс httpd не может прочитать мои собственный каталог пользователя. По какой-то причине он был установлен как 750, и пользователь _www не может его прочитать. Однажды я исправил это, запустив «chmod 755». в моем пользовательском каталоге папка Sites показалась прямо.
Я не уверен, как мой собственный пользовательский каталог стал таким, так как кажется, что по умолчанию он равен 755, когда я создаю нового пользователя. И я уже дважды проверял, что моя папка Sites установлена на 755.
источник
У меня такая же проблема. Я раскомментировал две строки ниже (как уже предлагалось в другом ответе)
Но все равно получил ту же ошибку. Уловка для меня состояла в том, чтобы раскомментировать эти дополнительные строки в файле httpd.conf:
Надеюсь, это поможет.
источник
Бывает, что обновление перенесло все ваши предыдущие настройки в файлы .conf ~ previous. Если вы переместите /etc/apache2/extra/httpd-userdir.conf~previous в /etc/apache2/extra/httpd-userdir.conf и /etc/apache2/extra/httpd.conf~previous в / etc / apache2 / extra / httpd.conf, он должен работать как раньше.
источник
У меня была такая же проблема. Разрешение было легким. См ответ размещен здесь: https://apple.stackexchange.com/a/306390/129503
источник
замещать
из более старых ~ предыдущих файлов.
Вы можете получить ошибку модуля php5 в httpd.conf, заменить php5 на php7, и ваши сайты должны начать работать.
замещать
С
источник
Я только что обновился и у меня были точно такие же проблемы. Я не использую Vhosts. Решением для меня было обеспечение:
В
https.conf
комментарияхи убедитесь, что
extra/httpd-user.conf
есть строка:источник