Apache Server (xampp) no se ejecuta en Windows 10 (puerto 80)

84

He instalado el programa Insider de Windows 10. Todo funciona, excepto Apache. Cuando intento iniciarlo, dice que el puerto 80 está bloqueado. ¿Hay alguna forma de desbloquearlo o decirle a Apache que use otro puerto en su lugar?

Estaba usando Windows 7 antes. Tuve problemas con el puerto 80 con Skype, pero lo he desactivado.

Aloso
fuente
El PID es 4. El proceso es el sistema (núcleo y sistema de NT)
Aloso
Tenga cuidado con la marca de su computadora: descubrí que mi computadora tiene un servicio personalizado que estaba bloqueando el puerto. Tuve que deshabilitar todos los servicios uno por uno para finalmente darme cuenta ...
Jean-François Savard
Cambiar el PUERTO de IIS: stackoverflow.com/questions/19312136/…
Suresh Kamrushi

Respuestas:

208

Tuve el mismo problema en Windows 10, IIS / 10.0 estaba usando el puerto 80

Para solucionar eso:

  • busque el servicio "W3SVC"
  • desactivarlo o configurarlo en "manual"

El nombre francés es: " Servicio de publicación World Wide Web "

El nombre en inglés es: " Servicio de publicación World Wide Web "

el nombre alemán es: "WWW-Publishingdienst" - gracias @fiffy

El nombre polaco es: "Usługa publikowania w sieci WWW" - gracias @KrzysDan

El nombre ruso es "Служба веб-публикаций" - gracias @Kreozot

El nombre italiano es "Servizio Pubblicazione sul Web" - gracias @ Claudio-Venturini

El nombre en español es "Servicio de publicación World Wide Web" - gracias @ Daniel-Santarriaga

El nombre portugués (Brasil) es "Serviço de publicação da World Wide Web" - gracias @ thiago-born


Alternativas:


Edición 07 de octubre de 2015: para obtener más detalles, consulte la respuesta de Matthew Stumphy Apache Server (xampp) no se ejecuta en Windows 10 (puerto 80)

paaacman
fuente
2
Impresionante ... Es un problema con Windows 10 por defecto
user3658423
3
El servicio se puede desactivar al inicio abriendo Administrative Toolsy seleccionando Services. Aparecerá una ventana titulada Servicios. Luego busque World Wide Web Publishing Services, haga clic derecho y seleccione Properties. Cambiar Startup Typea Manualy haga clicApply
zgr024
3
Otros pueden encontrar el nombre de visualización llamandosc getdisplayname W3SVC
Honza Kuchař
¿Existe alguna razón para que W3SVC se ejecute en una computadora normal que no actúa como un servidor web?
DaedalusAlpha
¿No sería mejor eliminar el servicio de publicación World Wide Web de la lista de componentes de Windows instalados? Entonces no hay necesidad de deshabilitar el servicio ya que ya no estaría instalado.
Arnoud Sietsema
31

Esta respuesta está pensada como un apéndice a la respuesta mejor calificada en este hilo por paaacman. Solo quería agregar algunos detalles útiles para usuarios como yo que tampoco conocen Windows 10.

Windows 10 ejecuta IIS (Internet Information Services, el software de servidor web de Microsoft) automáticamente durante el inicio en el puerto 80. Para usar el servidor Apache en ese puerto, IIS debe estar detenido.

La respuesta de paaacman se refiere al servidor IIS como "W3SVC", o el "Servicio de publicación World Wide Web". Supongo que es porque Windows 10 ejecuta IIS como un servicio. Para deshabilitarlo o modificar la forma en que se ejecuta el servicio, necesita saber dónde encontrar "Servicios" en su sistema.

Encontré la forma más fácil de hacer clic en el botón de búsqueda junto al botón del menú de inicio en la barra de tareas de Windows 10 y escribir "Herramientas administrativas" . Puede presionar regresar o hacer clic en el enlace "Herramientas administrativas" que Windows encuentra para usted.

Se abrirá una ventana del panel de control con una lista de herramientas. El que desea es " Servicios ". Haz doble clic en él.

