48) Dirección ya en uso: AH00072: make_sock: no se pudo vincular a la dirección [::]:80

5 minutos de lectura

avatar de usuario de jjoselon
joselon

Recibo un error de apache cuando intento acceder a cualquier carpeta o archivo, regresa Http Not found o Forbidden
Estoy intentando reiniciar e iniciar apache

sudo apachectl restart

producción:

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

estoy tratando de detenerlo

sudo apachectl stop

producción

httpd (no pid file) not running

Corro sudo lsof -i:80

producción:

COMMAND   PID USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME

    httpd    8904 root    5u  IPv6 0x21884d81f1597d8f      0t0  TCP *:http (LISTEN)
    httpd    9012 _www    5u  IPv6 0x21884d81f1597d8f      0t0  TCP *:http (LISTEN)
    httpd   12726 _www    5u  IPv6 0x21884d81f1597d8f      0t0  TCP *:http (LISTEN)
    httpd   12731 _www    5u  IPv6 0x21884d81f1597d8f      0t0  TCP *:http (LISTEN)
    httpd   12732 _www    5u  IPv6 0x21884d81f1597d8f      0t0  TCP *:http (LISTEN)

¿Alguna idea para solucionar eso?

Información útil:

OS X El Capitan

  • Algo escuchando en el puerto 80, ¿has comprobado? ¿Quizás con netstat?

    – frz3993

    26 de junio de 2018 a las 16:43


  • SO es para preguntas de programación, no para preguntas sobre el uso o la configuración de Linux y sus aplicaciones. superusuario o Unix y Linux serían mejores lugares para preguntas como esta.

    – Barmar

    26 de junio de 2018 a las 16:44

  • Posible duplicado de Amazon EC2: problema de reinicio del servidor Apache

    – erhanasikoglu

    26 de junio de 2018 a las 18:25

Avatar de usuario de LuizEduardoMPF
LuizEduardoMPF

En mi Mac con Mojave (10.14.1) de repente, Apache ya no podía dar servicio a ipv4, luego me dio el ERROR 403. Intenté matar a todos los apache (sudo killall httpd)… verificando los PID en (sudo lsof | grep AMP | grep apache)… incluso no funcionó… solo ipv6 estaba disponible… todavía ERROR 403.

Lo que funciona para mí: deshabilite el servidor Apache incorporado de OSX.

sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist

Después:

sudo apachectl -k restart

Ser feliz 🙂

  • ¡Trabajado como un encanto! Eliminando apachectl de la carga automática – funcionó.

    – Andrew Shmig

    12 de febrero de 2019 a las 7:12

  • GRACIAS, realicé toda la configuración de Apache hasta que encontré este error al cambiar la versión de sphp. estoy en mohave 10.14.3

    – Lamelama

    29 de marzo de 2019 a las 21:14

  • Guau. Gracias. Estaba intentando tantas cosas y finalmente esto funciona 🙂

    – programador

    6 de diciembre de 2021 a las 3:18

Este me ayudó:

Edite el archivo httpd.conf.

/usr/local/etc/httpd/httpd.conf

y reemplazar

Listen 80

con

Listen 127.0.0.1:80

reiniciar apache

sudo apachectl -k restart

  • Traté de identificar qué está bloqueando el puerto 80 con los comandos mencionados en las otras respuestas, pero no encontré bloqueadores. Pero tu solución funcionó para mí. ¡Gracias!

    – Karsai Peter

    8 de enero de 2021 a las 8:31

  • Me encontré con esto para una configuración https local, actualizada de Listen 443 a Listen 127.0.0.1:443, similar a la nota de Evan a continuación. – gracias @Nuzil

    – smithml

    10 oct 2021 a las 15:54


Intentar

sudo netstat -ltnp | grep ':80'

Salida: tcp6 0 0 :::80 :::* ESCUCHA 1500/apache2

sudo kill 1500
sudo service apache2 restart

  • este funciona para mí, después de varias horas de dolor de cabeza finalmente funciona perfectamente bien, me siento tonto en este momento jaja. gracias por las soluciones

    – Díaz Farindra

    20 oct 2022 a las 6:39

Una de un par de cosas podría estar sucediendo:

  1. Tienes una versión diferente de apache ejecutándose. Puedes asegurarte de que estás usando el correcto ejecutando which apachectl. Como ejemplo, también tengo dos versiones de apache. /usr/sbin/apachectl y /usr/local/bin/apachectl
  2. no estas corriendo apachectl start como root, aunque parece que lo eres.
  3. Tu puedes correr sudo lsof -i:80 para ver qué está enlazando ese puerto actualmente

este error ocurre porque el servidor apache escucha por defecto en el puerto 80, por lo que otro servicio o programa está usando ese puerto y apache no puede iniciarse.

La solución es identificar qué programa o servicio está usando ese puerto y luego cerrarlo, deshabilitarlo o desinstalarlo.

para identificar puede ejecutar netstat

sudo netstat -ltnp | grep ':80'

o

sudo lsof -i:80

en mi caso he instalado nginx y apache al mismo tiempo y ambos usan el puerto 80.

Solución temporal: Detenga o elimine el servicio, programa, etc.

Solución permanente:

  1. Cambie el puerto del servidor apache en el archivo de configuración /etc/apache2/apache2.conf
  2. Desinstale el servicio o programa que usa el puerto 80.

en mi caso necesitaba ambos por lo que decidí solucionarlo temporalmente deshabilitando el servicio con:

systemctl stop MyServiceName.service

Si es un servicio, use el comando matar.

Avatar de usuario de Evan
evan

También tenía mi configuración configurada de esta manera antes, y me encontré con el mismo problema después de actualizar OSX esta última vez. Traté de encontrar CUALQUIER COSA que estuviera escuchando en el puerto 80 o 443 y no pude encontrar nada en ninguna parte. Me tomó un tiempo, pero finalmente encontré otro artículo que describía una solución que realmente funcionó. Tenga en cuenta que estoy usando una instalación homebrew y he descargado la instalación predeterminada de apache2 que viene con Mac OSX.

Esto es lo que tenía antes en mi httpd.conf:

Listen 80

y yo tenia algo similar en ssl.conf

Listen 443 https

Tuve que modificar mi archivo httpd.conf para usar un ServerName de localhost y Listen en 0.0.0.0:80, y lo mismo para ssl.conf pero 0.0.0.0:443 https

httpd.conf:

ServerName localhost
Listen 0.0.0.0:80

y ssl.conf

Listen 0.0.0.0:443 https

Una vez que intenté iniciarlo de nuevo, todo fue feliz. ¡Espero que ayude! Pondría un enlace al artículo, ¡pero tengo problemas para encontrarlo de nuevo!

Bueno, parece que httpd ya se está ejecutando. Para comprobar ejecutar

lsof-i TCP:80
COMANDO PID USUARIO TIPO FD TAMAÑO DEL DISPOSITIVO/NO NOMBRE DEL NODO
httpd 281 root 3u IPv6 19479 0t0 TCP *:80 (ESCUCHA) ….

Así que mata a httpd y haz lo que quieras

¿Ha sido útil esta solución?