2016-09-22 191 views
10

我最近将工作机更新为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,有一个简单的消息: “有用!”不是我最初在安装macOS Sierra之前在URL中看到的项目。

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

+0

你什么IP,如果你' ping tm-charts.dev'? – Capsule

+0

@capsule如果我ping了,我得到这个内容: '来自127.0.0.1的64字节:icmp_seq = 0 ttl = 64时间= 0.074 ms 来自127.0.0.1的64字节:icmp_seq = 1 ttl = 64时间= 0.066ms 来自127.0.0.1的64个字节:icmp_seq = 2 ttl = 64时间= 0.088 ms 来自127.0.0.1的64个字节:icmp_seq = 3 ttl = 64时间= 0.060 ms等 – Liz

+0

我只是想确保它达到127.0 .01和主机文件实际上是确定的。你可以尝试添加':: 1 localhost'吗?你仍然可以使用默认的apache vhost证明Apache仍然监听IPv4,所以'*'vhost基础应该是任何IP,v4或v6,但是谁知道。 – Capsule

回答

20

当您更新到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的/额外” 文件夹中的HTTP-conf的〜以前HTTP-vhost.conf〜以前文件把你以前的设置回

当你完成后一定要运行sudo apachectl restart使新设置生效。

+0

我看到httpd.conf.pre-update和httpd.conf〜previous。我应该将httpdconf〜previous的全部内容复制到主httpd.conf文件中吗?如果是的话,我该如何更换httpd.conf和http-vhost.conf的全部内容?我试着用编辑器没有运气。 –

+0

我确实重启了apachectl并解决了问题,谢谢! – Shweta

3

你与@提供克里斯 - 霍尔库姆的指示,完成后也做到以下几点:

编辑文件/ 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