Виртуальные хосты, не работающие с установкой macOS Sierra

Недавно я обновил свою рабочую машину до macOS Sierra, и теперь ни одна из моих конфигураций виртуальных хостов не работает. Мне нужно переконфигурировать все это, что является огромной болью.

Мне интересно - нормально ли это? Есть ли способ предотвратить это в будущем, когда я обновляю свою операционную систему?

Кроме того, похоже, что моя конфигурация виртуального хоста не работает. См. Ниже.

Я редактировал /etc/apache2/extra/httpd-vhosts.conf для включения:

<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "/Users/splashnw/Sites/tm-charts"
ServerName tm-charts.dev
ErrorLog "/private/var/log/apache2/tm-charts.dev-error_log"
CustomLog "/private/var/log/apache2/tm-charts.dev-access_log" common
</VirtualHost>

И мой файл /etc/hosts имеет:

127.0.0.1 tm-charts.dev

Когда я перехожу к tm-charts.dev в своем браузере, есть просто сообщение: "Это работает!" Не мой проект, который я первоначально видел по этому URL до установки macOS Sierra.

Можете ли вы рассказать мне, что здесь происходит не так? Спасибо!

Ответ 1

Когда вы обновили файл macOS, он заменил ваш файл httpd.conf в папке /etc/apache 2/. Он также перезаписал ваш файл http-vhost.conf, а также в папке /etc/apache 2/extra.

Вам нужно посмотреть, есть ли в этих каталогах файл резервной копии, чтобы раскомментировать строки или использовать это в качестве примера, чтобы помочь восстановить ваши настройки: http://digitalshore.io/local-web-development-environment-apache-macos-sierra-10-12/

Проверьте папку /etc/apache2 и /etc/apache2/extra для http-conf ~ previous и http-vhost.conf ~ previous, чтобы вернуть предыдущие настройки.

Когда вы закончите, обязательно запустите sudo apachectl restart, чтобы новые настройки вступили в силу.

Ответ 2

Также после выполнения инструкций, предоставленных @chris-holcomb, выполните следующие действия:

отредактируйте файл /etc/apache 2/httpd.conf:

uncomment line 160:

#LoadModule vhost_alias_module libexec/apache2/mod_vhost_alias.so

к

LoadModule vhost_alias_module libexec/apache2/mod_vhost_alias.so

раскол линии 509:

#Include /private/etc/apache2/extra/httpd-vhosts.conf

к

Include /private/etc/apache2/extra/httpd-vhosts.conf

в качестве меры предосторожности очистите кэш DNS с помощью следующей команды:

sudo killall -HUP mDNSResponder

Наконец, перезапустите apache:

sudo apachectl restart

Источник: Apple Stack Exchange