El puerto 80 es uno de los puertos estándar más utilizados. Ya que sirve para publicar cualquier servicio web estándar que no sea por protocolo seguro HTTPS. Es decir, el puerto 80 es el puerto por defecto de los sistemas para publicar un servicio web por el protocolo no seguro HTTP.
Cuando utilizamos por ejemplo Xampp en Windows, en este caso este tutorial es sobre Windows 10, puede darse el caso de que no podamos levantar el Apache por el puerto 80 porque esté ocupado. Veamos qué errores podemos obtener y cómo liberar ese puerto 80 de nuestro sistema para que podamos utilizar Xampp sin problemas.
Otros tutoriales de Xampp que te pueden interesar:
Liberar puerto 80 Windows 7
Actualizar phpMyAdmin de Xampp
Actualizar PHP en Xampp
Instalar Ruby on Rails en Xampp
Tabla de contenidos
¿Qué es el puerto 80?
El puerto 80 es el puerto por defecto de cualquier petición web HTTP. Cuando entramos en una web con la dirección http:// esa web accederá al servidor por el puerto 80. El puerto 80 se asocia al protocolo de acceso HTTP.
Al ser un puerto por defecto asociado al protocolo HTTP no es necesario indicarlo en las urls cuando queremos acceder a una web. Ejemplo:
http://www.miweb.com:80
En el ejemplo anterior he indicado el puerto 80, funciona, pero no sería necesario ya que estamos indicando en la url HTTP://. Entonces, podríamos acceder directamente así sin problema:
http://www.miweb.com
Hay que tener en cuenta que el puerto 80 es puerto no seguro. Si vas a montar una web lo suyo es que la publiques por el puerto 443 a través del protocolo HTTPS. Así, de esa manera, la comunicación entre tu navegador y el servidor irá cifrada y será más segura la navegación para quien quiera conseguir tus contraseñas o datos sensibles que envíes al servidor.
Xampp Port 80 in use
En el caso de estemos utilizando un servidor local y tengamos una herramienta como Xampp, si abrimos nuestro panel de control de Xampp puede darse la situación de que obtengamos el mensaje de error de que el puerto 80 está en uso y concretamente por el proceso con PID 4.
Este mensaje es muy explícito. Nos dice claramente que el puerto 80 está en uso y que está bloqueado por el proceso con PID número 4. Ahora solo tenemos que averiguar qué proceso es el que está ocupando el puerto 80 para detenerlo y así poder arrancar Xampp y hacer uso del puerto 80 para nuestras webs.
¿Qué aplicación está usando el puerto 80 en Windows 10?
Para saber qué aplicación está usando el puerto 80 tenemos dos opciones:
- Pulsar sobre el botón Netstat del Panel de Control de Xampp
- O lanzar el siguiente comando por consola de MS-DOS:
netstat -ano
Las dos opciones nos muestran la misma información. Un listado con todos los procesos del sistema y en qué puerto están levantados. Solo tendremos que buscar los que usan el puerto 80 para identificar el proceso que lo usa y así poder detenerlo.
Puede darse el caso de que el proceso que esté usando el puerto 80 sea el system.exe. En ese caso es más complicado, ya que no podemos detenerlo tal cual. Tenemos que irnos a la ventana de servicios de windows y localizar el Servicio que haga uso del puerto 80 y detenerlo.
Para abrir la ventana de Servicios de Windows 10, desde Xampp, pulsando el botón Services.
Otra opción, es desde Este equipo (del explorador de archivos), botón derecho del ratón, y pulsamos en Administrar. Ahí podemos ver la lista de servicios del sistema (siguiente imagen).
Solución 1 para liberar puerto 80 en Windows 10
Esta es la solución que a mí me funcionó. En mi caso el servicio que me estaba ocupando el puerto 80 era el servicio BranchCache. Supongo que este servicio es el que utiliza SVN Tortoise para poder consultar repositorios SVN y descargar el código fuente de las aplicaciones de nuestro repositorio. Como yo ya sabía que tenía instalado SVN Tortoise, sabía que este proceso es el típico que genera este problema.
Solo tuve que ponerlo en modo Manual y detenerlo y volver a intentar arrancar Apache desde Xampp Control Panel, y funcionó a la primera. Problema resuelto 😃.
Solución 2 para liberar puerto 80 en Windows 10
Otra solución es la que se comenta en multitud de foros, que es la de parar o detener el Servicio de Publicación World Wide Web. Este servicio en teoría solo os aparecerá si tenéis instalado el IIS en vuestro sistema y estáis publicando alguna web por este servidor web. Así, que si no tenéis instalado SVN Tortoise es muy posible que os aparezca este otro. Lo ponéis en modo manual y lo detenéis y ya debería dejaros levantar el Apache.
Aplicaciones que ocupan el puerto 80
Aquí el listado de aplicaciones que hasta ahora sé que pueden ocupar el puerto 80 y hacer que nuestro Apache no se levante.
- BranchCache: Este servicio es del Tortoise, el cliente de Windows para acceder repositorios software de subversion SVN.
- SQL Reporting Services o SQL Server Reporting: Este puedes tenerlo si usas SQL Server.
- VMware Workstation Server: Si tienes instalado VMware Workstation de las últimas versiones, puede que tengas este servicio levantado y sea la causa de que te esté ocupando el puerto 80.
Iré ampliando el listado según me vaya encontrando con alguna más 😉.
Hola, en mi caso tengo esto en mi pantalla de los servicicos de window
0.0.0.0 80 4 System
que puedo hacer en este caso?
gracias de antemano
Eso parece algo del sistema que tiene ocupado el puerto 80. Suele ser el IIS. Mira a ver si lo tienes instalado, y quítalo o cambiale el puerto. Un saludo.
el Servicio MultiPoint tambien usa el puerto 80.... en caso q no encuentren Servicio de publicación World Wide Web