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.
Réponses:
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.la source
apachectl configtest
devez être votre premier essai! Merci.sudo cd / && grep -rn "/Users/me/blah/blah" *
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é.la source
/etc/hosts
été corrompu - lignes en double, certains espaces où il y avait autrefois des tabulations ... maintenant pour comprendre comment cela s'est produit ....Dans mon cas, le problème était que le dossier / private / var / log / apache2 / avait disparu pour des raisons inconnues. Recréer avec
et redémarrer apache avec
fait l'affaire!
la source
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 configtest
et voyez s'il génère des messages d'erreur.la source
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
la source
Cela pourrait aider votre requête. http://mallinson.ca/web-development-with-mavericks/
la source