Se abrirá otra ventana llamada "Servicios". Busque el denominado " Servicio de publicación en la World Wide Web ". Algunos otros usuarios de este hilo han enumerado cómo se llama en otros idiomas, si su lista no está en inglés.

Si solo desea apagar el servidor IIS para esta sesión de Windows, pero desea que se ejecute automáticamente de nuevo la próxima vez que inicie Windows, haga clic con el botón derecho en "Servicio de publicación World Wide Web" y seleccione " Detener ". El servidor se detendrá y el puerto 80 se liberará para Apache (o para cualquier otra cosa que desee utilizar).

Si desea evitar que el servidor IIS se ejecute automáticamente cuando inicie Windows en el futuro, haga clic con el botón derecho en "Servicio de publicación World Wide Web" y seleccione " Propiedades ". En la ventana que aparece, busque el menú desplegable "Tipo de inicio" y configúrelo como "Manual". Haga clic en "Aplicar" o "Aceptar" para guardar los cambios. Deberías estar listo.

Matthew Stumphy
fuente
15

Con Windows 10, IIS se ejecuta en el puerto 80 de forma predeterminada, que se puede cambiar:

Ejecute el appwiz.cpl uso Turn Windows features on or offe instale la consola del administrador de IIS.

Active o desactive las funciones de Windows -> Servicios de información de Internet -> Herramientas de administración web -> Consola de administración de IIS

Ejecute InetMgr.exey vaya a "Conexiones -> Sitios" y abra con el botón derecho del ratón, haga clic en el menú contextual en la entrada predeterminada "Sitio web predeterminado". En el menú contextual, seleccione "Enlaces" para abrir la dirección del servidor y la configuración del puerto.

"Conexiones -> Sitios" -> "Enlaces de sitios web predeterminados"

Configuración de puerto y dirección del servidor

Cambio de puerto predeterminado a 8080

https://technet.microsoft.com/library/hh831681.aspx#Site_Bingings

Tobias Hochgürtel
fuente
14

Tuve exactamente el mismo problema y lo resolví ejecutando el siguiente comando desde la línea de comando como administrador:

1) primero detenga el servicio con lo siguiente

net stop http / y

2) luego deshabilite el inicio (opcional)

sc config http start = deshabilitado

Jan Naj
fuente
Esta es la forma más fácil de liberar el puerto 80. Lo estoy usando para una máquina vagabunda.
Mārtiņš Briedis
9

Escriba la línea de comando

netstat -aon | findstr :80

Verá el PID del proceso que usa el puerto 80. Luego intente configurar esta aplicación para usar otro puerto, o simplemente elimínela

ACTUALIZACIÓN: Escribiré mi comentario aquí para que sea más claro: según este enlace, en Windows 10, es el servicio MsDepSvc el que ocupa el puerto 80. Es para IIS o Web Matrix 2. Si no va a usar IIS o Web Matrix 2 para cualquier desarrollo web, puede intentar cerrar el servicio

Y para la segunda parte de su pregunta, puede decirle a Apache que use otro puerto editando [carpeta Apache] /conf/httpd.conf. Tiene cuerda "Listen 80". Cambie 80 al puerto libre que desee y vuelva a cargar Apache

Sergey Maksimenko
fuente
Es el sistema. No puedo matar esto, ¿verdad?
Aloso
Después de buscar rápidamente en Google, encuentro este enlace nextofwindows.com/… . "..., tiene este servicio MsDepSvc ejecutándose en segundo plano que ocupa el puerto 80. Una solución rápida sería detener el servicio, cuando no planea usar IIS o Web Matrix 2 para ningún desarrollo web. E iniciar los servicios cuando sea necesario, espero que resuelva algunos de los misterios que podría tener cuando cambie entre el uso de Web Matrix y el desarrollo tradicional de apache ".
Sergey Maksimenko
Lo siento, pero no tengo este proceso.
Aloso
8

Es posible que también deba terminar SQL Server Reporting Services.

bjorkblom
fuente
5

