¿Por qué Apache se ejecuta en el puerto 8080 en lugar del puerto 80?

¿Por qué Apache se ejecuta en el puerto 8080 en lugar del puerto 80?

Estoy confundido por qué Apache no responde en el puerto 80...

$ wget http://localhost:80  
--2014-05-06 15:32:44--  http://localhost/
Resolving localhost (localhost)... 127.0.0.1
Connecting to localhost (localhost)|127.0.0.1|:80... failed: Connection refused.

... pero en cambio en la publicación 8080 ...

$ wget http://localhost:8080
--2014-05-06 15:32:38--  http://localhost:8080/
Resolving localhost (localhost)... 127.0.0.1
Connecting to localhost (localhost)|127.0.0.1|:8080... connected.
HTTP request sent, awaiting response... 200 OK
Length: 177 [text/html]
Saving to: ‘index.html’

100%[=================================================>] 177 --.-K/s   in 0s

2014-05-06 15:32:38 (16,4 MB/s) - ‘index.html’ saved [177/177]

No se ve demasiado en la salida deapache2ctl:

$ apache2ctl -t -D DUMP_VHOSTS
VirtualHost configuration:
*:80 is a NameVirtualHost
   default server localhost (/etc/apache2/sites-enabled/000-default.conf:1)
   port 80 namevhost localhost (/etc/apache2/sites-enabled/000-default.conf:1)
   port 80 namevhost localhost (/etc/apache2/sites-enabled/000-default.conf:1)

Sin embargo,netstatconfirma el puerto:

$ sudo netstat -anp | grep :8080
tcp6       0      0 :::8080        :::*       LISTEN      5353/apache2

Comopreguntado por joelaquí está el ports.conf:

$ sudo cat /etc/apache2/ports.conf
# If you just change the port or add more ports here, you will likely also
# have to change the VirtualHost statement in
# /etc/apache2/sites-enabled/000-default

Listen 8080

<IfModule ssl_module>
    Listen 443
</IfModule>

<IfModule mod_gnutls.c>
    Listen 443
</IfModule>

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
# NameVirtualHost *:8800
Listen 8800

Respuesta1

¿Por qué Apache se ejecuta en el puerto 8080 en lugar del puerto 80?

La razón habitual por la que Apache se configura a menudo para escuchar en ese puerto es que es necesario ejecutar un proceso en la cuenta raíz o que se le otorguen privilegios específicos para poder escuchar en puertos TCP inferiores 1024y eso incluye, por supuesto, el puerto 80.

El uso de un número de puerto más alto y sin privilegios permite ejecutar Apache con una cuenta normal sin ninguna configuración específica.

8080es un reemplazo fácil de recordar para 80.

Respuesta2

¿Cuál es el valor de la Listendirectiva en el archivo de configuración /etc/apache2/ports.conf?

El tuyo dice 8080 y 8800, no 80, por eso obtuviste esos resultados.

información relacionada