Saltar a contenido

P2.2 Puertos de escucha en Apache

En esta práctica, aprenderás a configurar los puertos de escucha en un servidor web Apache. Los puertos de escucha son esenciales para que el servidor pueda recibir y responder a las solicitudes de los clientes.

Partiremos de la configuración establecida en la práctica anterior de hosts virtuales.

Configuración de puertos en Apache

Apache utiliza un fichero de configuración principal llamado ports.conf para definir los puertos en los que escucha las solicitudes entrantes. Por defecto, Apache está configurado para escuchar en el puerto 80 para HTTP y en el puerto 443 para HTTPS.

Para modificar o añadir puertos de escucha, sigue estos pasos:

  1. Editar el fichero ports.conf: Abre el fichero de configuración con un editor de texto, por ejemplo:
    sudo nano /etc/apache2/ports.conf
    
  2. Modificar o añadir puertos: Puedes cambiar el puerto predeterminado o añadir nuevos puertos. Por ejemplo, para que Apache escuche en el puerto 8080 además del puerto 80, añade la siguiente línea:
    Listen 8080
    
  3. Guardar y cerrar: Guarda los cambios y cierra el editor.
    sudo systemctl reload apache2
    
  4. Comprobar la configuración: Asegúrate de que Apache está escuchando en los puertos configurados utilizando el siguiente comando:
    sudo netstat -tuln
    

Una vez configurados los puertos de escucha, puedes acceder a tu servidor web utilizando la dirección IP o el nombre de dominio seguido del puerto especificado. Por ejemplo, si has configurado Apache para escuchar en el puerto 8080, puedes acceder a tu sitio web mediante la URL http://tu_dominio_o_ip:8080.

Configuración de hosts virtuales con puertos personalizados

Si deseas que diferentes hosts virtuales escuchen en puertos específicos, debes configurar cada host virtual en su propio fichero de configuración dentro de la carpeta sites-available. Por ejemplo, para un host virtual que escuche en el puerto 8080, la configuración podría verse así:

<VirtualHost *:8080>
    ServerName miweb.local
    DocumentRoot /var/www/miweb
    ...
</VirtualHost>
Además, asegúrate de que el puerto 8080 esté definido en el fichero ports.conf como se describió anteriormente.

De igual manera, puedes configurar un host virtual para que escuche varios puertos si es necesario. Por ejemplo:

<VirtualHost *:80 *:8080>
    ServerName miweb.local
    DocumentRoot /var/www/miweb
    ...
</VirtualHost>

Nota

El * en la directiva <VirtualHost> indica que el host virtual escuchará en todas las interfaces de red disponibles para el puerto especificado.

Los pasos para realizar esta configuración son similares a los de la práctica anterior de hosts virtuales, pero con la adición de los puertos personalizados en las directivas <VirtualHost>.

Para configurar el host virtual sitio1.local de la práctica anterior para que escuche en el puerto 8080, sigue estos pasos:

  1. Editar el fichero de configuración del host virtual
    sudo nano /etc/apache2/sites-available/sitio1.conf
    
  2. Modificar la directiva <VirtualHost> para incluir el puerto deseado. apache <VirtualHost *:8080> ServerName sitio1.local DocumentRoot /var/www/sitio1 ... </VirtualHost>
  3. Guardar y cerrar el fichero.
  4. Reiniciar Apache para aplicar los cambios.
    sudo systemctl reload apache2
    
  5. Probar el acceso al host virtual utilizando el puerto especificado en la URL del navegador.

Para el host virtual sitio2.local, repite los mismos pasos, asegurándote de modificar la directiva <VirtualHost> en su fichero de configuración correspondiente. En este caso para que escuche solo en el puerto 80 y 8080:

<VirtualHost *:80 *:8080>
    ServerName sitio2.local
    DocumentRoot /var/www/sitio2
    ...
</VirtualHost>

Advertencia

Asegúrate que los hosts virtuales están activados utilizando a2ensite y que Apache ha sido recargado para aplicar los cambios.