14

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

我想知道 - 这种情况发生正常吗?当我更新我的操作系统时,有没有办法防止这种情况发生?

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

我已经编辑/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 时,只有一条消息:“它可以工作!” 不是我在安装 macOS Sierra 之前最初在该 URL 看到的项目。

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

4

2 回答 2

23

当您更新到 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以使新设置生效。

于 2016-09-23T03:28:19.167 回答
12

此外,在您完成 @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

资料来源:苹果堆栈交换

于 2016-11-14T14:45:18.283 回答