Problem beim Zugriff auf localhost unter Mac OS X Mavericks ... es hat einwandfrei funktioniert, bis ich heute neu gestartet habe

16

Ich bin verblüfft über das Problem, das ich habe, und würde mich sehr über eine Hilfe bei der Lösung freuen.

Ich habe einen iMac mit Mac OS X Mavericks 10.9.2

Ich habe meinen Apache so eingerichtet, dass Dokumente vom Server-Stammverzeichnis / Volume / sites / bereitgestellt werden.

Ich verwende dynamische virtuelle Hosts. Wenn Sie also ein Verzeichnis mit dem Suffix * .dev hinzufügen, wird es zu einem virtuellen Host.

Meine Hosts-Datei ist ziemlich einfach:

##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##
127.0.0.1         localhost
255.255.255.255   broadcasthost
::1               localhost
fe80::1%lo0       localhost

Meine httpd-vhosts.conf-Datei lautet wie folgt:

#
# Virtual Hosts
#
# If you want to maintain multiple domains/hostnames on your
# machine you can setup VirtualHost containers for them. Most configurations
# use only name-based virtual hosts so the server doesn't need to worry about
# IP addresses. This is indicated by the asterisks in the directives below.
#
# Please see the documentation at 
# <URL:http://httpd.apache.org/docs/2.2/vhosts/>
# for further details before you try to setup virtual hosts.
#
# You may use the command line option '-S' to verify your virtual host
# configuration.

#
# Use name-based virtual hosting.
#
NameVirtualHost *:80

#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for all requests that do not
# match a ServerName or ServerAlias in any <VirtualHost> block.
#

#allow access to the Hosts directory where your sites are
<Directory "/Volumes/sites">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    #you could configure the following to only allow access from localhost
    Order allow,deny
    Allow from all
</Directory>

#get the server name from the Host: header
UseCanonicalName Off
VirtualDocumentRoot /Volumes/sites/%0/

Das hat alles geklappt. Und ich habe nichts in meiner httpd.conf-Datei geändert.

Trotzdem kann ich localhost nicht laden

Ich kann 127.0.0.1 auch nicht laden

Ich habe den Befehl ausgeführt, sudo lsof -i :80 | egrep "PID|LISTEN"um festzustellen, ob eine PID Port 80 überwacht. Die Ergebnisse waren leer.

Ich habe versucht, Apache neu zu starten und auch zu stoppen und dann mit Apache zu starten

sudo apachectl stop sudo apachectl start

sudo apachectl restart

Nichts funktioniert.

Ich habe mit dem Befehl überprüft, ob Apache ausgeführt wird httpd -v

Die Rückkehr war:

Server version: Apache/2.2.26 (Unix)
Server built:   Dec 10 2013 22:09:38

Ich habe versucht, über die Kommandozeile eine Verbindung zu localhost und 127.0.0.1 herzustellen, mit folgendem Ergebnis:

alisamii at alisamii in ~
$ telnet localhost 80
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
telnet: connect to address 127.0.0.1: Connection refused
Trying fe80::1...
telnet: connect to address fe80::1: Connection refused
telnet: Unable to connect to remote host
alisamii at alisamii in ~
$ telnet 127.0.0.1 80
Trying 127.0.0.1...
telnet: connect to address 127.0.0.1: Connection refused
telnet: Unable to connect to remote host
alisamii at alisamii in ~
$ lynx http://localhost

Looking up localhost
Making HTTP connection to localhost
Alert!: Unable to connect to remote host.

lynx: Can't access startfile http://localhost/
alisamii at alisamii in ~
$ lynx http://127.0.0.1

Looking up 127.0.0.1
Making HTTP connection to 127.0.0.1
Alert!: Unable to connect to remote host.

lynx: Can't access startfile http://127.0.0.1/
alisamii at alisamii in ~

Bitte helfen Sie.

Ali Samii
quelle
Was hast du mit diesem Problem gemacht, da ich hier genau dasselbe
erlebe

Antworten:

38

Hatte das selbe Problem. Ich habe einen Ordner meines Projekts gelöscht und er ist kaputt gegangen. In diesem Fall sollten die Konfigurationsdateien der Site aus httpd-vhosts.conf und httpd.conf entfernt werden.

Versuchen ping 127.0.0.1

apachectl configtest kann Ihnen helfen, das Problem zu erkennen.

Anton
quelle
7
Absolut richtig, apachectl configtestmuss dein erster Versuch sein! Vielen Dank.
Lucas Serafim
Warnung: DocumentRoot [/ Users / me / blah / blah] existiert nicht. Sie können die beleidigende Zeile mitsudo cd / && grep -rn "/Users/me/blah/blah" *
Shanimal
4

Das Problem könnte sein, dass die Hosts-Datei möglicherweise durch die ursprüngliche ASCII-Codierung beschädigt wurde. Ich habe alle Leerzeichen gelöscht und Tabulatoren eingefügt, bin gelaufen sudo killall -HUP mDNSResponder(das kannst du tun, anstatt neu zu starten) und danach hat es funktioniert.

Francisco
quelle
1
Ja, /etc/hostswar beschädigt - doppelte Zeilen, einige Leerzeichen, wo es einst Tabulatoren gab ... jetzt, um herauszufinden, wie das passiert ist ...
LeeGee
3

In meinem Fall bestand das Problem darin, dass der Ordner / private / var / log / apache2 / aus unbekannten Gründen nicht mehr vorhanden war. Neu erstellen mit

sudo mkdir /private/var/log/apache2

und Neustart von Apache mit

sudo apachectl restart

hat den Trick gemacht!

Alemur
quelle
2

Abgelehnte Verbindungen werden am häufigsten von einem Server verursacht, der den Port nicht überwacht.

Syntaxfehler oder allgemeine Fehler in der Konfigurationsdatei töten den Apache beim Start (normalerweise ohne Meldung an die Fehlerprotokolle oder das Terminal).

Versuchen sudo apachectl configtestSie, das Programm auszuführen, und überprüfen Sie, ob Fehlermeldungen angezeigt werden.

Danielcraigie
quelle
-1

Es ist Mac-spezifisch. Zuerst müssen Sie die Webfreigabe aktivieren. Für Maveric kann dies wie in diesem Tutorial durchgeführt werden. https://www.youtube.com/watch?v=TgiZiTU9JVY Zweitens wird der Datenverkehr für Mac über pfctl (dh man pfctl) in Maveric und ipfw (man ipfw) für ältere Versionen von Mac OS gefiltert, wenn Sie mehr als Port benötigen 80

lettisch
quelle
Antworten auf Ask Different müssen mehr als nur ein Link sein. Es ist in Ordnung, einen Link einzufügen, aber bitte fassen Sie ihn in der Antwort zusammen oder extrahieren Sie ihn. Die Idee ist, die Antwort allein zu lassen.
Nohillside
-2

Dies kann bei Ihrer Abfrage hilfreich sein. http://mallinson.ca/web-development-with-mavericks/

Diarmuid Mac Cormack
quelle
Bitte versuchen Sie, Ihre Antwort auf die Frage zu erklären, anstatt nur einen Link zu posten.
Jash Jacob