Empezando con Windows IIS (Servicios de Información de Internet)

Los sitios web son el tipo más común de contenido en internet hoy en día. Pero para asegurarte de que tu sitio web sea visible para la audiencia más amplia posible, necesitarás alojar tu sitio en un servidor web. ¿Cómo? Considera recurrir a los Servicios de Información de Internet de Windows (Windows IIS), una opción popular para el alojamiento web.

En este tutorial, aprenderás lo básico para empezar con Windows IIS para la gestión de aplicaciones web a través de la interfaz gráfica de usuario o del entorno de línea de comandos.

Sigue leyendo y mejora la gestión de tus aplicaciones web con Windows IIS.

Prerrequisitos

Este tutorial será una demostración práctica. Si quieres seguirlo, asegúrate de tener:

  • A Windows machine – This tutorial uses Windows Server 2012 since it’s stable and available at a low cost (or free). But you can also use Windows 10 for this tutorial.
  • la distribución de Visual C++ instalada en tu máquina con Windows. IIS requiere Visual C++ para renderizar correctamente las páginas PHP.

Instalación de Windows IIS en un servidor con Windows

El servidor web IIS ofrece una funcionalidad rica y escalabilidad para alojar sitios web y servicios en sistemas operativos Windows. Pero antes de usar IIS, debes instalar esta herramienta en tu máquina con Windows.

Para instalar Windows IIS en un servidor con Windows:

1. Presiona Ctrl+R para abrir la ventana Ejecutar, escribe ServerManager y presiona Enter.

Esta acción abre el Panel de control del Administrador del servidor. Los administradores de IT utilizan este panel de control gráfico para diversas tareas diarias relacionadas con la administración del servidor.

Launching the Server Manager

2. En el Administrador del Servidor, haz clic en el enlace Agregar roles y características para abrir un asistente, donde puedes agregar servicios y características de roles a tu servidor local.

Initiating adding roles and features

3. A continuación, lee la información en la página Antes de comenzar y haz clic en Siguiente.

También puedes marcar la opción Saltar esta página por defecto para no ver esta página la próxima vez que agregues roles y características.

Acknowledging the welcome page

4. Ahora, en la página Tipo de instalación, selecciona la primera opción (Instalación basada en roles o características) y haz clic en Siguiente.

Esta opción se recomienda en la mayoría de los casos, ya que te guía para agregar roles específicos, servicios de roles y características de una manera estándar.

Si eliges la segunda opción (Instalación de Servicios de Escritorio Remoto), deberás seleccionar manualmente los roles, servicios y características necesarios para la instalación.

Selecting installation type

5. Selecciona tu servidor del grupo de servidores y haz clic en Siguiente.

También puedes seleccionar varios servidores para una instalación distribuida, pero eso está fuera del alcance de este tutorial.

Selecting a destination server

6. A continuación, marca la casilla Servidor Web (IIS) en la página de Roles del servidor para una infraestructura escalable de aplicaciones web y haz clic en Siguiente.

Selecting the Web Server (IIS) role to install on the destination server

7. Deja seleccionados los valores predeterminados y haz clic en Siguiente. Esta acción le indica a Windows que instale todas las subcaracterísticas necesarias para el rol de servidor IIS, incluyendo ASP.NET, Contenido Estático y Documento Predeterminado.

Confirming default selected features

8. Revisa más información sobre el Rol del Servidor Web (IIS) y haz clic en Siguiente.

Reviewing more information about the Web Server Role (IIS)

9. En la página de Servicios de Rol, deja las selecciones predeterminadas, pero expande el nodo Desarrollo de Aplicaciones, selecciona la casilla CGI y haz clic en Siguiente.

Esta opción instala el soporte para la Interfaz Común de Puerta de Enlace (CGI), una forma estándar de interactuar con aplicaciones externas a través de servidores web.

Selecting role services

10. Después de configurar los ajustes de instalación, haz clic en el botón de Instalar para instalar los roles y características seleccionados.

Installing the selected roles and features

11. Una vez que la instalación se complete, como se muestra a continuación, haz clic en Cerrar para finalizar y salir del asistente.

¡Y listo! Has instalado con éxito Windows IIS en tu servidor.