En mi caso, necesito tanto XAMPP para el desarrollo de Apache como IIS Express para el desarrollo de .Net 2013; entonces hago lo siguiente:

  1. En el símbolo del sistema escrito services.msc, esto carga "Servicios de Windows" donde ubiqué "Servicio de publicación en la World Wide Web" y lo detiene. Servicio de publicación World Wide Web STOP

  2. En el panel de control de XAMPP, hago clic en "Configuración", luego elijo "Apache httpd.conf". Busque "80" y luego cámbielo a "8080" tanto en "Listen 80" como en "ServerName localhost: 80". Guarde el archivo de "Guardar como" y elija "Todos los archivos" para no guardarlo como texto de "Guardar como tipo" y la "Codificación" debe ser "UTF-8". Apache httpd.conf

  3. Salga del Panel de control de XAMPP, luego inícielo de nuevo y desde "Acción" inicie Apache & MySQL. Ahora verá el puerto cambiado. Como ya sabe, debe acceder a su servidor Apache utilizando "localhost: 8080" en lugar de "localhost". También tiene tanto Apache como IIS Express ejecutándose en la misma PC con Windows 10.

Leí una publicación en la que el escritor sugirió usar el puerto "9080" pero no funcionó para mí.

alhaythum
fuente
3

El problema ocurre siempre que un proceso usa el puerto 80.

Puede ejecutar Netstat, que está disponible en el Panel de control de XAMPP, y verificar qué proceso usa el puerto 80 en su sistema.

Para mí no fue IIS , sino Skype .

Apague ese proceso / aplicación y luego inicie los servicios de Apache.

armsdev
fuente
Esto parece un duplicado de varias de las respuestas anteriores, tal vez sea mejor solo como un comentario de que Skype fue el proceso problemático para usted.
blm
¡"Fue skype" me suena como una respuesta! Puede que no haya sido la respuesta que lo resolvió para OP, pero lo hizo para mí, y estoy agradecido de que fue una respuesta y no un comentario, o puede que no lo haya visto.
Arichards
1

Sé que tal vez este problema se resolvió, pero tuve el mismo problema con una solución diferente. Para eso, voy a explicar otra posible solución. En mi caso, el puerto 80 lo ocupaba Skype (pid: 25252) y no sabía qué programa era.

Para ver el pid del programa que está usando el puerto 80, puede usar el comando que otras personas dijeron antes:

netstat -aon | findstr 0.0:80

Para matar el proceso usando el pid (en el caso de que no conozcas el programa) debes abrir el CMD con permiso de administrador y usar el siguiente comando:

taskkill /pid 25252

Otras opciones con este comando están aquí .

CGG
fuente
Este no es el mismo problema porque puede deshabilitar el puerto 80 en la configuración de Skype. ¡No necesitas matar skype!
Aloso
Tienes razón. Vi ahora la opción. Cuando tuve el problema no lo vi.
CGG
1

Sé que esto PODRÍA no ser la causa de su problema, pero pasé algunas horas golpeándome la cabeza contra la pared para resolver este problema y esta es mi solución.

(ejecutando Windows 10 x32)

Así que instalé XAMPP en un directorio profundamente anidado y todos los archivos conf hacen referencia a la raíz \xampp\apache, mientras que mis archivos eransome_dir\another_dir\whatthehelliswrongwithme\finally\xampp\apache

así que mis opciones eran revisar y editar todas las \xampp\apachereferencias y apuntarlas al lugar correcto, O, la opción mucho más simple ... reinstalar XAMPP en la raíz, para que todas las referencias apunten al lugar correcto.

Un poco molesto, pero supongo que eso es lo que obtenemos cuando Mac y Windows intentan ser amigos.

Espero que ayude a algunos de ustedes.

Nathaniel Rogers
fuente
1

Creo que es sencillo cambiar el puerto de su servidor Apache

  1. Vaya a C: \ xampplite \ apache \ conf
  2. Abra archivos httpd.conf
  3. Buscar Listen 80
  4. Cambie 80 a cualquier otro como 9080
  5. Ahora reinicie XAMPP intente iniciar el servidor

NB Estoy usando la versión del servidor: 5.1.41 con Windows 10

reza.cse08
fuente
0

