Виртуальные хосты, не работающие с установкой 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