Localhost refuse de se connecter après la mise à niveau vers Sierra OS

8

J'ai téléchargé et installé apache, php, phpmyadmin, mysql via macports. Tout fonctionnait bien avant de passer à macOS Sierra.

Après la mise à niveau chaque fois que j'essaie d'accéder à localhost, le message d'erreur suivant s'affiche: "Ce site est inaccessible, localhost a refusé de se connecter."

Cela se produit bien que mes paramètres dans le apache http.conf le fichier reste le même.

Je fournis également le contenu du fichier hosts

127.0.0.1       localhost
255.255.255.255 broadcasthost
::1             localhost

Aucun conseil?

vasilisdmr
la source
Avez-vous vérifié que tous ces services fonctionnent effectivement?
samh
si j'exécute la commande "sudo port load apache2", je reçois la réponse suivante du terminal "/opt/local/etc/LaunchDaemons/org.macports.apache2/org.macports.apache2.plist: service déjà chargé", donc je Je suis à peu près sûr que Apache est en cours d'exécution.
vasilisdmr
Ajoutez le contenu de votre fichier / etc / hosts. Est-ce que 127.0.0.1 fonctionne? Peut-être lié: apple.stackexchange.com/questions/252466/…
klanomath
Avez-vous lancé un test de configuration pour vous assurer que tout va bien? J'ai eu un problème similaire avec l'installation courante d'Apache, quelque chose dans la mise à jour a cassé l'un des paquets dépendants.
dr.nixon
Vient de faire le test de configuration et les résultats sont les suivants: "httpd: apr_sockaddr_info_get () a échoué pour nom d'utilisateur-MacBook-Pro.local" "httpd: Impossible de déterminer de manière fiable le nom de domaine complet du serveur, à l'aide de 127.0.0.1. Définissez le ' ServerName 'directive globale pour supprimer ce message ". J'ai donc suivi ce tutoriel et " mdshaonimran.wordpress.com/2011/10/17/… "et l'erreur est partie, mais je reçois toujours le message de refus lorsque j'essaie de visiter localhost.
vasilisdmr

Réponses:

3

J'ai résolu ce problème en commentant cette ligne de mon httpd.conf:

LoadModule unique_id_module modules/mod_unique_id.so

Je ne suis pas très familier avec mod_unique_id , mais il ne semble pas essentiel d’avoir sur mon serveur de développement local (votre situation pourrait être différente).

unique_id_module

Ce module fournit un jeton magique pour chaque demande qui est garanti unique parmi toutes les demandes dans des conditions très spécifiques. L'identificateur unique est même unique sur plusieurs machines dans un cluster de machines correctement configuré. La variable d'environnement UNIQUE_ID est définie sur l'identificateur de chaque demande. Les identificateurs uniques sont utiles pour diverses raisons qui dépassent le cadre de ce document.

slackernrrd
la source
9

Après la mise à jour vers macOS Sierra, Apache httpd déplace l’ancien httpd.conf à httpd.conf.pre-update et placez le nouveau. Afin de travailler avec localhost, veuillez suivre la procédure ci-dessous:

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

Puis testez:

curl -I -L localhost
Vivek Sathisan
la source
3
sudo apachectl configtest m'a donné toutes les erreurs! Sauveteur de vie, merci.
Joshua Kissoon
1
Merci beaucoup pour la réponse! Au fait, comment avez-vous trouvé cette solution? Je n'ai pas eu d'erreur de configuration (j'étais supposé en avoir une?) Et honnêtement, je ne saurais pas par où commencer à chercher une réponse moi-même.
Rahul Govind
3

J'ai eu le même problème. Iran sudo apachectl configtest et j'ai eu le message:

AH00526: Erreur de syntaxe sur la ligne 6 de   /private/etc/apache2/other/default-ssl.conf:

Commande non valide   'SSLEngine', peut-être mal orthographié ou défini par un module non inclus dans   la configuration du serveur

Je viens de renommer le fichier de configuration par défaut ssl afin qu'il ne soit plus chargé. Un redémarrage apache plus tard, tout est revenu.

Matthias Lill
la source
1

J'ai eu le même problème et j'ai résolu commenter mod_proxy_hckeck dans httpd.conf

LoadModule proxy_hcheck_module libexec / apache2 / mod_proxy_hcheck.so

ÉDITÉ: J'ai trouvé sur apache.org que ce module nécessite mod_watchdog, mais ce module est commenté, donc commentez mod_proxy_hcheck ou supprimez la mise en commentaire de mod_watchdog LoadModule watchdog_module libexec / apache2 / mod_watchdog.so

esperons que ça marche!

Gustavo van Tol
la source
Commenter mod_proxy_hcheck m'a aussi résolu le problème. Avant cela, Apache ne pouvait pas se connecter silencieusement à son port.
Otto G
1

J'avais le même problème. Heureusement, j'ai pu résoudre le problème par accident. Après une erreur de chargement de Suitcase Fusion, j'ai compris que le problème n'était pas causé par Apache. Le problème est principal / etc / file.

Remplacer le fichier hôtes

Vous pouvez télécharger un fichier d’hôtes Mac OS par défaut à partir de http://cs.us.extensis.com/HostsFile/hosts.zip .

Décompressez le fichier hosts; il ne devrait pas y avoir d'extension de fichier Dans le Finder, accédez à Aller & gt; Aller au dossier Pour “Allez le dossier” entrez “/ etc” et appuyez sur Entrée Faites glisser le fichier hosts dans le dossier etc; entrez un nom d'utilisateur et un mot de passe d'administrateur Mac OS lorsque demandé Une fois que vous avez placé le fichier hosts dans le dossier etc:

Ouvrez l'application Terminal Entrez la commande suivante et appuyez sur Entrée: sudo chmod 644 / etc / hosts Entrez votre mot de passe Mac OS et appuyez sur Entrée. Selon la version de Mac OS que vous utilisez, vous pouvez voir des puces, des icônes de clé ou rien pendant que vous tapez votre mot de passe Mac OS dans la fenêtre du terminal. C'est normal.

Effacer le cache DNS de votre Mac OS

Dans la fenêtre Terminal, entrez la commande suivante et appuyez sur Entrée: sudo killall -HUP mDNSResponder Redémarrez votre Mac Cause

Suitcase Fusion utilise le fichier hosts pour rechercher le type de base et se connecter à l'aide de l'adresse de bouclage (127.0.0.1 ou localhost). Si le fichier hosts n'est pas présent ou si l'entrée pour 127.0.0.1 pointe vers un nom autre que localhost, vous verrez l'un des messages d'erreur affichés ci-dessus.

Si Suitcase Fusion ne parvient pas à résoudre localhost en 127.0.0.1, vous obtiendrez le premier message d'erreur. Si le type de base ne peut pas résoudre localhost à 127.0.0.1, vous obtiendrez le deuxième message d'erreur.

Si le fichier hosts a été modifié, il peut être supprimé lors de la mise à niveau vers une nouvelle version de Mac OS. Les applications tierces ou les utilitaires réseau peuvent également modifier de manière incorrecte l’entrée localhost. Pour plus d'informations, voir Comment modifier le fichier Hosts sous Mac OS X avec Terminal.

Chris
la source