Servidor Web Apache
1. Objetivos del módulo #
Al finalizar este módulo el alumno será capaz de:
- Entender qué es un servidor web
- Instalar y configurar Apache en Linux Mint
- Publicar páginas web HTML
- Comprender la estructura de archivos del servidor
- Gestionar el servicio (start, stop, restart)
- Acceder al servidor desde un navegador
2. Qué es un servidor web? #
Un servidor web es un software que:
- Escucha peticiones HTTP/HTTPS
- Sirve archivos (HTML, CSS, JS, imágenes…)
- Responde a los navegadores (Chrome, Firefox, etc.)
📌 Ejemplo:
Navegador → http://localhost → Servidor web → index.html
3. Paso 1 - Actualizar el sistema #
Siempre empezamos así 👇
1sudo apt update
🔍 ¿Por qué? Para asegurarnos de que instalamos versiones estables y seguras.
4. Paso 2 - Instalar Apache #
1sudo apt install apache2
Durante la instalación:
- Se crea el servicio
apache2 - Se configura para arrancar automáticamente
5. Paso 3 - Comprobar que Apache funciona #
Ver estado del servicio #
1sudo systemctl status apache2
Debe aparecer:
active (running)
Probar desde el navegador #
Abre:
http://localhost
Si ves “Apache2 Ubuntu Default Page”, 🎉 ¡funciona!
6. Paso 4 - Entender la estructura de Apache #
Carpeta principal del sitio web #
/var/www/html
Ahí está el archivo:
1index.html
Apache sirve automáticamente ese archivo cuando entras al servidor.
7. Paso 5 - Crear tu primera web #
Edita el archivo de la página web principal:
1sudo nano /var/www/html/index.html
Contenido de ejemplo:
1<!DOCTYPE html> 2<html> 3<head> 4 <meta charset="UTF-8"> 5 <title>Mi servidor web</title> 6</head> 7<body> 8 <h1>Servidor Apache en Linux Mint</h1> 9 <p>Funciona correctamente 🚀</p> 10</body> 11</html>
Guarda (Ctrl + O) y sal (Ctrl + X).
🔄 Recarga el navegador → verás tu página.
8. Paso 6 - Gestionar el servidor #
Comandos básicos (imprescindibles en examen):
1sudo systemctl start apache2 # Iniciar 2sudo systemctl stop apache2 # Detener 3sudo systemctl restart apache2 # Reiniciar 4sudo systemctl reload apache2 # Recargar config
9. Paso 7 - Permisos (concepto clave) #
Apache corre como usuario www-data.
Si trabajas con carpetas nuevas:
1sudo chown -R www-data:www-data /var/www/html 2sudo chmod -R 755 /var/www/html
📌 Concepto importante: Permisos mal puestos = servidor no muestra la web.
10. Paso 8 - Opcional: Configurar el firewall #
Ver si el firewall está activo #
Primero comprobamos el estado:
1sudo ufw status
Puede salir:
Status: inactive
Status: active
Abrir el puerto de Apache #
Si Apache está en el puerto 80:
1sudo ufw allow 80
Ahora activamos: #
1sudo ufw enable
Resumen del tema
Conceptos clave #
- Servicio Web Apache HTTP Server: demonio
apache2encargado de escuchar en el puerto 80 (HTTP) / 443 (HTTPS) y servir recursos estáticos y dinámicos. - Directorio Raíz Web (DocumentRoot): ruta por defecto
/var/www/htmlcon archivo de entrada principalindex.html. - Gestión con
systemctl: control del ciclo de vida del servicio (start,stop,restart,reload,status). - Permisos y Propiedad: ejecución bajo el usuario y grupo del sistema
www-data:www-datacon permisos estándar755para directorios y644para archivos. - Seguridad en Cortafuegos: apertura del puerto 80 con
sudo ufw allow 80/tcpo perfiles de aplicaciónsudo ufw allow 'Apache'.
Qué debes recordar #
Apache sirve archivos desde /var/www/html bajo el usuario www-data, gestionándose mediante systemctl y requiriendo la apertura del puerto 80 en ufw.