Localhost weigert sich nach dem Upgrade auf Sierra OS, eine Verbindung herzustellen

8

Ich habe heruntergeladen und installiert apache, php, phpmyadmin, mysqlüber Macports. Vor dem Upgrade auf macOS Sierra funktionierte alles einwandfrei.

Nach dem Upgrade wird bei jedem Versuch, auf localhost zuzugreifen, die folgende Fehlermeldung angezeigt: "Diese Site kann nicht erreicht werden, localhost hat die Verbindung verweigert."

Dies geschieht, obwohl meine Einstellungen in der apache http.confDatei gleich bleiben.

Ich stelle auch den Inhalt der Hosts-Datei zur Verfügung

127.0.0.1       localhost
255.255.255.255 broadcasthost
::1             localhost

Irgendein Rat?

vasilisdmr
quelle
Haben Sie überprüft, ob alle diese Dienste tatsächlich ausgeführt werden?
Samh
Wenn ich den Befehl "sudo port load apache2" ausführe, erhalte ich die folgende Antwort vom Terminal "/opt/local/etc/LaunchDaemons/org.macports.apache2/org.macports.apache2.plist: Dienst bereits geladen", also i Ich bin mir ziemlich sicher, dass Apache läuft.
Vasilisdmr
Bitte fügen Sie den Inhalt Ihrer Datei / etc / hosts hinzu. Funktioniert 127.0.0.1? Vielleicht verwandt: apple.stackexchange.com/questions/252466/…
klanomath
Haben Sie ein Configtest durchgeführt, um sicherzugehen, dass alles in Ordnung ist? Ich hatte ein ähnliches Problem mit der Standardinstallation von Apache. Etwas im Update hat eines der abhängigen Pakete beschädigt.
Dr. Nixon
Habe gerade den Konfigurationstest durchgeführt und die Ergebnisse waren die folgenden: "httpd: apr_sockaddr_info_get () fehlgeschlagen für Benutzername-MacBook-Pro.local" "httpd: Der vollständig qualifizierte Domänenname des Servers konnte mit 127.0.0.1 nicht zuverlässig ermittelt werden. Servername 'Anweisung global, um diese Nachricht zu unterdrücken ". Also folgte ich diesem Tutorial und " mdshaonimran.wordpress.com/2011/10/17/… " und der Fehler verschwand , aber ich erhalte immer noch die Ablehnungsnachricht, wenn ich versuche, localhost zu besuchen.
Vasilisdmr

Antworten:

3

Ich habe dies gelöst, indem ich diese Zeile aus meinem httpd.conf:

LoadModule unique_id_module modules/mod_unique_id.so

Ich bin mit mod_unique_id nicht sehr vertraut , aber es scheint nicht kritisch zu sein, es auf meinem lokalen Entwicklungsserver zu haben (Ihre Situation könnte anders sein).

unique_id_module

Dieses Modul bietet ein magisches Token für jede Anforderung, das unter "ganz bestimmten" Bedingungen garantiert für alle Anforderungen eindeutig ist. Die eindeutige Kennung ist sogar für mehrere Computer in einem ordnungsgemäß konfigurierten Cluster von Computern eindeutig. Die Umgebungsvariable UNIQUE_ID wird für jede Anforderung auf den Bezeichner gesetzt. Eindeutige Bezeichner sind aus verschiedenen Gründen nützlich, die den Rahmen dieses Dokuments sprengen.

slackernrrd
quelle
11

Nach dem Update auf macOS Sierra verschiebt Apache httpd das alte httpd.confaufhttpd.conf.pre-update das neue und platziert das neue. Um die Arbeit des lokalen Hosts zu erledigen, versuchen Sie bitte das folgende Verfahren:

cd /etc/apache2/  
sudo mv httpd.conf httpd.conf-afterupdate  
sudo mv httpd.conf.pre-update httpd.conf  
sudo apachectl configtest  
sudo apachectl restart  

Dann testen Sie:

curl -I -L localhost
Vivek Sathisan
quelle
3
sudo apachectl configtest gab mir alle Fehler! Lebensretter, danke.
Joshua Kissoon
2
Vielen Dank für die Antwort! Wie haben Sie diese Lösung herausgefunden? Ich habe keine Fehler mit configtest bekommen (sollte ich eins werden?) Und ehrlich gesagt würde ich nicht wissen, wo ich anfangen soll, selbst nach einer Antwort zu suchen.
Rahul Govind
Sie sparen mir viel Zeit. Vielen Dank.
Sila Khatun
3

