虚拟主机不适用于安装 macOS Sierra

Virtual hosts not working with install of macOS Sierra

我最近将我的工作机器更新为 macOS Sierra,现在 none 我的虚拟主机配置正在运行。我需要重新配置所有这些,这是一个巨大的痛苦。

我想知道 - 发生这种情况是否正常?有没有办法在我更新操作系统时防止这种情况发生?

此外,我的虚拟主机配置似乎不起作用。请看下面。

我编辑了 /etc/apache2/extra/httpd-vhosts.conf 以包括:

<VirtualHost *:80>
ServerAdmin lbanach@splashworldwide.com
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 时,只有一条消息:"It works!" 不是我最初在 URL 安装 macOS Sierra 之前看到的项目.

你能告诉我这里出了什么问题吗?谢谢!

当您更新到 macOS 时,它会覆盖 /etc/apache2/ 文件夹中的“httpd.conf”文件。它还覆盖了 /etc/apache2/extra 文件夹中的“http-vhost.conf”文件。

您需要查看这些目录中是否有备份文件以取消注释这些行或以此为例来帮助恢复您的设置:http://digitalshore.io/local-web-development-environment-apache-macos-sierra-10-12/

检查“/etc/apache2”和“/etc/apache2/extra”文件夹中的 http-conf~previoushttp-vhost.conf~previous 文件以恢复之前的设置

完成后务必运行 sudo apachectl restart 以使新设置生效。

此外,在完成@chris-holcomb 提供的说明后,请执行以下操作:

编辑文件/etc/apache2/httpd.conf:

取消注释第 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