Finishing the roles and features installation

12. Finalmente, abre tu navegador web favorito y ve a http://localhost/.

Si todo va bien, verás la página predeterminada de IIS como la que se muestra a continuación, lo que confirma que tu servidor web está en funcionamiento.

Viewing the default IIS web page

Instalación de PHP y Configuración de IIS para Manejar Solicitudes PHP

Has instalado con éxito Windows IIS en tu servidor, pero aún necesitas una forma de implementar páginas en tu servidor. Y para este tutorial, instalarás PHP y configurarás IIS para manejar solicitudes PHP.

Para instalar PHP en tu servidor:

1. Ve a la página de descarga de la versión de PHP. En el momento de escribir esto, la última versión estable es PHP 8.1.

Descarga el paquete ZIP de No Thread Safe (NTS) ya que IIS utiliza un solo hilo para manejar cada solicitud. El paquete Thread Safe (TS) es para IIS FastCGI, que permite que PHP se ejecute en un entorno multihilo.

Downloading the PHP (NST) package

2. Descomprime el archivo de PHP descargado en el directorio de PHP (C:\PHP\) en tu servidor.

Después de descomprimir el archivo, tendrás que instalar y configurar IIS para que puedas administrar e implementar aplicaciones web.

Unzipping the downloaded PHP archive to the PHP directory

3. Abre tu Administrador del servidor, selecciona Panel de control → Herramientas → Administrador de servicios de información de Internet (IIS). Esta acción abre la consola del Administrador de IIS, donde puedes configurar ajustes de IIS, crear y administrar sitios web, e implementar aplicaciones web.

Opening the IIS Manager console.

4. Ahora, selecciona tu localhost (panel de Conexiones) y haz doble clic en Mapeos de controladores para acceder a la lista de mapeos de controladores disponibles.

Accessing handler mappings

5. En la página de Mapeos de controladores, haz clic en Agregar mapeo de módulo (panel derecho), lo que abre el cuadro de diálogo Agregar mapeo de módulo.

Initiating adding a module mapping

6. A continuación, configura el nuevo mapeo con lo siguiente:

  • Ruta de la solicitud – Escribe *.php para indicar a IIS que reenvíe todas las solicitudes que terminen con .php al módulo del procesador PHP. El símbolo de comodín (*) te permite ahorrar tiempo ya que no tienes que agregar un mapeo de controlador para cada archivo PHP.
  • Módulo – Elije Módulo FastCgi para especificar que el módulo FastCGI debería manejar las solicitudes.
  • Ejecutable – Ingresa la ruta completa al archivo php-cgi.exe. En este ejemplo, la ruta es C:\PHP\php-cgi.exe.
  • Nombre – Proporciona un nombre único para el mapeo de módulo, pero este tutorial utiliza PHP_FastCGI.
  • Haz clic en Restricciones de solicitud para configurar las restricciones de solicitud.
Adding module mapping

7. Marca la casilla y elige la opción Archivo o Carpeta. Esta opción garantiza que el mapeo de controladores solo se aplique a los archivos en el servidor.

Selecting the invoke handler

8. Navegue hasta la pestaña Verbos y elija la opción Todos los verbos. Esta opción indica a IIS que reenvíe todos los tipos de solicitudes HTTP, como GET, POST y HEAD, al módulo procesador de PHP.

Selecting all verbs to be handled

9. Ahora, en la pestaña Acceso, elija la opción Script y haga clic en Aceptar. Esta opción le indica a IIS que las páginas de PHP son scripts que deben ejecutarse en lugar de archivos estáticos que se sirven directamente.

Selecting the required access by the handler

10. Regrese a la opción Agregar asignación de módulo, haga clic en Aceptar para agregar la nueva asignación de módulo.

Adding the new module mapping

11. Finalmente, abra PowerShell como administrador y ejecute el comando IISRESET para reiniciar Windows IIS. Esta acción es necesaria para que la nueva asignación de controlador surta efecto.

IISRESET 
Restarting the Windows IIS server

Implementar su primer sitio web

Ahora que tiene PHP instalado e IIS configurado, la parte más emocionante llega: implementar su sitio web. Pero primero, necesita un sitio web para implementar. Creará e implementará una página básica de PHP en su servidor IIS en este ejemplo.

