2016-09-22 232 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