Contenido verificado asociado a este RA
Fundamentos y Despliegue Básico de Servidores Web
Esta unidad explora los principios fundamentales de los servidores web, incluyendo los protocolos HTTP/S, el modelo cliente-servidor y la arquitectura básica. Se aborda la instalación y configuración inicial de servidores web populares como Apache o Nginx, sentando las bases para su administración.
Configuración Avanzada y Sitios Virtuales
Esta unidad profundiza en la configuración de servidores web, cubriendo la activación y uso de módulos para extender su funcionalidad. Se explica cómo crear y gestionar múltiples sitios web en un único servidor mediante la configuración de sitios virtuales, optimizando el uso de recursos.
Seguridad en Servidores Web: Autenticación y Cifrado
Esta unidad se centra en la implementación de mecanismos de seguridad esenciales para servidores web. Se aborda la configuración de autenticación de usuarios y control de acceso, así como la obtención, instalación y gestión de certificados digitales para asegurar las comunicaciones mediante HTTPS.
Monitorización, Análisis de Registros y Documentación del Servicio Web
Esta unidad cubre las prácticas esenciales para mantener la salud y el rendimiento de un servidor web. Se explora la monitorización del servicio, el análisis de registros para la resolución de incidencias y la elaboración de estadísticas, y la importancia de una documentación técnica completa y útil.
Conceptos clave
Servidor WebCliente-ServidorHTTPHTTPSPuerto 80Puerto 443Apache HTTP ServerNginxDocumentRootArchivos de configuraciónsystemctlMódulos de servidor webPHP-FPMmod_rewriteProxy inversoSitios virtualesVirtual HostServer Block
Errores que conviene evitar
- {"error":"No se puede acceder al sitio web después de la instalación.","causa":"Posibles causas: firewall bloqueando los puertos 80/443, servicio web no iniciado o fallando, permisos incorrectos en el DocumentRoot o archivos, error de sintaxis en la configuración.","correccion":"Verificar el estado del servicio (`systemctl status`), revisar logs de errores del servidor web, comprobar reglas del firewall (`ufw status`, `firewalld --list-all`), verificar permisos de archivos (`ls -l`)."}
- {"error":"El servidor web muestra el contenido del directorio en lugar del archivo index.html.","causa":"El archivo de índice no está presente en el DocumentRoot o no está configurado correctamente en la directiva `DirectoryIndex` (Apache) o `index` (Nginx).","correccion":"Asegurarse de que `index.html` (o el archivo deseado) exista en el directorio raíz o configurar explícitamente `DirectoryIndex index.html` en Apache o `index index.html;` en Nginx."}
- {"error":"Al crear un nuevo sitio virtual, se sigue mostrando el sitio por defecto o un sitio incorrecto.","causa":"Conflicto de `ServerName` o `ServerAlias` (Apache) / `server_name` (Nginx) entre sitios virtuales, o el nuevo sitio no está activado correctamente. El servidor puede estar sirviendo el primer Virtual Host que coincide o el por defecto.","correccion":"Asegurarse de que cada `ServerName` sea único y que el DNS apunte correctamente. Desactivar el sitio por defecto si no se necesita (`a2dissite 000-default.conf` en Apache). Verificar que el enlace simbólico esté creado en `sites-enabled` para Nginx."}
- {"error":"Los archivos PHP no se ejecutan, se descargan o se muestran como texto plano.","causa":"El módulo PHP no está activado o configurado correctamente, o el servidor web no está comunicándose con `php-fpm` (en el caso de Nginx).","correccion":"Verificar la activación del módulo PHP (`a2enmod php7.x` para Apache) y reiniciar. Para Nginx, revisar la configuración del bloque `location ~ \\.php$` para asegurar que `fastcgi_pass` apunte al socket correcto de `php-fpm` y que el servicio `php-fpm` esté corriendo."}
- {"error":"El navegador muestra una advertencia de certificado no válido o no confiable.","causa":"Certificado autofirmado, certificado caducado, nombre de dominio en el certificado no coincide con el `ServerName`/`server_name`, o la cadena de certificados no está completa.","correccion":"Asegurarse de usar un certificado emitido por una CA de confianza, verificar la fecha de caducidad, comprobar que el `ServerName` coincida con el CN (Common Name) del certificado, y que `SSLCertificateChainFile`/`ssl_trusted_certificate` apunte a la cadena completa."}
- {"error":"Después de configurar HTTPS, el sitio sigue siendo accesible por HTTP o muestra contenido mixto (mixed content).","causa":"No se ha configurado una redirección de HTTP a HTTPS, o el contenido del sitio (imágenes, scripts, CSS) sigue cargando recursos vía HTTP en lugar de HTTPS.","correccion":"Implementar una redirección 301 de HTTP a HTTPS en la configuración del servidor web. Revisar el código fuente del sitio para asegurar que todos los recursos se carguen con URLs relativas o absolutas con HTTPS."}
- {"error":"El disco del servidor se llena inesperadamente.","causa":"Los archivos de log no están siendo rotados o gestionados correctamente, acumulándose con el tiempo.","correccion":"Configurar `logrotate` para los logs del servidor web, asegurando que los logs antiguos se compriman y eliminen periódicamente."}
- {"error":"No se puede diagnosticar un problema crítico en el servidor web de forma rápida.","causa":"Falta de documentación de la configuración, procedimientos de troubleshooting o herramientas de monitorización y análisis de logs.","correccion":"Implementar un sistema de monitorización con alertas, documentar la configuración y los procedimientos operativos, y familiarizarse con las herramientas de análisis de logs para una respuesta eficiente."}