Windows Server

Windows Server

Microsoft Most Value Professional

Microsoft Most Value Professional

Habilitando los servicios de Internet Information Services (IIS)



En Windows Server 2008 R2 Server Core podemos hacer uso de IIS como rol incluido en esta modalidad y habilitar la administración remota para tener una administración delegada bajo la consola de administración gráfica de IIS disponible a la fecha.

Existen múltiples componentes relacionados con los servicios de IIS, para consultar cuales son podemos ejecutar el siguiente comando:

dism /online /get-features /format:table | find /i "IIS"


Construir un servidor web con IIS7.5 Server Core

Construir un servidor web con IIS7.5 Server Core


Para habilitar el role de IIS y su componente principal, procedemos a ejecutar lo siguiente:

  • dism /online /enable-feature /featurename:IIS-WebServerRole
    • /featurename:IIS-WebServer
    • /featurename:IIS-CommonHttpFeatures
    • /featurename:IIS-StaticContent
    • /featurename:IIS-DefaultDocument
    • /featurename:IIS-DirectoryBrowsing
    • /featurename:IIS-HttpErrors
    • /featurename:IIS-ApplicationDevelopment
    • /featurename:IIS-HealthAndDiagnostics
    • /featurename:IIS-HttpLogging
    • /featurename:IIS-LoggingLibraries
    • /featurename:IIS-RequestMonitor
    • /featurename:IIS-Security
    • /featurename:IIS-RequestFiltering
    • /featurename:IIS-HttpCompressionStatic
    • /featurename:IIS-WebServerManagementTools
    • /featurename:WAS-WindowsActivationService
    • /featurename:WAS-ProcessModel
    • /featurename:IIS-CGI


Construir un servidor web con IIS7.5 Server Core

Construir un servidor web con IIS7.5 Server Core


Habilitando la administración remota


Para habilitar la administración remota debemos activar IIS Management Services así como los servicios de WAS-WindowsActivationService y WAS-ConfigurationAPI (primero se habilita el .NET Framework ya que es requisito para luego habilitar estos componentes):

  • dism /onlie /enable-feature /featurename:NetFx2-ServerCore
  • dism /online /enable-feature /featurename:IIS-ManagementService
  • dism /online /enable-feature /featurename:WAS-WindowsActivationService
  • dism /online /enable-feature /featurename:WAS-ConfigurationAPI

Una vez activados los componentes necesarios, procedemos a guardar en el registro del sistema la habilitación de la administración remota y finalmente cambiamos el estado del servicio de Stopped a Start:

Regedit/ Add/ HKLM /Software /Microsoft /WebManagementServer /V EnableRemoteManagement /T REG_DWORD /D 1

net start wmsvc
Construir un servidor web con IIS7.5 Server Core

Construir un servidor web con IIS7.5 Server Core


Administrando el servidor web de forma remota


Para empezar a administrar el IIS de este servidor Server Core, abrimos la consola de administración de IIS (debe estar habilitada en Windows Vista/7) y seleccionamos la opción “Conectar a un servidor” donde suministramos los datos necesarios (nombre del equipo remoto, usuario, clave). Puedes conseguir mayor información de estos pasos en mi artículo Administrar IIS de forma remota.

Habilitando ASP.NET y PHP en el servidor web


Una vez que tenemos habilitado los servicios de IIS en Windows Server 2008 R2 Server Core, comenzamos a habilitar las tecnologías de desarrollo y scripting que queremos que soporte nuestro servidor web. Para esta entrega, veremos cómo configurar ASP.NET y PHP.

Antes de comenzar, debemos descargar los paquetes correspondientes a PHP y colocarlos en un directorio en el equipo o máquina virtual donde estamos configurando el servidor.

Configurando ASP.NET


Para habilitar ASP.NET primero debemos configurar algunos componentes asociados como el .NET Framework, filtros y extensiones ISAPI. La ejecución de comando quedaría de la siguiente forma:


  • dism /online /enable-feature /featurename:NetFx2-ServerCore
  • dism /online /enable-feature /featurename:NetFx3-ServerCore
  • dism /online /enable-feature /featurename:IIS-ISAPIFilter
  • dism /online /enable-feature /featurename:IIS-ISAPIExtensions
  • dism /online /enable-feature /featurename:IIS-NetFxExtensibility
  • dism /online /enable-feature /featurename:IIS-ASPNET


Configurando PHP


Para habilitar PHP debemos validar primero que esté habilitado el component IIS-CGI . Descargamos PHP (al momento de escribir este artículo hice la prueba con la versión 5.2.12) y lo copiamos en el servidor que estamos trabajando, luego ejecutamos 2 comando donde el primero registra PHP en el ambiente de ejecución de FastCGI y el segundo configura la extensión. Navegamos hasta el directorio

  • C:\Windows\System32\inetsrv\