Ich hatte das gleiche Problem. ich ranntesudo apachectl configtest und bekam die Nachricht:

AH00526: Syntaxfehler in Zeile 6 von /private/etc/apache2/other/default-ssl.conf:

Ungültiger Befehl 'SSLEngine', möglicherweise falsch geschrieben oder von einem Modul definiert, das nicht in der Serverkonfiguration enthalten ist

Ich habe gerade die Standard-SSL-Konfigurationsdatei umbenannt, damit sie nicht mehr geladen werden kann. Ein Apache-Neustart später kam alles zurück.

Matthias Lill
quelle
1

Ich hatte das gleiche Problem und habe das Kommentieren von mod_proxy_hckeck in httpd.conf gelöst

LoadModule proxy_hcheck_module libexec / apache2 / mod_proxy_hcheck.so

BEARBEITET: Ich habe in apache.org festgestellt, dass für dieses Modul mod_watchdog erforderlich ist, aber dieses Modul ist kommentiert. Kommentieren Sie also einfach mod_proxy_hcheck oder kommentieren Sie mod_watchdog aus. LoadModule watchdog_module libexec / apache2 / mod_watchdog.so

hoffe, es funktioniert!

Gustavo van Tol
quelle
Das Auskommentieren von mod_proxy_hcheck hat es auch für mich gelöst. Zuvor konnte Apache stillschweigend keine Verbindung zu seinem Port herstellen.
Otto G
1

Ich hatte das gleiche Problem. Zum Glück konnte ich das Problem versehentlich lösen. Nach einem Ladefehler bei Suitcase Fusion wurde mir klar, dass das Problem nicht durch Apache verursacht wird. Das Problem ist main / etc / file.

Ersetzen Sie die Hosts-Datei

Sie können eine Standard-Mac OS-Hosts-Datei von http://cs.us.extensis.com/HostsFile/hosts.zip herunterladen .

Entpacken Sie die Hosts-Datei. Es sollte keine Dateierweiterung haben. Gehen Sie im Finder zu Gehe zu> Gehe zu Ordner. Geben Sie für "Gehe in den Ordner" "/ etc" ein und drücken Sie die Eingabetaste. Ziehen Sie die Hosts-Datei in den Ordner "etc". Geben Sie einen Mac OS-Administrator-Benutzernamen und ein Kennwort ein, wenn Sie dazu aufgefordert werden. Nachdem Sie die Hosts-Datei im Ordner etc abgelegt haben:

Öffnen Sie die Terminal-Anwendung. Geben Sie den folgenden Befehl ein und drücken Sie die Eingabetaste: sudo chmod 644 / etc / hosts Geben Sie Ihr Mac OS-Kennwort ein und drücken Sie die Eingabetaste. Je nachdem, wie Sie Ihr Mac OS-Kennwort in das Terminal-Fenster eingeben, werden möglicherweise Aufzählungszeichen, Schlüsselsymbole oder nichts angezeigt auf der Version von Mac OS, die Sie verwenden. Das ist normal.

Leeren Sie Ihren Mac OS DNS-Cache

Geben Sie im Terminalfenster den folgenden Befehl ein und drücken Sie die Eingabetaste: sudo killall -HUP mDNSResponder Starten Sie Ihren Mac neu Ursache

Suitcase Fusion verwendet die Hosts-Datei, um mithilfe der Loopback-Adresse (127.0.0.1 oder localhost) den Typkern zu finden und eine Verbindung herzustellen. Wenn die Hosts-Datei nicht vorhanden ist oder der Eintrag für 127.0.0.1 auf einen anderen Namen als localhost verweist, wird eine der oben angezeigten Fehlermeldungen angezeigt.

Wenn Suitcase Fusion localhost nicht in 127.0.0.1 auflösen kann, wird die erste Fehlermeldung angezeigt. Wenn der Typkern localhost nicht in 127.0.0.1 auflösen kann, wird die zweite Fehlermeldung angezeigt.

Wenn die Hosts-Datei geändert wurde, wird sie möglicherweise beim Upgrade auf eine neue Version von Mac OS entfernt. Anwendungen oder Netzwerkdienstprogramme von Drittanbietern können den Eintrag localhost ebenfalls falsch ändern. Weitere Informationen finden Sie unter Bearbeiten der Hosts-Datei in Mac OS X mit Terminal.

Chris
quelle