Cómo instalar y configurar Apache en Ubuntu
Aprende cómo instalar y configurar el servidor web de Apache en Ubuntu. Siga nuestra guía paso a paso para administrar cortafuegos, procesos y archivos principales.

En esta página
El servidor Apache HTTP es uno de los servidores web más utilizados y fiables del mundo. Esta solución de código abierto ofrece características avanzadas, incluyendo módulos de carga dinámica, excelente soporte multimedia y perfecta integración con otro software popular. Para detalles técnicos, consulte el documentación oficial de Apache.
Paso 1: Instalar Apache en Ubuntu #
Apache está disponible directamente dentro del repositorio de software predefinido Ubuntu Server, haciendo la instalación rápida y segura a través de las herramientas clásicas de gestión de paquetes.
Para empezar, es esencial actualizar el índice local de paquetes para asegurarse de descargar la última versión disponible:
sudo apt update
A continuación, proceder con la instalación del paquete apache2:
sudo apt install apache2
Después de confirmar la operación, el administrador de paquetes apt instalará automáticamente Apache junto con todas las dependencias necesarias del sistema.
Paso 2: Ajuste del cortafuegos UFW #
Antes de probar el correcto funcionamiento de Apache, es esencial configurar la configuración de firewall para permitir el acceso externo a puertos web predefinidos. En Ubuntu, generalmente utiliza UFW (Uncomplicated Firewall) para limitar el acceso al servidor.
Durante la fase de instalación, Apache registra automáticamente algunos perfiles de aplicación dentro de UFW. Estos perfiles simplifican la capacidad o desactivación del tráfico web a través del firewall.
Para ver la lista de perfiles configurados en la aplicación ufw, por favor comanda:
sudo ufw app list
Una salida terminal típica será similar a la siguiente:
Applicazioni disponibili:
Apache
Apache Full
Apache Secure
Configuración de Perfiles de Apache
Como se destaca por la salida, el sistema proporciona tres perfiles principales para la gestión de Apache:
- Apache: Este perfil sólo abre el puerto 80 (destinado al tráfico web estándar y no cifrado).
- Apache Full: abre simultáneamente el puerto 80 y el puerto 443 (necesario para el tráfico web protegido y cifrado a través de certificado TLS/SSL).
- Apache Secure abre sólo la puerta 443. Hasta que haya configurado correctamente un certificado SSL para su servidor, es recomendable habilitar sólo el perfil básico para permitir el tráfico HTTP en el puerto 80:
sudo ufw allow 'Apache'
Usted puede comprobar al instante el cambio revisando el estado de firewall con este comando:
sudo ufw status
El tráfico web ahora está habilitado para Apache.
Paso 3: Verificación del estado del servidor web #
Al final del procedimiento de instalación, el demonio Apache comienza automáticamente. Como resultado, su nuevo servidor web estará activo y trabajando en el fondo.
Para estar seguro de que el servicio está funcionando, utilice el comando estatal apropiado:
sudo systemctl status apache2
La salida del terminal confirmará que el servicio se inicia correctamente. Sin embargo, el mejor método práctico para validar la instalación es solicitar la entrega de una página directamente a Apache.
Puede acceder a la página de aterrizaje predeterminada para confirmar que el software responde a las llamadas HTTP introduciendo su dirección IP pública. Si no conoce la dirección IP de su servidor, puede obtenerla rápidamente escribiendo:
hostname -I
Recuperación de direcciones IP
Como resultado, obtendrá una secuencia de direcciones de red separadas de los espacios. Generalmente el primero es el correcto; si no tienes que subir la página, prueba las otras direcciones indicadas.
Una vez que haya identificado la dirección IP de su servidor, simplemente ingrese en la barra de direcciones de su navegador favorito en este formato:
http://{il_tuo_indirizzo_ip}
En este punto, debe ver la página web predeterminada Ubuntu 22.04 Apache Default Page.
Esta interfaz gráfica indica que Apache trabaja sin errores. También incluye información básica valiosa sobre directorios operativos y archivos de configuración esenciales para conocer.
Paso 4: Gestión del Proceso de Apache #
Ahora que su entorno web está funcionando, es esencial dominar algunos comandos de gestión básicos usando servicios a través de systemctl.
Para detener de forma segura el servidor web:
sudo systemctl stop apache2
Para iniciar el servidor web cuando el servicio es actualmente inactivo:
sudo systemctl start apache2
Para detener y reiniciar el servicio con fuerza:
sudo systemctl restart apache2
Si simplemente está actualizando la configuración, Apache se puede recargar fluidamente sin soltar conexiones de usuario activas:
sudo systemctl reload apache2
Por defecto, Apache está programado para iniciar automáticamente cada encendido del servidor. Si desea deshabilitar esta regla automática:
sudo systemctl disable apache2
Para restaurar el comportamiento original y reactivar el arranque automático para arrancar:
sudo systemctl enable apache2
Paso 5: Directorio y archivos Apache cruciales #
WEB CONTENT ROOT
• /var/www/html: Es el directorio principal dedicado al contenido web. Por defecto, solo mantiene el documento de bienvenida predeterminado de Apache. Puede cambiar la ruta de origen interviniendo en los archivos de configuración Virtual Host.
FILE OF SERVER CONFIGURATION
- /etc/apache2: El directorio de contenedores para configuraciones. Todos los documentos clave de Apache residen dentro de ella.
- /etc/apache2/apache2.conf: Representa el archivo de configuración del servidor global. Cada alteración afecta al entorno de Apache en tote. Este archivo orquesta la carga modular de muchos otros documentos cruciales.
- /etc/apache2/ports.conf: Ajuste las puertas de red en las que Apache estará escuchando. Típicamente puntos en el puerto 80 y, si se combina con módulos para la funcionalidad SSL, se extiende la escucha al puerto 443.
SERVICIOS (LOGS)
- /var/log/apache2/access.log: Por defecto, almacena cada solicitud entrante dirigida al servidor web en detalle, a menos que personalice una directiva diferente.
- /var/log/apache2/error.log: El centro de seguimiento de errores. Cualquier anomalía operacional se presenta en este documento. El nivel de detalle analítico está establecido por la Directiva LogLevel configurada en Apache.
Paso 6: Personalizar y acoger su sitio web #
Para publicar sus páginas y reemplazar la pantalla predeterminada que ha visitado anteriormente, necesitará ejecutar algunos pasos simples. Los archivos nativos de su sitio (documentos HTML, hojas de estilo CSS, imágenes) tendrán que ser subidos, excepto para varias configuraciones virtuales, dentro de la raíz /var/www/html/.
PROCEDIMIENTO OPERACIONAL
- Eliminar o renombrar el archivo índice. Preexistente html en ese directorio (el uso del prefijo
sudopor terminal puede ser requerido, o primero tendrá que establecer los permisos correctos de lectura/escritura en los archivos de carpeta). - Cargue su archivo HTML personalizado que actuará como “Homepage” o landing page. Asegúrate de que fuera nombrado exactamente
index.html. - Introduzca la IP en su navegador (o vuelva a cargar la página web) para ver su nuevo sitio web en línea.
Preguntas frecuentes sobre Apache #
1. ¿Cuál es la diferencia principal entre Apache y Nginx? #
Ambos son servidores web muy poderosos y extensos, pero tienen diferencias sustanciales en la arquitectura. Apache se basa en un acercamiento orientado al proceso y ofrece alta flexibilidad y el uso del famoso archivo .htaccess para configuraciones locales. Nginx utiliza una infraestructura impulsada por eventos, que a menudo es más eficiente en el servicio de activos estáticos pesados y la gestión de grandes volúmenes de tráfico simultáneo.
2. ¿Cómo puedo activar HTTPS (SSL) en Apache? #
Para proporcionar a su sitio web un certificado SSL gratuito, debe confiar en una Autoridad certificada y automatizada como Encriptemos. utilizando Certbot. Alternativamente, puede generar manualmente un certificado, activar el módulo SSL nativo (sudo a2enmod ssl), configurar un host virtual para ordenar el tráfico portuario 443 y reiniciar el servicio Apache.
3. ¿Cuáles son los Hosts Virtuales y cómo los uso? #
Los Hosts Virtuales (Anfitrión Virtual) son directivas de configuración que permiten a una sola máquina o servidor web (a través de una sola IP) acoger simultáneamente múltiples sitios web o dominios (p.ej. sitio-a.com y site-b.com). Puede definir archivos separados para cada host virtual en el directorio /etc/apache2/sites-available/ para diferenciar registros, carpetas de raíz y permisos para cada dominio subido.

