web-dev-qa-db-fra.com

Mac OS Big Sur - Homebrew Apache - 48) Adresse déjà utilisée: AH00072: Make_Sock: Impossible de ne pas se lier à l'adresse 0.0.0.0:8080

J'ai un problème avec Apache sur Mac Os Big Sur. Après la mise à jour du système d'exploitation, l'Apache (en utilisant Brew) ne fonctionne plus. J'ai donc décidé de désinstaller la formule httpd. Ensuite, Testé est la version préinstallée d'Apache Works et elle fait.

  1. J'ai donc arrêté l'apache préinstallé Sudo apachectl stop
  2. Launcher non chargé Sudo launchctl unload -w /System/Library/LaunchDaemons/org.Apache.httpd.plist 2>/dev/null
  3. Mise à jour de l'homebrew
    • brew update
    • brew doctor
    • brew upgrade
  4. Installé à nouveau le httpd brew install httpd (installé avec succès)
  5. A commencé le httpd Sudo brew services start httpd

Cependant, vérifier le statut Sudo brew services list Je peux voir que le service httpd a statut error. Quand j'essaie de démarrer Apache en utilisant Sudo apachectl start Je reçois l'erreur:

(48)Address already in use: AH00072: make_sock: could not bind to address 0.0.0.0:8080
no listening sockets available, shutting down
AH00015: Unable to open logs

J'ai vérifié s'il y a peut-être quelque chose d'autre en cours d'exécution sur le port 8080 lsof -i TCP:8080 mais ce n'est pas.

J'ai vérifié quelle Apache est utilisée (which apachectl) Et cela semble être le bon (/usr/local/bin/apachectl)

Peu importe le port que j'essaye d'utiliser, il y a toujours une erreur que l'adresse est déjà utilisée.

Quelqu'un a-t-il une idée de la manière de résoudre ce problème?

9
Jacek Koziol

J'ai eu le même problème, mais nécessaire pour exécuter Apache sur le port 80. D'abord, je l'ai eu du 8080 avec la solution ci-dessus par @Francstappers avec:

Listen 127.0.0.1:8080
ServerName localhost:8080

Ensuite, j'ai essayé de changer le port sur 80 dans les directives d'écoute et de nom de serveur. Le redémarrage m'a laissé avec ces erreurs:

(13)Permission denied: AH00072: make_sock: could not bind to address 127.0.0.1:80
no listening sockets available, shutting down
AH00015: Unable to open logs

Changer finalement l'écoute et le nom de serveur comme suit la corrigée:

Listen 0.0.0.0:80
ServerName localhost

La solution est documentée dans le Dépannage START SUDO HTTPD Services Démarrer Section de https://getgrav.org/blog/macos-bigsur -Apache-multi-php-versions

2
lbrucel

J'ai également été confronté à ce problème après que mon Mac ait été redémarré (après une semaine d'utilisation déjà de Big Sur). Je devais complètement désinstaller le httpd de Brew, tuez tous les processus à l'aide du port 80, réinstallez le httpd, modifiant le httpd.conf Comme Frank mentionné, et seulement je pourrais alors le faire fonctionner (sans la nécessité de Sudo). :

Donc, en bref, changez d'abord cette ligne dans httpd.conf à:

Listen localhost:80

Et puis voici la liste de commandement que j'ai couru:

brew uninstall httpd
kill $(lsof -ti:80)
brew install httpd

Si le service ne fonctionne pas. Tu peux faire: brew services start http

Ou alors: /usr/local/opt/httpd/bin/httpd -k start

Veuillez noter que j'ai déjà eu un système de travail avant cela. Pour les directives d'installation complètes, suivez le didacticiel étonnant sur Getgrav . Ils méritent beaucoup de crédit pour un tutoriel aussi complet et leur soutien dans les commentaires là-bas!

P.S: ICI C'est pourquoi vous ne devriez pas utiliser Sudo pour démarrer httpd.

0
hatef