Instalar Apache en Ubuntu 20.04

Hola, en este tutorial haremos la instalación del servicio Apache en un nuevo Servidor Cloud con Ubuntu 20 como Sistema Operativo.

Apache es uno de los servidores web multiplataforma y Open Source más populares. Esto se debe a que es soportado tanto en Sistemas Operativos Linux, Windows, Macintosh, etc.

Antes de empezar debes tener en cuenta los siguientes requisitos:

Pre Requisitos:

  • Usuario root o usuario regular con privilegios sudo.
  • Habilitar los puertos necesarios para el servicio apache.

PASO 1:

Actualizamos siempre el Sistema Operativo como paso inicial:

sudo apt update

PASO 2:

Copiamos el comando que iniciará la instalación de Apache:

sudo apt install apache2

PASO 3:

Ajustamos la configuración del Firewall, por defecto Ubuntu instala UFW que será usado en esta guía (En caso no haya sido instalado aún, puede realizarlo desde aquí). Usaremos el siguiente comando para verificar los perfiles por defecto para Apache en UFW:

sudo ufw app list

Como resultado obtendremos lo siguiente:

Available applications:
  Apache
  Apache Full
  Apache Secure
  OpenSSH
  • Apache: Apertura solo el puerto 80, que permite trafico sin cifrar (No seguro)
  • Apache Full: Apertura tanto el puerto 80 como el 443, permitiendo el tráfico cifrado (Seguro).
  • Apache Secure: Apertura solo el tráfico 443, permitiendo conexiones seguras (HTTPS).

Para esta guía usaremos el perfil Apache, ya que no será necesario usar una conexión cifrada.

sudo ufw allow Apache

Verificamos los perfiles activos:

sudo ufw status

Resultado:

Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere                  
Apache                     ALLOW       Anywhere                  
OpenSSH (v6)               ALLOW       Anywhere (v6)             
Apache (v6)                ALLOW       Anywhere (v6)

PASO 4:

Ahora verificamos que el servicio Apache esté ejecutandose correctamente, con el siguiente comando:

sudo systemctl status apache2

Resultado:

       ● apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: active (running) since Mon 2021-02-15 20:42:20 UTC; 42min ago
       Docs: https://httpd.apache.org/docs/2.4/
   Main PID: 676 (apache2)
      Tasks: 55 (limit: 2281)
     Memory: 8.4M
     CGroup: /system.slice/apache2.service
             ├─676 /usr/sbin/apache2 -k start
             ├─677 /usr/sbin/apache2 -k start
             └─678 /usr/sbin/apache2 -k start

Feb 15 20:42:19 hl systemd[1]: Starting The Apache HTTP Server...
Feb 15 20:42:20 hl apachectl[658]: AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName'>
Feb 15 20:42:20 hl systemd[1]: Started The Apache HTTP Server.

Perfecto, esto quiere decir que el servicio está activo. Si estas instalandolo en tu red local, puedes usar la IP interna desde el navegador. Pero si estas en un servidor en la nube tendrás que usar la IP pública.

http://[IP]/

Debería mostrarte el mensaje de bienvenida de Apache, donde te explicará brevemente los directorios y archivos de configuración.

Comandos para administrar el Servicio de Apache:

Comandos utiles para la administración del servicio:

Para detener su servidor web:

sudo systemctl stop apache2

Para iniciar el servidor web cuando está detenido:

sudo systemctl start apache2

Para detener y luego iniciar el servicio nuevamente:

sudo systemctl restart apache2

Para recargar sin perder conexión:

sudo systemctl reload apache2

Finalmente, debes tener en cuenta que tendrás que afinar la configuración del servidor, dependiendo del uso que le darás.