problema di accesso a localhost su Mac OS X Mavericks ... funzionava bene fino al mio riavvio oggi


16

Sono perplesso per il problema che sto riscontrando e apprezzerei molto l'aiuto per risolverlo.

Ho un iMac con Mac OS X Mavericks 10.9.2

Ho impostato il mio apache per pubblicare documenti dal server root / Volume / siti /

Sto usando host virtuali dinamici, quindi semplicemente aggiungendo una directory con il suffisso * .dev, diventa un host virtuale.

Il mio file hosts è piuttosto semplice:

##
# 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

Il mio file httpd-vhosts.conf è il seguente:

#
# 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/

Tutto ha funzionato. E non ho cambiato nulla nel mio file httpd.conf.

Tuttavia non riesco a caricare localhost

Inoltre non riesco a caricare 127.0.0.1

Ho eseguito il comando sudo lsof -i :80 | egrep "PID|LISTEN"per vedere se qualche PID era in ascolto sulla porta 80. I risultati erano vuoti.

Ho provato a riavviare apache e anche a interrompere e quindi avviare apache utilizzando

sudo apachectl stop sudo apachectl start

sudo apachectl restart

Niente funziona.

Ho verificato se Apache era in esecuzione eseguendo il comando httpd -v

Il ritorno è stato:

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

Ho provato a connettermi a localhost e 127.0.0.1 tramite la riga di comando con il seguente risultato:

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 ~

Per favore aiuto.


Cosa hai fatto con questo problema, poiché sto vivendo esattamente la stessa cosa qui :(
Pmpr

Risposte:


38

Ho avuto lo stesso problema. Ho cancellato una cartella del mio progetto e si è rotta. In questo caso, le configurazioni del sito devono essere rimosse da httpd-vhosts.conf e httpd.conf.

Provare ping 127.0.0.1

apachectl configtest può aiutarti a rilevare il problema.


7
Assolutamente corretto, apachectl configtestdevi essere il tuo primo tentativo! Grazie.
Lucas Serafim,

Avvertenza: DocumentRoot [/ Users / me / blah / blah] non esiste, è possibile trovare rapidamente la linea offensiva consudo cd / && grep -rn "/Users/me/blah/blah" *
Shanimal,

4

Il problema potrebbe essere che il file hosts potrebbe essere stato corrotto dalla codifica ASCII originale. Ho cancellato tutti gli spazi e messo le schede, ho eseguito sudo killall -HUP mDNSResponder(puoi farlo invece di riavviare) e dopo, ha funzionato.


1
Sì, è /etc/hostsstato danneggiato - linee duplicate, alcuni spazi in cui un tempo c'erano le schede ... ora per capire come è successo ....
LeeGee,

3

Nel mio caso, il problema era che la cartella / private / var / log / apache2 / era scomparsa per motivi sconosciuti. Ricrealo con

sudo mkdir /private/var/log/apache2

e riavviare apache con

sudo apachectl restart

fatto il trucco!


2

Le connessioni rifiutate sono generalmente causate da un server che non ascolta la porta.

Gli errori di sintassi o gli errori generali del file di configurazione uccideranno apache all'avvio (di solito senza riferire ai log degli errori o al terminale).

Prova a correre sudo apachectl configteste vedi se genera messaggi di errore.


-1

È specifico per Mac. Per prima cosa devi abilitare la condivisione Web. Per Maveric può essere fatto come in questo tutorial. https://www.youtube.com/watch?v=TgiZiTU9JVY Secondo, per Mac il traffico se filtrato tramite pfctl (cioè man pfctl) in Maveric e ipfw (man ipfw) per la versione precedente di Mac OS se hai bisogno di più di una porta 80


Risposte su Ask Diverso deve essere più di un semplice link. Va bene includere un link, ma riassumilo o estrailo nella risposta. L'idea è di rendere la risposta indipendente.
Nohillside

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.