Localhost отказывается подключаться после обновления до Sierra OS

8

Я скачал и установил apache, php, phpmyadmin, mysqlчерез MacPorts. Все работало нормально до обновления на macOS Sierra.

После обновления всякий раз, когда я пытаюсь получить доступ к localhost, я получаю следующее сообщение об ошибке: «Этот сайт не может быть достигнут, localhost отказался подключиться».

Это происходит, хотя мои настройки в apache http.confфайле остаются прежними.

Я также предоставляю содержимое файла hosts

127.0.0.1       localhost
255.255.255.255 broadcasthost
::1             localhost

Любой совет?

vasilisdmr
источник
Вы убедились, что все эти службы действительно работают?
samh
если я запускаю команду «sudo port load apache2», я получаю следующий ответ от терминала «/opt/local/etc/LaunchDaemons/org.macports.apache2/org.macports.apache2.plist: сервис уже загружен», поэтому я Я уверен, что Apache работает.
vasilisdmr
Пожалуйста, добавьте содержимое вашего файла / etc / hosts. 127.0.0.1 работает? Может быть связано: apple.stackexchange.com/questions/252466/…
klanomath
Вы запустили configtest, чтобы убедиться, что все в порядке? У меня была похожая проблема со стандартной установкой Apache, что-то в обновлении сломало один из зависимых пакетов.
доктор Никсон
Только что проверил тест конфигурации, и результаты были следующими: «httpd: apr_sockaddr_info_get () не удалось для username-MacBook-Pro.local» «httpd: Не удалось надежно определить полное доменное имя сервера, используя 127.0.0.1. Установите ' ServerName 'глобально директива для подавления этого сообщения ". Поэтому я следовал этому руководству и « mdshaonimran.wordpress.com/2011/10/17/… », и ошибка исчезла, но я все еще получаю сообщение об отказе при попытке посетить localhost.
vasilisdmr

Ответы:

3

Я решил это, закомментировав эту строку из моего httpd.conf:

LoadModule unique_id_module modules/mod_unique_id.so

Я не очень знаком с mod_unique_id , но, кажется, это не критично для моего локального сервера разработки (ваша ситуация может отличаться).

unique_id_module

Этот модуль предоставляет волшебный токен для каждого запроса, который гарантированно уникален для всех запросов при очень определенных условиях. Уникальный идентификатор даже уникален для нескольких машин в правильно настроенном кластере машин. Переменная окружения UNIQUE_ID устанавливается равной идентификатору для каждого запроса. Уникальные идентификаторы полезны по разным причинам, которые выходят за рамки этого документа.

slackernrrd
источник
11

После обновления до macOS Sierra, Apache httpd перемещает старый httpd.confв httpd.conf.pre-updateи устанавливает новый. Для работы на localhost, пожалуйста, попробуйте следующую процедуру:

cd /etc/apache2/  
sudo mv httpd.conf httpd.conf-afterupdate  
sudo mv httpd.conf.pre-update httpd.conf  
sudo apachectl configtest  
sudo apachectl restart  

Затем протестируйте:

curl -I -L localhost
Вивек Сатисан
источник
3
Конфигурация sudo apachectl дала мне все ошибки! Спасатель жизни, спасибо.
Джошуа Кисун
2
Большое спасибо за ответ! Кстати, как вы выяснили это решение? Я не получил никаких ошибок с configtest (я должен был получить oone?) И честно, я не знал бы, где начать искать ответ самостоятельно.
Рахул Говинд
Вы экономите мое огромное время, большое спасибо.
Сила Хатун
3

У меня такая же проблема. Я побежал sudo apachectl configtestи получил сообщение:

AH00526: Синтаксическая ошибка в строке 6 файла /private/etc/apache2/other/default-ssl.conf:

Неверная команда 'SSLEngine', возможно, с ошибкой или определена модулем, не включенным в конфигурацию сервера

Я просто переименовал файл конфигурации ssl по умолчанию, чтобы он больше не загружался. Апач перезагружался позже, все вернулось.

Матиас Лилль
источник
1

У меня была та же проблема, и я решил комментировать mod_proxy_hckeck в httpd.conf

LoadModule proxy_hcheck_module libexec / apache2 / mod_proxy_hcheck.so

Отредактировано: я обнаружил в apache.org, что этот модуль требует mod_watchdog, но этот модуль комментируется, поэтому просто комментируйте mod_proxy_hcheck или снимайте комментарий mod_watchdog LoadModule watchdog_module libexec / apache2 / mod_watchdog.so

надеюсь, что это работает!

Густаво ван Тол
источник
Комментирование mod_proxy_hcheck решило это и для меня. До этого Apache молча не мог подключиться к своему порту.
Отто G
1

У меня была такая же проблема. К счастью, мне удалось решить проблему случайно. После ошибки загрузки Suitcase Fusion я понял, что проблема не связана с Apache. Проблема в основном файле / etc /.

Заменить файл хостов

Вы можете загрузить файл хостов Mac OS по умолчанию с http://cs.us.extensis.com/HostsFile/hosts.zip .

Распакуйте файл hosts; он не должен иметь расширение файла. В Finder перейдите в «Go»> «Перейти к папке». Для «Go the the folder» введите «/ etc» и нажмите Enter. Перетащите файл hosts в папку etc; при появлении запроса введите имя пользователя и пароль администратора Mac OS. После размещения файла hosts в папке etc:

Откройте приложение «Терминал». Введите следующую команду и нажмите «Enter»: sudo chmod 644 / etc / hosts. Введите пароль Mac OS и нажмите «Enter». При вводе пароля Mac OS в окне «Терминал» могут отображаться маркеры, значки клавиш или ничего. в версии Mac OS, которую вы используете. Это нормально.

Очистить кэш DNS Mac OS

В окне терминала введите следующую команду и нажмите Enter: sudo killall -HUP mDNSResponder Перезагрузите компьютер Mac Причина

Suitcase Fusion использует файл hosts для поиска и подключения к ядру типа, используя адрес обратной связи (127.0.0.1 или localhost). Если файл hosts отсутствует или запись 127.0.0.1 указывает на имя, отличное от localhost, вы увидите одно из сообщений об ошибках, показанных выше.

Если Suitcase Fusion не может разрешить localhost до 127.0.0.1, вы получите первое сообщение об ошибке; если тип core не может разрешить localhost до 127.0.0.1, вы получите второе сообщение об ошибке.

Если файл hosts был изменен, он может быть удален при обновлении до новой версии Mac OS. Сторонние приложения или сетевые утилиты также могут неправильно изменять запись localhost. Для получения дополнительной информации см. Как отредактировать файл Hosts в Mac OS X с помощью Terminal.

Крис
источник