Servidor web Apache, instalación en Ubuntu 20.04

About servidor web Apache en Ubuntu 20.04

En el siguiente artículo vamos a ver cómo podemos instalar un servidor web Apache en Ubuntu 20.04. El servidor HTTP Apache es un servidor web que ofrece muchas y potentes funciones. Entre ellas se incluyen módulos que cargan de forma dinámica, soporte de medios robusto y una amplia integración con otro software popular.

Antes de comenzar la instalación, debemos disponer de un usuario regular con privilegios de sudo configurado en el equipo. Además, debemos habilitar un firewall para bloquear puertos no esenciales. Cuando dispongamos de todo esto, ya podemos iniciar sesión como este usuario no root para comenzar.

Instalar Apache

Apache está disponible en los repositorios de software predeterminados de Ubuntu. Por este motivo vamos a empezar actualizando el índice de paquetes local para disponer de los últimos cambios:

sudo apt update

Ahora ya podemos instalar el paquete apache2:

Instalar el paquete Apache2

sudo apt install apache2

Finalizada la instalación podremos comprobar que versión de Apache instalamos escribiendo en la misma terminal:

versión del servidor web Apache instalada en Ubuntu 20.04

sudo apache2ctl -v

Ajustes del cortafuegos

Antes de probar Apache, es necesario modificar la configuración del firewall para permitir el acceso externo a los puertos web predeterminados. Esto lo haremos suponiendo que tengamos configurado un firewall como UFW configurado para restringir el acceso al servidor.

Durante la instalación, Apache se registra con UFW y proporciona algunos perfiles de aplicación que se pueden usar para habilitar o deshabilitar el acceso a Apache a través del firewall.

Vamos a poder enumerar estos perfiles escribiendo:

ufw app list

sudo ufw app list

Como indica la salida, hay tres perfiles disponibles para Apache:

  • Apache → Este perfil solo abre el puerto 80 (tráfico web normal sin cifrar)
  • Apache Full → Abre tanto el puerto 80 (tráfico web normal sin cifrar) como el puerto 443 (tráfico cifrado TLS / SSL)
  • Apache Secure → Este perfil solo abre el puerto 443 (tráfico cifrado TLS / SSL)

Para este ejemplo, como todavía no hemos configurado SSL, solo vamos a permitir el tráfico en el puerto 80:

ufw allow apache

sudo ufw allow 'Apache'

Podremos verificar el cambio escribiendo:

ufw status

sudo ufw status

Comprobar el servidor web

Al final del proceso de instalación, Ubuntu 20.04 inicia Apache, por lo que el servidor web ya debería estar en funcionamiento. Esto lo podremos verificar escribiendo:

Status del servidor web Apache

sudo systemctl status apache2

El anterior comando debería indicar que el servicio se ha iniciado con éxito. Sin embargo, la mejor manera de probar esto es solicitar una página de Apache. Podremos acceder a ella a través de la dirección IP para confirmar que el software se ejecuta correctamente. Si no conoces la dirección IP, se puede obtener escribiendo en la terminal (Ctrl+Alt+T):

comando hostname -I

hostname -I

Este comando nos mostrará algunas direcciones locales separadas por espacios. Podemos probar cada una en el navegador web para determinar si funcionan. Estas nos deben permitir ver la página web predeterminada de Ubuntu 20.04 Apache:

Servidor web Apache funcionando en local

Esta página también incluye información básica sobre archivos Apache importantes y ubicaciones de directorios.

Gestionar Apache

Ahora que ya tenemos el servidor web en funcionamiento, veamos algunos comandos básicos de administración con systemctl.

Para detener el servidor web:

sudo systemctl stop apache2

Iniciar el servidor web cuando está detenido:

sudo systemctl start apache2

Para detener e iniciar el servicio:

sudo systemctl restart apache2

Si simplemente estamos haciendo cambios en la configuración, Apache se puede recargar sin perder las conexiones escribiendo:

sudo systemctl reload apache2

De forma predeterminada, Apache está configurado para iniciarse automáticamente con el equipo. Esto lo podemos desactivar escribiendo:

sudo systemctl disable apache2

Para volver a habilitar que el servicio  se inicie en el arranque:

sudo systemctl enable apache2

Archivos importantes y directorios de Apache

Contenido

  • /var/www/html → Incluye el contenido web. Esto se puede cambiar en los archivos de configuración de Apache.

Configuración del servidor

  • /etc/apache2 → Todos los archivos de configuración de Apache residen aquí.
  • /etc/apache2/apache2.conf → Se trata del archivo de configuración principal de Apache.
  • /etc/apache2/ports.conf → Este archivo especifica los puertos en los que Apache escuchará.
  • /etc/apache2/sites-available/ → El directorio donde se pueden almacenar hosts virtuales por sitio. Apache no utilizará los archivos de configuración que se encuentran en este directorio a menos que estén vinculados al directorio habilitado para sitios. Por lo general, toda la configuración de bloqueo del servidor se realiza en este directorio.
  • /etc/apache2/sites-enabled/ → El directorio donde se almacenan los hosts virtuales habilitados por sitio. Por lo general, estos se crean al vincular a los archivos de configuración que se encuentran en el directorio de sitios disponibles con a2ensite. Apache lee los archivos de configuración y los enlaces que se encuentran en este directorio cuando se inicia o vuelve a cargar para compilar una configuración completa.
  • /etc/apache2/conf-available/, /etc/apache2/conf-enabled/ → Estos directorios tienen la misma relación que los directorios sitios disponibles y sitios habilitados, pero se utilizan para almacenar fragmentos de configuración que no pertenecen a un anfitrión virtual.
  • /etc/apache2/mods-available/, /etc/apache2/mods-enabled/ → Estos directorios contienen los módulos disponibles y habilitados, respectivamente.

Registros del servidor

  • /var/log/apache2/access.logCada solicitud al servidor web se registra en este archivo de registro a menos que se indique lo contrario.
  • /var/log/apache2/error.log → De forma predeterminada, todos los errores se registran en este archivo.

Se puede encontrar más información acerca de este servidor en la página web del proyecto.


2 comentarios, deja el tuyo

Deja tu comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.

  1.   Pablo dijo

    Excelente Tutorial! Gracias por compartir!

  2.   obito56 dijo

    Hola, soy nuevo en esto. Hasta ahora todo salio bien. Seguiré practicando para aprender mas.
    Saludos. Abrazo