我最近将我的工作机器更新为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上看到的项目。
你能告诉我这里出了什么问题吗?谢谢!
答案 0 :(得分:21)
当您更新到macOS时,它覆盖了/ etc / apache2 /文件夹中的“ httpd.conf ”文件。它还覆盖了/ etc / apache2 / extra文件夹中的“ http-vhost.conf ”文件。
您需要查看这些目录中是否有备份文件以取消注释这些行,或者将其用作帮助恢复设置的示例:http://digitalshore.io/local-web-development-environment-apache-macos-sierra-10-12/
检查 http-conf~previous 的“ / etc / apache2 ”和“ / etc / apache2 / extra ”文件夹和 http-vhost.conf~上一个文件将您以前的设置恢复
完成后,请务必运行 sudo apachectl restart ,以使新设置生效。
答案 1 :(得分:6)
完成@ 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