Cerrar "algún proceso del sistema" puede ser complicado ... debería editar la [carpeta Apache] /conf/httpd.conf como lo menciona @Sergey Maksimenko y si desea configurar el host virtual, use el nuevo puerto en [Apache carpeta] /conf/extra/httpd-vhosts.conf (utilicé 4900 en lugar de 80 y 4901 en lugar de 443 en [carpeta Apache] /conf/httpd-ssl.conf). Y recuerde usar el puerto cuando acceda a la página en localhost (o su virtualhost), por ejemplo: localhost: 4900 / index.html

Jarda
fuente
0

Este node.js fijo no se ejecuta en el puerto 80 en Windows 10 también, estaba recibiendo un listen eacceserror. Inicio> Servicios, busque "Servicio de publicación en la World Wide Web" y desactívelo, exactamente como lo describió paaacman.

sangrando
fuente
0

Tuve el mismo problema y ninguna de las soluciones anteriores funcionó para mí.

Apache usa los puertos 80 y 443 (para HTTPS) y ambos deben estar listos para usarse para que Apache se inicie correctamente. Es posible que solo el puerto 80 no sea suficiente.

En mi caso, descubrí que cuando ejecutaba VMWare Workstation tenía el puerto 443 utilizado por el uso compartido de VMware.

Debe deshabilitar el uso compartido en las Preferencias principales de VMware o cambiar el puerto en esta sección.

Después de eso, siempre que no tenga otro servidor conectado al puerto 80 (consulte las soluciones anteriores), entonces debería poder iniciar Apache o NGinx en XAMPP o cualquier otra aplicación de pila de Windows.

Espero que esto ayude a otros usuarios.

Marc Quattrini
fuente
0

Si bien muchos están adoptando el enfoque para detener / deshabilitar IIS, puede ser útil saber que simplemente puede modificar el puerto XAMPP, que se ha respondido aquí . Esta es la ruta que tuve que tomar ya que necesito que ambos funcionen.

MackAltman
fuente
0

Además de la razón bastante obvia (IIS), hay otra razón que es lo suficientemente común para este problema. Vale la pena citar esta pregunta y su respuesta aquí:

http://stackoverflow.com/questions/22994888/why-skype-using-http-or-https-ports-80-and-443 

Entonces, si tiene Skype instalado en la computadora, asegúrese de verificar esto también. La solución se cita aquí:

Para apagar y deshabilitar el uso y la escucha de Skype en los puertos 80 y 443, abra la ventana de Skype, luego haga clic en el menú Herramientas y seleccione Opciones. Haga clic en la pestaña Avanzado y vaya a la subpestaña Conexión. Desmarque o desmarque la casilla de verificación para usar el puerto 80 y 443 como alternativa para la opción de conexiones entrantes. Haga clic en el botón Guardar y luego reinicie Skype para que el cambio sea efectivo.

Motor de tierra
fuente
Todo el mundo dice que apague y deshabilite Skype, pero ¿qué impacto tiene hacer eso en Skype? ¿Necesitamos cambiar alguna configuración de configuración en Skype?
luisdev
@luisdev Simplemente siga los pasos descritos en la cita anterior. Le dice cómo cambiar la configuración de configuración en Skype.
Earth Engine
Bien, sé cómo cambiar la configuración de Skype, pero ¿qué impacto tiene el cambio de la configuración de Skype en la funcionalidad de Skype? ¿Afectará mi capacidad para realizar o recibir llamadas en Skype? Si Skype ya no escucha en los puertos 80 y 443, ¿la gente todavía podrá llamarme?
luisdev
1
@luisdev No tengo problemas para deshabilitar esos puertos en Skype. Parece que solo es útil cuando está detrás de algunos firewalls específicos. Entonces, si esto no funciona para usted, tendrá que volver a encenderlo. Desafortunadamente, Skype hizo esto de manera incorrecta, ya que está escuchando en TODAS las direcciones en lugar de solo en las direcciones EXTERIORES, lo que hace que sea imposible para usted escuchar solo en localhost.
Earth Engine
-1

Primero, abra regedit, ejecute como administrador, vea la imagen, abra HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentCurrentControlSet \ Services \ HTTP, abra Inicio, cambie el valor de 3 a 4, vea la imagen y luego reinicie su computadora

Viko
fuente