Cómo instalar el servidor web Apache en Ubuntu 18.04 [guía de inicio rápido]

Introducción

El servidor HTTP Apache es el más usado del mundo. Ofrece muchas características potentes, entre las que se incluyen módulos que se cargan de forma dinámica, sólida compatibilidad con medios y amplia integración con otras herramientas de software populares.

En esta guía, explicaremos la forma de instalar el servidor web Apache en su servidor de Ubuntu 18.04. Para acceder a una versión más detallada de este tutorial, consulte Cómo instalar el servidor web Apache en Ubuntu 18.04.

Requisitos previos

Antes de comenzar a usar esta guía, debería contar con lo siguiente:

  • Un servidor de Ubuntu 18.04 y un usuario regular no root con privilegios sudo. Además, deberá habilitar un firewall básico para que bloquee los puertos que no sean esenciales. Para aprender a configurar una cuenta normal de usuario e instalar un firewall para su servidor, siga nuestra guía de configuración inicial para servidores de Ubuntu 18.04.

Cuando disponga de una cuenta, inicie sesión como usuario no root para comenzar.

Paso 1: Instalación de Apache

Apache se encuentra dentro de los repositorios de software predeterminados de Ubuntu, por lo que puede instalarlo utilizando las herramientas convencionales de administración de paquetes.

Actualice su índice local de paquetes:

  • sudo apt update

Instale el paquete apache2:

  • sudo apt install apache2

Paso 2: Ajuste del firewall

Compruebe los perfiles de aplicación ufw disponibles:

  • sudo ufw app list
OutputAvailable applications:   Apache   Apache Full   Apache Secure   OpenSSH 

Active el perfil más restrictivo para que admita el tráfico que haya configurado y lo permita en el puerto 80 (tráfico web normal no encriptado):

  • sudo ufw allow 'Apache'

Verifique el cambio:

  • sudo ufw status
OutputStatus: active  To                         Action      From --                         ------      ---- OpenSSH                    ALLOW       Anywhere                   Apache                     ALLOW       Anywhere                   OpenSSH (v6)               ALLOW       Anywhere (v6)              Apache (v6)                ALLOW       Anywhere (v6) 

Paso 3: Comprobación de su servidor web

Realice una verificación con el sistema systemd init para saber si se encuentra en ejecución el servicio escribiendo lo siguiente:

  • sudo systemctl status apache2
Output● apache2.service - The Apache HTTP Server    Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)   Drop-In: /lib/systemd/system/apache2.service.d            └─apache2-systemd.conf    Active: active (running) since Tue 2018-04-24 20:14:39 UTC; 9min ago  Main PID: 2583 (apache2)     Tasks: 55 (limit: 1153)    CGroup: /system.slice/apache2.service            ├─2583 /usr/sbin/apache2 -k start            ├─2585 /usr/sbin/apache2 -k start            └─2586 /usr/sbin/apache2 -k start 

Acceda a la página de inicio predeterminada de Apache para confirmar que el software se esté ejecutando correctamente mediante su dirección IP:

http://your_server_ip 

Debería ver la página web predeterminada de Apache de Ubuntu 18.04:

Página predeterminada de Apache

Paso 4: Configuración de hosts virtuales (recomendado)

Al emplear el servidor web Apache, puede utilizar hosts virtuales (similares a bloques de servidor en Nginx) para encapsular detalles de configuración y alojar más de un dominio desde un único servidor. Configuraremos un dominio llamado your_domain, pero debería cambiarlo por su propio nombre de dominio. Consulte nuestra introducción a DNS de DigitalOcean para hallar más información sobre la configuración de un nombre de dominio con DigitalOcean.

Cree el directorio para your_domain:

sudo mkdir /var/www/your_domain 

Asigne la propiedad del directorio:

  • sudo chown -R $USER:$USER /var/www/your_domain

Los permisos de sus root web deberían ser correctos si no ha modificado su valor unmask, pero puede comprobarlo escribiendo lo siguiente:

  • sudo chmod -R 755 /var/www/your_domain

Cree una página modelo index.html usando nano o su editor favorito:

  • nano /var/www/your_domain/index.html

Dentro de ella, agregue el siguiente ejemplo de HTML:

/var/www/your_domain/index.html

<html>     <head>         <title>Welcome to Your_domain!</title>     </head>     <body>         <h1>Success!  The your_domain virtual host is working!</h1>     </body> </html> 

Guarde y cierre el archivo cuando termine.

Cree un nuevo archivo de host virtual en /etc/apache2/sites-available/your_domain.conf:

  • sudo nano /etc/apache2/sites-available/your_domain.conf

Péguelo en el siguiente bloque de configuración, actualizado para nuestro nuevo directorio y nombre de dominio:

/etc/apache2/sites-available/your_domain.conf

<VirtualHost *:80>     ServerAdmin [email protected]     ServerName your_domain     ServerAlias your_domain     DocumentRoot /var/www/your_domain     ErrorLog ${APACHE_LOG_DIR}/error.log     CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost> 

Guarde y cierre el archivo cuando termine.

Habilite el archivo con a2ensite:

  • sudo a2ensite your_domain.conf

Desactive el sitio predeterminado definido en 000-default.conf:

  • sudo a2dissite 000-default.conf

Verifique que no haya errores de configuración:

  • sudo apache2ctl configtest

El resultado debería ser este:

OutputSyntax OK 

Reinicie Apache para implementar sus cambios:

  • sudo systemctl restart apache2

Ahora Apache debería ser el servidor de su nombre de dominio. Puede comprobar esto visitando http://your_domain, donde debería ver algo como lo siguiente:

Ejemplo de host virtual de Apache

Conclusión

Una vez instalado su servidor web, tiene muchas opciones respecto del tipo de contenido que ofrecerá y de las tecnologías que quiera usar para crear una experiencia más completa.

Si desea construir una pila de aplicación más completa, consulte este artículo sobre cómo configurar una pila LAMP en Ubuntu 18.04.