1. Cree un nuevo archivo index.php en su editor de texto favorito en el directorio raíz del sitio web. En este ejemplo, el directorio raíz del sitio web es C:\inetpub\wwwroot\.

La extensión .php indica a IIS que el archivo index.php es una página PHP que debe ser procesada por el módulo de procesador PHP.

2. A continuación, agrega el siguiente código a tu nuevo archivo index.php, guarda los cambios y cierra el archivo.

El siguiente código indica a IIS que muestre un simple mensaje de “Hola Mundo” en una página PHP en tu navegador.

<?php
header('Content-Type: text/html; charset=UTF-8');
echo '<html><head><title>Hello World</title></head><body>Hello world!</body></html>';

3. Por último, abre una nueva pestaña en tu navegador web y navega hacia http://localhost/index.php para solicitar tu página index.php desde el servidor local de IIS. Haciendo esto puedes probar si tu implementación del sitio web funciona.

Si todo sale bien, verás el mensaje de Hola mundo! en la página index.php, como se muestra a continuación.

Testing the PHP (index.php) page

Gestión de Windows IIS a través del entorno de línea de comandos

¿Eres un gran fanático de usar CLI? ¡No hay problema! Aparte de la GUI, IIS también se puede gestionar utilizando el símbolo del sistema. Con esta herramienta, puedes gestionar casi todos los aspectos de IIS, incluidos sitios, aplicaciones, directorios virtuales, grupos de aplicaciones, etc.

En este tutorial, abordarás algunos de los comandos básicos para gestionar IIS. Pero para obtener una lista completa de todos los comandos disponibles de AppCmd.exe, consulta la documentación oficial de Microsoft.

1. Abra el símbolo del sistema como administrador y ejecute los siguientes comandos para enumerar todos los sitios web disponibles en su servidor IIS.

%systemroot%\system32\inetsrv\APPCMD list sites

Verá una lista de todos los sitios que se están ejecutando actualmente en su servidor y alguna información básica sobre cada sitio, como el ID, estado, etc.

¿Demasiado genérico? ¡No hay problema! También puede utilizar AppCmd.exe para consultar acerca de un sitio web específico en el siguiente paso para profundizar en la información que le interese.

Listing all the websites on your IIS server.

2. Ejecute el siguiente comando para obtener toda la información sobre el Sitio Web Predeterminado.

%systemroot%\system32\inetsrv\APPCMD list site "Default Web Site"
Listing all information about a specific website

3. A continuación, ejecute los siguientes comandos para detener un sitio web específico y enumerar todos los sitios detenidos (/state:Stopped).

Puede reemplazar el estado detenido con otros estados de sitios, como iniciar, ejecutar o desconocido.


%systemroot%\system32\inetsrv\APPCMD stop sites "Default Web Site"
%systemroot%\system32\inetsrv\APPCMD list sites /state:Stopped
Finding all websites that are currently stopped

4. Ahora, ejecute el siguiente comando, combinando múltiples criterios separados por un espacio, para filtrar aún más los resultados.

El comando a continuación enumera todos los sitios que están en un estado detenido (/state:Stopped) y tienen el inicio automático a nivel de servidor habilitado (/serverAutoStart:true).

%systemroot%\system32\inetsrv\APPCMD list sites /serverAutoStart:true /state:Stopped

5. Por último, ejecute el siguiente comando para iniciar el sitio web que detuvo en el paso tres (“Sitio Web Predeterminado”).

Starting a stopped website

Conclusión

Has visto cómo Windows IIS te permite gestionar tus sitios web. Y en este tutorial, has aprendido a instalar y configurar IIS en un servidor Windows para implementar y probar un sitio web básico de PHP. Windows IIS es una herramienta versátil que te permite gestionar tus sitios web a través de una interfaz gráfica de usuario y un entorno de línea de comandos.

Con este nuevo conocimiento, ¡estás listo para empezar a construir tus sitios web y aplicaciones en IIS! ¿Por qué no aprender cómo crear un sitio de WordPress en IIS próximo?

Source:
https://adamtheautomator.com/windows-iis/