problème d'accès à localhost sur Mac OS X Mavericks… cela fonctionnait bien jusqu'à ce que je redémarre aujourd'hui


16

Je suis perplexe quant au problème que j'ai et j'aimerais vraiment pouvoir l'aider à le résoudre.

J'ai un iMac sous Mac OS X Mavericks 10.9.2

J'ai configuré mon apache pour servir des documents à partir de la racine du serveur / Volume / sites /

J'utilise des hôtes dynamiques virtuels, donc simplement en ajoutant un répertoire avec le suffixe * .dev, il devient un hôte virtuel.

Mon fichier d'hôtes est assez basique:

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

Mon fichier httpd-vhosts.conf est le suivant:

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

Tout cela a fonctionné. Et je n'ai rien changé dans mon fichier httpd.conf.

Pourtant, je ne peux pas charger localhost

Je ne peux pas non plus charger 127.0.0.1

J'ai exécuté la commande sudo lsof -i :80 | egrep "PID|LISTEN"pour voir si un PID écoutait sur le port 80. Les résultats étaient vides.

J'ai essayé de redémarrer apache et également d'arrêter puis de démarrer apache en utilisant

sudo apachectl stop sudo apachectl start

sudo apachectl restart

Rien ne fonctionne.

J'ai vérifié si apache était en cours d'exécution en émettant la commande httpd -v

Le retour a été:

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

J'ai essayé de me connecter à localhost et 127.0.0.1 via la ligne de commande avec le résultat suivant:

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 ~

Veuillez aider.


Qu'avez-vous fait avec ce problème, car je vis exactement la même chose ici :(
Pmpr

Réponses:


38

Eu le même problème. J'ai supprimé l'un des dossiers de mon projet et il s'est cassé. Dans ce cas, les configurations du site doivent être supprimées de httpd-vhosts.conf et httpd.conf.

Essayer ping 127.0.0.1

apachectl configtest peut vous aider à détecter le problème.


7
Absolument correct, vous apachectl configtestdevez être votre premier essai! Merci.
Lucas Serafim

Avertissement: DocumentRoot [/ Users / me / blah / blah] n'existe pas, vous pouvez rapidement trouver la ligne incriminée avecsudo cd / && grep -rn "/Users/me/blah/blah" *
Shanimal

4

Le problème peut être dû au fait que le fichier hosts a peut-être été corrompu par l'encodage ASCII d'origine. J'ai effacé tous les espaces et y ai mis des tabulations, j'ai couru sudo killall -HUP mDNSResponder(vous pouvez le faire au lieu de redémarrer) et après, cela a fonctionné.


1
Oui, a /etc/hostsété corrompu - lignes en double, certains espaces où il y avait autrefois des tabulations ... maintenant pour comprendre comment cela s'est produit ....
LeeGee

3

Dans mon cas, le problème était que le dossier / private / var / log / apache2 / avait disparu pour des raisons inconnues. Recréer avec

sudo mkdir /private/var/log/apache2

et redémarrer apache avec

sudo apachectl restart

fait l'affaire!


2

Les connexions refusées sont le plus souvent causées par un serveur qui n'écoute pas le port.

Les erreurs de syntaxe ou les erreurs de fichier de configuration générales tueront Apache au démarrage (généralement sans rapport aux journaux d'erreurs ou au terminal).

Essayez de lancer sudo apachectl configtestet voyez s'il génère des messages d'erreur.


-1

C'est spécifique à Mac. Vous devez d'abord activer le partage Web. Pour Maveric, cela peut être fait comme dans ce tutoriel. https://www.youtube.com/watch?v=TgiZiTU9JVY Deuxièmement, pour Mac, le trafic est filtré via pfctl (c'est-à-dire man pfctl) dans Maveric et ipfw (man ipfw) pour les anciennes versions de Mac OS si vous avez besoin de plus de port 80


Les réponses à Ask Different doivent être plus qu'un simple lien. Vous pouvez inclure un lien, mais veuillez le résumer ou l'extraire dans la réponse. L'idée est de rendre la réponse autonome.
nohillside

-2

Cela pourrait aider votre requête. http://mallinson.ca/web-development-with-mavericks/


Veuillez essayer d'expliquer votre réponse à la requête plutôt que de simplement publier un lien.
Jash Jacob
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.