y ejecutamos lo siguiente:


  • appcmd set config /section:system.webServer/fastCGI /+[fullPath=’C:phpphp-cgi.exe’]
  • appcmd set config /section:system.webServer/handlers /+[name=’PHP-FastCGI’,path=’*.php’,verb=’*’,modules=’FastCgiModule’,scriptProcessor=’C:phpphp-cgi.exe’,resourceType=’Either’]


Podemos probar el funcionamiento de PHP creando un script sencillo y colocan dolo en c:\inetpub\wwwroot\ . Podemos utilizar el siguiente script para el test:


  • < ?php phpinfo(); ?>


Habilitando funciones de cache en el servidor web y para PHP


IIS7.5 cuenta con distintas versiones para el manejo de cache de la información que circula en el servidor web, algunos orientados a documentos, a extensiones, documentos estáticos y dinámicos, entre otros.

Elemento <caching>


Este elemento permite manejar cache para el contenido de salida de las páginas, pudiéndose manejar en un modo usuario, modo kernel o mixto y límites para configurar el cache. Éste puede ser configurado en ApplicationHost.config o en niveles inferiores como sitios web. Este elemento consta de varios atributos a configurar:
Este elemento permite manejar cache para el contenido de salida de las páginas, pudiéndose manejar en un modo usuario, modo kernel o mixto y límites para configurar el cache. Éste puede ser configurado en ApplicationHost.config o en niveles inferiores como sitios web. Este elemento consta de varios atributos a configurar:
enabled: Es opcional. Valor True/False. Valida si el chaching está activo o no. El valor por defecto es True
enableKernelCache: Es opcional. Valor True/False. Especifica si el modo kernel cache está activo o no. El valor por defecto es True
maxCacheSize: Es opcional. Valor entero. Especifica la capacidad máxima para el cache de salida. Debe configurarse en ApplicationHost.config. El valor por defecto es 0
maxResponseSize: Es opcional. Valor entero. Especifica el tamaño máximo de respuesta que será guardado en cache. Debe configurarse en ApplicationHost.config. El valor por defecto es 262144
Para configurar, podemos hacerlo de la siguiente manera:


  1. En la consola nos movemos al directorio C:\Windows\System32\inetsrv\
  2. Tecleamos el siguiente comando (este ejemplo se hace con las paginas de asp.net):
  • appcmd.exe set config -section:system.webServer/caching /+”profiles.[extension=’aspx’,policy=’CacheUntilChange’,kernelCachePolicy=’CacheUntilChange’]” /commit:apphost


Cache para PHP, WinCache


Para manejo de cache en PHP podemos utilizar una extensión desarrollada en conjunto Microsoft/PHP Team que va a permitir manejar de forma nativa el manejo del cache e inclusive el monitoreo de comportamiento. Esta extensión para PHP pueden descargarla de PECL PHP – WinCache o de IIS Expand – WinCache . Para configurar realizamos los siguientes pasos:


  • Descargamos Windows Cache Extensión  donde conseguiremos en su estructura de archivos una DLL llamada php_wincache.dll . Este archivo lo copiaremos a la carpeta ext del directorio de PHP y en php.ini registraremos esta extensión. Para editar el php.ini desde la consola pueden ejecutar el siguiente comando
    • notepad C:\phpphp.ini
  • Una vez ejecutado el paso anterior, podemos probar el funcionamiento de este cache usando un archivo llamado wincache.php dentro de la estructura descargada de winCache . Este archivo lo podemos copiar en nuestro sitio web de IIS. Antes de ejecutarlo debemos cambiar usuario y clave dentro del script y luego lo podemos consultar por el explorador web. Para conocer más de WinCache pueden consultar PHP: WinCache – Manual


Resumen
Construir un servidor web con IIS7.5 Server Core
Nombre del artículo
Construir un servidor web con IIS7.5 Server Core
Descripción
Construir un servidor web con IIS7.5 Server Core Habilitando los servicios de Internet Information Services (IIS) En Windows Server 2008 R2 Server Core podemos hacer uso de IIS como rol incluido en esta modalidad y habilitar la administración remota para tener una administración delegada bajo la consola de administración gráfica de IIS disponible a la fecha. Existen múltiples componentes relacionados con los servicios de IIS, para consultar cuales son podemos ejecutar el siguiente comando: dism /online /get-features /format:table | find /i “IIS”
Autor
Nombre del editor
alukard999
Logotipo del editor