Cómo instalar y configurar Apache en Ubuntu

Apache se utiliza a menudo junto con sistemas Linux. Ubuntu es especialmente adecuado para instalar el servidor web debido a su fuerte comunidad y su abundante documentación. Te explicamos todos los pasos para instalar y configurar Apache en Ubuntu.

Instalar Apache en Ubuntu: estos son los requisitos

Apache es uno de los servidores web más antiguos y estables. Su popularidad se debe a su escalabilidad y sencilla configuración. No hay requisitos específicos de procesador para instalar Apache en Ubuntu 22.04. La mayoría de los procesadores modernos deberían ser suficientes para ejecutarlo. La RAM disponible y la capacidad de almacenamiento del disco duro son los factores decisivos.

Apache consume una cantidad mínima de recursos del sistema y puede configurarse en varios tipos de sistemas, como ordenadores de sobremesa, portátiles, servidores y máquinas virtuales. Si deseas alojar una página web o una aplicación potente, es posible que necesites más recursos para conseguir un rendimiento óptimo. También debes recordar que el uso de módulos puede aumentar los requisitos del sistema. Por ejemplo, si quieres integrar un módulo para la mejora del rendimiento del servidor web Apache, tu sistema necesitará memoria adicional para el almacenamiento en caché y otras optimizaciones.

Para poder instalar el servidor web Apache, deben cumplirse las siguientes condiciones:

  • Memoria RAM: 4 GB
  • Sistema operativo: Ubuntu, usuario con derechos de acceso sudo
  • Espacio en disco duro: 5 GB
  • Firewall: para tráfico HTTP y para bloquear puertos innecesarios
  • Conexión a Internet: para descargar paquetes
Consejo

Con Hosting de Linux de IONOS te beneficias de tráfico ilimitado, el más rápido rendimiento y los más altos estándares de seguridad. Crea tu página web hoy mismo con los servidores Linux de IONOS.

Cómo instalar Apache en Ubuntu: guía paso a paso

Ubuntu 22.04 utiliza la herramienta de gestión de paquetes APT para instalar Apache. En primer lugar, debes actualizar el índice de paquetes de tu sistema Ubuntu para asegurarte de que todas las dependencias necesarias están actualizadas.

Si no se trata de una instalación local, inicia sesión en tu servidor Ubuntu.

Paso 1. Actualiza la lista de paquetes

Abre la terminal y realiza una actualización.

$ sudo apt update
bash

Paso 2. Instala el paquete Apache

A continuación, instala el paquete Apache con todas sus dependencias utilizando el comando de APT install.

$ sudo apt install apache2
bash

Paso 3. Cambia la configuración del cortafuegos

Para configurar Apache, es necesario activar el Uncomplicated Firewall (UFW) en Ubuntu. Una vez instalado Apache en Ubuntu, Apache configura perfiles de aplicación en UFW con los que se puede regular el tráfico de datos a los puertos web.

Utiliza el siguiente comando para mostrar la lista de perfiles de aplicación:

$ sudo ufw app list
bash

El resultado muestra tres perfiles para Apache:

apache-profile.png
Terminal: lista de perfiles de aplicación para Apache.
  • Apache: abre el puerto TCP 80 para HTTP (conexión no cifrada)
  • Apache Full: abre los puertos TCP 80 (HTTP, sin cifrar) y 443 (HTTPS, cifrado con TLS/SSL)
  • Apache Secure: solo abre el puerto HTTPS 443 para una conexión cifrada

Como aún no hemos configurado SSL, solo podemos abrir el puerto 80.

$ sudo ufw allow 'Apache'
bash

Con el comando “status” puedes comprobar si se ha realizado el ajuste correcto.

$ sudo ufw status
bash

Paso 4. Comprueba el estado de Apache

Utiliza el gestor del sistema systemd para comprobar si el servicio Apache está activo.

$ sudo systemctl status apache2
bash

Paso 5. Ve a la página de inicio de Apache

Introduce tu dirección IP en la línea de dirección del navegador para obtener la página por defecto de Apache. Si no conoces tu dirección IP, puedes verla por ejemplo con “hostname”.

$ hostname -I
bash

También puedes utilizar la herramienta icanhazip.

$ curl -4 icanhazip.com
bash

Ahora abre la página estándar de Apache en tu navegador e introduce tu dirección IP en server_ip.

http://server_ip

Esta es una sección de la página en Ubuntu:

apache-default-page.png
Navegador web: página de inicio de Apache en Ubuntu.

Paso 6. Gestiona el daemon de Apache

Puedes gestionar el daemon o el servicio del servidor web Apache con “systemctl”.

Inicio del servidor web Apache:

$ sudo systemctl start apache2
bash

Detención del servidor web Apache:

$ sudo systemctl stop apache2
bash

Detención y reinicio del servidor web Apache:

$ sudo systemctl restart apache2
bash

Reinicio de Apache y recarga de la configuración:

$ sudo systemctl reload apache2
bash

Al instalar Apache en Ubuntu, el servidor web se iniciará automáticamente en el arranque tras la configuración. También puedes desactivar esta función:

$ sudo systemctl disable apache2
bash

Para volver a activar el inicio automático de Apache en el arranque, introduce el siguiente comando:

$ sudo systemctl enable apache2
bash

Paso 7. Utiliza hosts virtuales

Por defecto, Apache aloja los documentos en /var/www/html. Para utilizar varios dominios en un servidor, puedes configurar hosts virtuales. Dentro de /var/www/html vamos a crear una estructura de directorios para un dominio independiente.

$ sudo mkdir /var/www/your_domain
bash

Sustituye your_domain por tu dominio.

Asigna la propiedad del directorio con la variable de entorno $USER:

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

También puedes asignar explícitamente los permisos de lectura, escritura y ejecución en modo octal:

$ sudo chmod -R 755 /var/www/your_domain
bash

Paso 8. Crea una página de prueba

Crea un indix.html como página de inicio de tu dominio. Para ello puedes utilizar, por ejemplo, el editor de texto nano.

$ sudo nano /var/www/your_domain/index.html
bash

Elige una formulación e insértala en el archivo HTML:

<html>
    <head>
        <title>Welcome to your_domain!</title>
    </head>
    <body>
        <h1>Here you can see that your_domain virtual host is successfully working!</h1>
    </body>
</html>
html

Paso 9. Crea un archivo de configuración para el host virtual

Para mostrar la página de ejemplo, Apache debe estar configurado adecuadamente para el dominio. Crea un fichero de configuración propio para tu dominio y deja intacto el fichero de configuración por defecto de Apache.

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

Introduce también una dirección de correo electrónico para el administrador en “ServerAdmin”:

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName your_domain
    ServerAlias www.your_domain
    DocumentRoot /var/www/your_domain
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Activa el archivo de configuración con “a2ensite”:

$ sudo a2ensite your_domain.conf
bash

Desactiva la antigua página por defecto:

$ sudo a2dissite 000-default.conf
bash

Comprueba si hay errores en la configuración:

$ sudo apache2ctl configtest
bash

Si todo está libre de errores, reinicia Apache:

$ sudo systemctl restart apache2
bash

Abre tu página de inicio:

http://your_domain

Ahora deberías poder ver tu página de prueba:

virtual-host.png
Navegador web: página de ejemplo de un host virtual.

Paso 10. Archivos y directorios importantes de Apache

Para un funcionamiento eficiente del servidor web Apache es útil conocer algunos archivos y directorios de uso frecuente:

  • /var/www/html: Apache envía documentos a este directorio por defecto. Esto puede cambiarse en los archivos de configuración.
  • /etc/apache2: todos los archivos de configuración de Apache se guardan aquí.
  • /etc/apache2/apache2.conf: este es el archivo de configuración principal. Con él puedes cambiar la configuración global.
  • /etc/apache2/ports.conf: los puertos abiertos se enumeran en este archivo. Suelen ser los puertos 80 y/o 443.
  • /etc/apache2/sites-available/: esta carpeta contiene hosts virtuales que han sido configurados. Los archivos de configuración colocados en esta carpeta deben estar vinculados al directorio “site-enabled” para que funcionen.
  • /etc/apache2/conf-available/, /etc/apache2/conf-enabled/: estos directorios almacenan archivos de configuración adicionales que no pertenecen a hosts virtuales. Puedes activar la configuración con “a2enconf” y desactivarla con “a2disconf”.
  • /etc/apache2/mods-available/, /etc/apache2/mods-enabled/: los módulos disponibles y activados se guardan en estos directorios. Pueden activarse con “a2enmod” y desactivarse con “a2dismod”.
  • /var/log/apache2/access.log: este archivo de registro registra todas las peticiones al servidor web.
  • /var/log/apache2/error.log: todos los mensajes de error se registran en este archivo. La información LogLevel indica la gravedad de los errores.
Consejo

Si no tienes tiempo para la administración y mantenimiento de un servidor, te recomendamos contratar un servidor administrado de IONOS. No es necesario ser un experto en Linux para trabajar con un servidor gestionado. IONOS se encarga de todas las tareas importantes por ti, incluidas las copias de seguridad automáticas y los controles de seguridad.

¿Le ha resultado útil este artículo?
Page top