Windows Server 2025 / Instalar IIS y publicar una página HTML estática en el laboratorio
En Windows Server 2025, IIS puede servir una página HTML después de instalar el rol de servidor web y el contenido estático. Configure ruta física, grupo de aplicaciones, enlace y permisos de lectura; compruebe después la página en WEB1 y desde un cliente separado.
Preparar un servidor web separado
Internet Information Services (IIS) es el servidor web de Windows. Esta práctica entrega un archivo estático: el servidor devuelve el HTML sin necesitar una base de datos ni un entorno de aplicaciones. PHP y ASP.NET requieren configuración y componentes adicionales; no los instale para este ejemplo.
Prepare un miembro de dominio independiente WEB1 con Windows Server 2025 y Experiencia de escritorio en la red aislada del laboratorio, sin añadir el rol a DC1 o FS1. El ejemplo usa 172.24.50.30/24, DNS de DC1 en 172.24.50.10 y pertenencia a ad.example.test. Confirme primero que la dirección está libre y reservada para el servidor, que la red y el DNS del dominio funcionan y que el host tiene recursos. No conecte el laboratorio a una red de producción para resolver estos requisitos.
Use Windows PowerShell elevado e IIS Manager en WEB1. Los objetos nuevos serán LabSite, LabSitePool, C:\Sites\LabSite y el puerto HTTP 8080. Revise sitios, grupos, carpetas, reglas y enlaces existentes: si algún nombre o destino ya se utiliza, deténgase sin reemplazarlo. Mantenga el enlace del sitio predeterminado en 80 separado y no publique el servidor en Internet. HTTP aquí transporta solo texto de prueba sin secretos; no sirve como canal protegido para credenciales.
Instalar IIS y comprobar las características
- En Administrador del servidor seleccione Administrar → Agregar roles y características, instalación basada en roles y WEB1 como destino. Verifique el servidor antes de continuar.
- Seleccione Servidor web (IIS) y las herramientas de administración necesarias. Esta práctica utiliza la consola local con Experiencia de escritorio; en Server Core la administración requiere otro planteamiento.
- En Características HTTP comunes revise Contenido estático y Documento predeterminado; en Estado y diagnóstico, Registro HTTP. Compruebe también Consola de administración de IIS.
- Revise el resumen e instale sin añadir entornos de aplicación ajenos a esta página. No seleccione todas las características por comodidad.
- Examine el resultado y la necesidad de reinicio. Si se requiere, planifíquelo, complete el reinicio y compruebe el estado antes de continuar. Abra IIS Manager con inetmgr.
La alternativa PowerShell se ejecuta localmente en WEB1. Si IIS ya está instalado, examine primero el estado de sus características y el uso de los sitios. Install-WindowsFeature requiere elevación y no instala herramientas de administración por defecto, por eso se incluye IncludeManagementTools. Ejecute las líneas por separado y deténgase ante un error; instalar el rol no configura por sí mismo la ruta, los permisos ni el acceso de red:
Install-WindowsFeature Web-Server -IncludeManagementTools
Get-WindowsFeature Web-Static-Content,Web-Default-Doc,Web-Http-Logging,Web-Mgmt-Console
Se espera que la instalación termine con éxito y que Get-WindowsFeature muestre como Installed Web-Static-Content, Web-Default-Doc, Web-Http-Logging y Web-Mgmt-Console. Revise también RestartNeeded. Una fila Available no cumple el requisito: vuelva al asistente para instalar específicamente lo que falta y verifique de nuevo. La presencia de la consola no demuestra que todas las funciones de entrega estén instaladas.
Crear la página y un grupo dedicado
Si C:\Sites\LabSite existe, deténgase y averigüe su finalidad sin sobrescribirlo. Si no existe, créelo y guarde el siguiente documento completo como index.html en UTF-8. En el Bloc de notas elija Todos los archivos al guardar y confirme en el Explorador, con extensiones visibles, que no quedó como index.html.txt. El ejemplo conserva su texto en inglés y lang="en"; la frase permite reconocer qué sitio está respondiendo:
<!doctype html>
<html lang="en">
<head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>LabSite</title></head>
<body><h1>Windows Server 2025 web server lab</h1><p>This page is served by LabSite on WEB1.</p></body>
</html>
- En IIS Manager → Grupos de aplicaciones cree LabSitePool solo si no existe ni pertenece a otro trabajo.
- Para esta página exclusivamente estática seleccione Sin código administrado (No Managed Code) como versión CLR de .NET. Esa opción no instala PHP ni otros entornos.
- En Configuración avanzada del grupo confirme Identity = ApplicationPoolIdentity. No sustituya esa cuenta por un administrador.
- En Propiedades → Seguridad de C:\Sites\LabSite seleccione WEB1 como ubicación y agregue IIS AppPool\LabSitePool usando Comprobar nombres. Si no se resuelve, verifique nombre y existencia del grupo y la ubicación local.
- Conceda Lectura y ejecución, Mostrar contenido de la carpeta y Lectura para carpeta y archivos, manteniendo SYSTEM y los permisos del administrador. No otorgue escritura o Control total al proceso web.
Una identidad de grupo de aplicaciones es una cuenta virtual asociada al grupo, no un usuario que deba crear manualmente en el dominio. El permiso de publicación del administrador es distinto del permiso de lectura del proceso web. Para servir esta página no conceda al grupo administración, escritura ni Control total; no copie una concesión amplia de un ejemplo genérico. Compruebe que las entradas de lectura llegan a index.html y que no hay una denegación que las impida.
Configurar sitio e identidad anónima
- En Sitios → Agregar sitio web indique LabSite, seleccione LabSitePool y configure C:\Sites\LabSite como ruta física. Revise que el grupo seleccionado no sea otro creado automáticamente.
- Defina tipo http, IP 172.24.50.30, puerto 8080 y nombre de host vacío. Compruebe que la IP está asignada a WEB1 y que ningún enlace o servicio usa ya esa combinación.
- En LabSite → Autenticación → Autenticación anónima, confirme Habilitado, seleccione Editar y elija Identidad del grupo de aplicaciones. Aplique solo al sitio de prueba.
- En LabSite → Documento predeterminado confirme Habilitado y que index.html figure en la lista; agréguelo solo si falta. No habilite Exploración de directorios.
- Revise enlace, ruta, grupo y su estado; inicie el sitio. Si falla el inicio, conserve el mensaje y resuelva el conflicto sin detener sitios ajenos.
El usuario anónimo predeterminado IUSR no es lo mismo que la identidad del grupo. Elegir explícitamente la identidad del grupo en la configuración de autenticación anónima hace que las solicitudes de esta página correspondan al permiso otorgado a IIS AppPool\LabSitePool. Verifique además que la autenticación anónima esté habilitada en LabSite. No solucione un error de autenticación dando escritura a Everyone ni cambiando toda la configuración del servidor.
En el navegador de WEB1 abra http://172.24.50.30:8080/index.html y después http://172.24.50.30:8080/. Se espera el título visible Windows Server 2025 web server lab y la frase This page is served by LabSite on WEB1. Compruebe que no aparece la bienvenida del sitio predeterminado ni una copia local abierta con file://. La raíz exige que index.html exista y figure como documento predeterminado. La referencia de New-Website describe también ruta, puerto y grupo; no ejecute otra creación si ya siguió el asistente.
Comprobar desde el cliente y diagnosticar la respuesta
Tras confirmar el perfil Domain de la interfaz de laboratorio en WEB1, abra wf.msc → Reglas de entrada → Nueva regla → Puerto → TCP y puerto local 8080 → Permitir la conexión → solo Dominio. Nómbrela Lab-IIS-HTTP-8080 si aún no existe; después, en Propiedades → Ámbito, limite direcciones remotas a 172.24.50.0/24 y compruebe el puerto y perfil. Los filtros de regla de firewall distinguen puerto local y origen remoto. Un perfil inesperado requiere revisar DNS y conectividad de dominio, no ampliar la regla a todos los perfiles ni desactivar el firewall. Revise otras reglas o directivas que puedan permitir un alcance mayor.
En CLIENT1, dentro de la subred permitida, ejecute la siguiente prueba y abra después las dos URL en el navegador. TcpTestSucceeded: True indica que se pudo establecer TCP en ese puerto, no que el HTML, los permisos o el sitio sean correctos. Si es False, revise ruta, perfil, regla y escucha; no cambie primero las credenciales del sitio:
Test-NetConnection -ComputerName 172.24.50.30 -Port 8080
| Síntoma | Qué comprobar |
|---|---|
| Tiempo de espera agotado | Ruta de red, perfil y reglas del firewall, puerto en escucha y alcance permitido. |
| 403.14 | Archivo y configuración de documento predeterminado; no habilite el listado de directorios para ocultar el problema. |
| 401.3 | Identidad anónima efectiva y permiso de lectura NTFS sobre carpeta y archivo. |
| 404 | Ruta física, nombre y extensión del archivo; revise también el subestado antes de atribuir toda respuesta 404 a un archivo inexistente. |
| 503 | Estado del grupo, protección contra errores rápidos y eventos; no desactive esa protección para ocultar el fallo. |
En IIS Manager consulte LabSite → Configuración avanzada para identificar su ID y LabSite → Registro para confirmar la ubicación activa. Correlacione cliente, URL y hora con C:\inetpub\logs\LogFiles\W3SVC seguido del ID del sitio cuando se usa esa ubicación predeterminada; compruebe la zona horaria del formato de registro. Los diagnósticos de errores HTTP de IIS distinguen estado y subestado. Si una petición no llega a IIS, puede no aparecer en su registro. Separe el fallo de red de la respuesta HTTP. Para limpiar, conserve los registros necesarios, detenga y quite solo LabSite, confirme que LabSitePool no tiene otras aplicaciones y retire únicamente ese grupo y la regla nueva. Borre la carpeta solo si contiene exclusivamente sus archivos prescindibles. Mantenga el sitio predeterminado, reglas ajenas y el rol compartido.




