Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este tema se describe cómo configurar un servidor web de Internet Information Services (IIS) para admitir la publicación web y la implementación mediante el controlador de implementación web de IIS.
Al trabajar con Web Deploy 2.0 o posterior, hay tres enfoques principales que puede usar para obtener las aplicaciones o sitios en un servidor web. Ustedes pueden:
- Utilice el servicio Web Deploy Remote Agent. Este enfoque requiere menos configuración del servidor web, pero debe proporcionar las credenciales de un administrador de servidor local para implementar cualquier cosa en el servidor.
- Use el controlador de implementación web. Este enfoque es mucho más complejo y requiere más esfuerzo inicial para configurar el servidor web. Sin embargo, al usar este enfoque, puede configurar IIS para permitir que los usuarios que no son administradores realicen la implementación. El controlador de implementación web solo está disponible en la versión 7 o posterior de IIS.
- Utilice la implementación sin conexión. Este enfoque requiere la menor configuración del servidor web, pero un administrador del servidor debe copiar manualmente el paquete web en el servidor e importarlo a través del Administrador de IIS.
Para obtener más información sobre las características, ventajas y desventajas clave de estos enfoques, consulte Elección del enfoque adecuado para la implementación web.
Sí, si desea permitir que los usuarios que no son administradores implementen contenido en sitios web de IIS específicos. Este enfoque suele ser deseable en estos tipos de escenarios:
- Los entornos de ensayo o producción, donde es poco probable que la persona o la cuenta de servicio que desencadene la implementación remota tengan acceso a las credenciales de un administrador del servidor.
- Entornos hospedados, donde desea conceder a los usuarios remotos la capacidad de actualizar sus sitios web sin darles control total de los servidores web (o acceso a los sitios web de cualquier otra persona).
En escenarios de desarrollo o prueba, o en organizaciones más pequeñas, la implementación de contenido mediante credenciales de administrador del servidor suele ser menos contensa. En estos escenarios, la configuración de los servidores web para admitir la implementación mediante el servicio web Web Deploy Remote Agent ofrece un enfoque más sencillo.
Información general sobre tareas
Para configurar el servidor web para que acepte e implemente paquetes web desde un equipo remoto mediante el enfoque controlador de implementación web, deberá hacer lo siguiente:
- Cree o elija una cuenta de usuario de dominio (el "usuario que no es administrador") cuyas credenciales usará para realizar implementaciones.
- Instale IIS 7.5, incluido el servicio de administración web y el módulo autenticación básica.
- Instale Web Deploy 2.1 o posterior.
- Configure el servicio de administración web para permitir conexiones remotas e iniciar el servicio.
- Cree un sitio web de IIS para hospedar el contenido implementado.
- Conceda permisos de usuario que no son administradores en su sitio web en el Administrador de IIS.
- Asegúrese de que las reglas de delegación del servicio de administración web permiten que el servicio agregue y cambie el contenido del sitio web mediante su cuenta de usuario que no sea administrador.
- Configure los firewalls para permitir conexiones entrantes en el puerto 8172.
Para hospedar específicamente la solución de ejemplo de ContactManager, también deberá:
- Instale .NET Framework 4.0.
- Instale ASP.NET MVC 3.
En este tema se muestra cómo realizar cada uno de estos procedimientos. En las tareas y tutoriales de este apartado se supone que empieza con una instalación de servidor limpia que está ejecutando Windows Server 2016. Antes de continuar, asegúrese de que:
- Windows Server 2016
- El servidor está unido a un dominio.
- El servidor tiene una dirección IP estática.
Nota:
Para obtener más información sobre cómo unir equipos a un dominio, consulte Unión de equipos al dominio y inicio de sesión. Para obtener más información sobre cómo configurar direcciones IP estáticas, vea Configurar una dirección IP estática.
Instalar productos y componentes
Esta sección le guiará a través de la instalación de los productos y componentes necesarios en el servidor web. Antes de empezar, se recomienda ejecutar Windows Update para asegurarse de que el servidor está totalmente actualizado.
En este caso, debe instalar estas cosas:
- Configuración recomendada de IIS 7. Esto habilita el rol servidor web (IIS) en el servidor web e instala el conjunto de módulos y componentes de IIS que necesita para hospedar una aplicación de ASP.NET.
- IIS: Servicio de administración. Esto instala el servicio de administración web (WMSvc) en IIS. Este servicio permite la administración remota de sitios web de IIS y expone el punto de conexión del controlador de Web Deploy a los clientes.
- IIS: autenticación básica. Esto instala el módulo autenticación básica de IIS. Esto permite que el servicio de administración web (WMSvc) autentique las credenciales que proporcione.
- Herramienta de implementación web 2.1 o posterior. Esto instala Web Deploy (y su ejecutable subyacente, MSDeploy.exe) en el servidor. Como parte de este proceso, instala el controlador de implementación web e lo integra con el servicio de administración web.
- .NET Framework 4.0. Esto es necesario para ejecutar aplicaciones que se compilaron en esta versión de .NET Framework.
- ASP.NET MVC 3. Esto instala los ensamblados que necesita para ejecutar aplicaciones MVC 3.
Nota:
En este tutorial se describe el uso del Instalador de plataforma web para instalar y configurar varios componentes. Aunque no tiene que usar el Instalador de plataforma web, simplifica el proceso de instalación detectando automáticamente las dependencias y asegurándose de que siempre obtiene las versiones más recientes del producto. Para obtener más información, consulte Instalador de plataforma web de Microsoft.
Para instalar los productos y componentes necesarios
Descargue e instale el Instalador de plataforma web.
Una vez completada la instalación, el instalador de plataforma web se iniciará automáticamente.
Nota:
Ahora puede iniciar el Instalador de plataforma web en cualquier momento desde el menú Inicio . Para ello, en el menú Inicio , haga clic en Todos los programas y, a continuación, haga clic en Instalador de plataforma web de Microsoft.
En la parte superior de la ventana Instalador de plataforma web , haga clic en Productos.
En el lado izquierdo de la ventana, en el panel de navegación, haga clic en Frameworks.
En la fila Microsoft .NET Framework 4 , si .NET Framework aún no está instalado, haga clic en Agregar.
Nota:
Es posible que ya haya instalado .NET Framework 4.0 a través de Windows Update. Si un producto o componente ya está instalado, el Instalador de plataforma web indicará esto reemplazando el botón Agregar por el texto Instalado.
En la fila ASP.NET MVC 3 (Visual Studio 2010), haga clic en Agregar.
En el panel de navegación, haga clic en Servidor.
En la fila Configuración recomendada de IIS 7 , haga clic en Agregar.
En la fila Web Deployment Tool 2.1 , haga clic en Agregar.
En la fila IIS: Autenticación básica , haga clic en Agregar.
En la fila IIS: Servicio de administración , haga clic en Agregar.
Haga clic en Instalar. El Instalador de plataforma web le mostrará una lista de productos (junto con las dependencias asociadas) que se van a instalar y le pedirá que acepte los términos de licencia.
Revise los términos de licencia y, si da su consentimiento a los términos, haga clic en Acepto.
Una vez completada la instalación, haga clic en Finalizar y, a continuación, cierre la ventana Instalador de plataforma web .
Si instaló .NET Framework 4.0 antes de instalar IIS, deberá ejecutar la herramienta de registro de IIS de ASP.NET (aspnet_regiis.exe) para registrar la versión más reciente de ASP.NET con IIS. Si no lo hace, encontrará que IIS servirá contenido estático (como archivos HTML) sin problemas, pero devolverá el error HTTP 404.0: no encontrado al intentar navegar a ASP.NET contenido. Puede usar el siguiente procedimiento para asegurarse de que ASP.NET 4.0 está registrado.
Para registrar ASP.NET 4.0 con IIS
Haga clic en Inicio; a continuación, escriba Símbolo del sistema.
En los resultados de la búsqueda, haga clic con el botón derecho en Símbolo del sistema y, a continuación, haga clic en Ejecutar como administrador.
En la ventana de símbolo del sistema, navegue al directorio %WINDIR%\Microsoft.NET\Framework\v4.0.30319.
Escriba este comando y presione Entrar:
aspnet_regiis -iruSi planea hospedar aplicaciones web de 64 bits en cualquier momento, también debe registrar la versión de 64 bits de ASP.NET con IIS. Para ello, en la ventana de comandos, navegue al directorio %WINDIR%\Microsoft.NET\Framework64\v4.0.30319.
Escriba este comando y presione Entrar:
aspnet_regiis -iru
Como procedimiento recomendado, use Windows Update de nuevo en este momento para descargar e instalar las actualizaciones disponibles para los nuevos productos y componentes que ha instalado.
Configuración del servicio de administración web
Ahora que ha instalado todo lo que necesita, el siguiente paso es configurar el servicio de administración web en IIS. En un nivel alto, deberá completar estas tareas:
- Habilite la autenticación básica en el nivel de servidor.
- Configure el servicio de administración web para aceptar conexiones remotas.
- Inicie el servicio de administración web.
- Compruebe que las reglas de delegación del servicio de administración web necesarias están en vigor.
Para configurar el servicio de administración web
En el menú Inicio, seleccione Herramientas administrativas y, a continuación, haga clic en Administrador de Internet Information Services (IIS).
En el Administrador de IIS, en el panel Conexiones , haga clic en el nodo de servidor (por ejemplo, STAGEWEB1).
En el panel central, en IIS, haga doble clic en Autenticación.
Haga clic con el botón derecho en Autenticación básica y, a continuación, haga clic en Habilitar.
En el panel Conexiones , vuelva a hacer clic en el nodo de servidor para volver a la configuración de nivel superior.
En el panel central, en Administración, haga doble clic en Servicio de administración.
En el panel central, seleccione Habilitar conexiones remotas.
Nota:
Si el servicio de administración web ya se está ejecutando, primero deberá detenerlo.
En el panel Acciones , haga clic en Iniciar para iniciar el servicio de administración web.
Si se le pide que guarde la configuración, haga clic en Sí.
Nota:
También puede configurar el servicio para que se inicie automáticamente. Para ello, abra la consola servicios, haga clic con el botón derecho en Servicio de administración web y, a continuación, haga clic en Propiedades. En la lista desplegable Tipo de inicio , seleccione Automático y, a continuación, haga clic en Aceptar.
En el panel Conexiones , vuelva a hacer clic en el nodo de servidor para volver a la configuración de nivel superior.
En el panel central, en Administración, haga doble clic en Delegación del servicio de administración.
Compruebe que el panel central contiene un conjunto de reglas.
Estas reglas permiten a los usuarios autorizados del servicio de administración web usar varios proveedores de Web Deploy. Por ejemplo, para implementar aplicaciones web y contenido en IIS a través del controlador de implementación web, debe haber una regla de delegación que permita a todos los usuarios autenticados del servicio de administración web usar los proveedores contentPath e iisApp (la última regla que puede ver en la captura de pantalla).
Si instaló productos y componentes en el orden descrito en este tema, la versión más reciente de Web Deploy debería agregar automáticamente todas las reglas de delegación necesarias al servicio de administración web. Si la página Delegación del servicio de administración no muestra ninguna regla, deberá crearlas usted mismo. Para obtener instrucciones sobre cómo hacerlo, consulte Configuración del controlador de implementación web.
En el panel Conexiones , vuelva a hacer clic en el nodo de servidor para volver a la configuración de nivel superior.
Creación y configuración de un sitio web de IIS
Para poder implementar contenido web en el servidor, debe crear y configurar un sitio web de IIS para hospedar el contenido. Web Deploy solo puede implementar paquetes web en un sitio web de IIS existente; no puede crear el sitio web automáticamente. También debe realizar una pequeña configuración adicional para permitir que una cuenta que no es de administrador implemente contenido de forma remota. En un nivel alto, deberá completar estas tareas:
- Cree una carpeta en el sistema de archivos para hospedar el contenido.
- Cree un sitio web de IIS para servir el contenido y asócielo a la carpeta local.
- Conceda permisos de lectura a la identidad del grupo de aplicaciones en la carpeta local.
- Conceda los permisos de IIS necesarios a la cuenta de dominio que implementará la aplicación web.
Aunque no hay nada que impida implementar contenido en el sitio web predeterminado en IIS, este enfoque no se recomienda para escenarios de prueba o demostración. Para simular un entorno de producción, debe crear un nuevo sitio web de IIS con la configuración específica de los requisitos de la aplicación.
Para crear un sitio web de IIS
En el sistema de archivos local, cree una carpeta para almacenar el contenido (por ejemplo, C:\DemoSite).
En el menú Inicio, seleccione Herramientas administrativas y, a continuación, haga clic en Administrador de Internet Information Services (IIS).
En el Administrador de IIS, en el panel Conexiones , expanda el nodo de servidor (por ejemplo, STAGEWEB1).
Haga clic con el botón derecho en el nodo Sitios y, a continuación, haga clic en Agregar sitio web.
En el cuadro Nombre del sitio , escriba un nombre para el sitio web de IIS (por ejemplo, DemoSite).
En el cuadro Ruta de acceso física , escriba (o busque) la ruta de acceso a la carpeta local (por ejemplo, C:\DemoSite).
En el cuadro Puerto , escriba el número de puerto en el que desea hospedar el sitio web (por ejemplo, 85).
Nota:
Los números de puerto estándar son 80 para HTTP y 443 para HTTPS. Sin embargo, si aloja este sitio web en el puerto 80, deberá detener el sitio web predeterminado antes de poder acceder al suyo.
Deje el cuadro Nombre de host en blanco, a menos que desee configurar un registro del Sistema de nombres de dominio (DNS) para el sitio web y, a continuación, haga clic en Aceptar.
Nota:
En un entorno de producción, es probable que quiera hospedar el sitio web en el puerto 80 y configurar un encabezado de host, junto con registros DNS coincidentes. Para obtener más información sobre cómo configurar encabezados de host en IIS 7, vea Configurar un encabezado de host para un sitio web (IIS 7). Para obtener más información sobre el rol servidor DNS en Windows Server, consulte Información general sobre el servidor DNS.
En el panel Acciones , en Editar sitio, haga clic en Enlaces.
En el cuadro de diálogo Enlaces de sitio , haga clic en Agregar.
En el cuadro de diálogo Agregar enlace de sitio, establezca la dirección IP y el puerto para que coincidan con la configuración del sitio existente.
En el cuadro Nombre de host , escriba el nombre del servidor web (por ejemplo, STAGEWEB1) y, a continuación, haga clic en Aceptar.
Nota:
La primera configuración de enlace del sitio le permite acceder al sitio localmente mediante la dirección IP y el puerto o
http://localhost:85. El segundo enlace de sitio permite acceder al sitio desde otros equipos del dominio mediante el nombre de equipo (por ejemplo, http://stageweb1:85).En el cuadro de diálogo Enlaces de sitio , haga clic en Cerrar.
En el panel Conexiones , haga clic en Grupos de aplicaciones.
En el panel Grupos de aplicaciones , haga clic con el botón derecho en el nombre del grupo de aplicaciones y, a continuación, haga clic en Configuración básica. De forma predeterminada, el nombre del grupo de aplicaciones coincidirá con el nombre del sitio web (por ejemplo, DemoSite).
En la lista versión de .NET CLR , seleccione .NET CLR v4.0.30319 y, a continuación, haga clic en Aceptar.
Nota:
La solución de ejemplo requiere .NET Framework 4.0. Esto no es un requisito para Web Deploy en general.
Para que el sitio web proporcione contenido, la identidad del grupo de aplicaciones debe tener permisos de lectura en la carpeta local que almacena el contenido. En IIS 7.5, los grupos de aplicaciones se ejecutan con una identidad de grupo de aplicaciones única de forma predeterminada (a diferencia de las versiones anteriores de IIS, donde los grupos de aplicaciones normalmente se ejecutarían con la cuenta de servicio de red). La identidad del grupo de aplicaciones no es una cuenta de usuario real y no aparece en ninguna lista de usuarios o grupos; en su lugar, se crea dinámicamente cuando se inicia el grupo de aplicaciones. Cada identidad del grupo de aplicaciones se agrega al grupo de seguridad local IIS_IUSRS como un elemento oculto.
Para conceder permisos a una identidad del grupo de aplicaciones en un archivo o carpeta, tiene dos opciones:
- Asigne permisos a la identidad del grupo de aplicaciones directamente, con el formato IIS AppPool(nombre del grupo de aplicaciones) (por ejemplo, AppPool de IIS\DemoSite).
- Asigne permisos al grupo de IIS_IUSRS .
El enfoque más común es asignar permisos al grupo de IIS_IUSRS local, ya que este enfoque permite cambiar los grupos de aplicaciones sin volver a configurar los permisos del sistema de archivos. El siguiente procedimiento usa este enfoque basado en grupos.
Nota:
Para más información sobre las identidades del grupo de aplicaciones en IIS 7.5, consulte Identidades del grupo de aplicaciones.
Para configurar permisos de carpeta para un sitio web de IIS
En el Explorador de Windows, vaya a la ubicación de la carpeta local.
Haga clic con el botón derecho en la carpeta y, a continuación, haga clic en Propiedades.
En la pestaña Seguridad , haga clic en Editary, a continuación, haga clic en Agregar.
Haga clic en Ubicaciones. En el cuadro de diálogo Ubicaciones , seleccione el servidor local y, a continuación, haga clic en Aceptar.
En el cuadro de diálogo Seleccionar usuarios o grupos , escriba IIS_IUSRS, haga clic en Comprobar nombresy, a continuación, haga clic en Aceptar.
En el cuadro de diálogo Permisos para (nombre de carpeta), observe que al nuevo grupo se le ha asignado los permisos Leer y ejecutar, Enumerar contenido de la carpeta y Leer de forma predeterminada. Deje esto sin cambios y haga clic en Aceptar.
Haga clic en Aceptar para cerrar el cuadro de diálogo Propiedades (nombre de carpeta ).
Como tarea final, debe conceder los permisos adecuados al usuario que no es administrador cuyas credenciales usará para implementar contenido. Este usuario requiere los permisos para implementar contenido de forma remota en el sitio web.
Para configurar permisos de sitio web de IIS para un usuario de dominio que no sea administrador
En el Administrador de IIS, en el panel Conexiones , haga clic con el botón derecho en el nodo del sitio web (por ejemplo, DemoSite), seleccione Implementar y, a continuación, haga clic en Configurar publicación de web Deploy.
En el cuadro de diálogo Configurar publicación de Web Deploy, a la derecha de la lista Seleccionar un usuario para conceder permisos de publicación, haga clic en el botón de puntos.
En el cuadro de diálogo Permitir usuario , escriba el dominio y el nombre de usuario de la cuenta que desea usar para implementar contenido y, a continuación, haga clic en Aceptar.
En el cuadro de diálogo Configurar Implementación Web, haga clic en Configurar.
Nota:
Esta operación realiza dos funciones clave en un paso. En primer lugar, concede al usuario permiso para modificar el sitio web de forma remota a través del servicio de administración web, según las reglas de delegación que examinó en la sección anterior. En segundo lugar, concede al usuario el control total de la carpeta de origen del sitio web, que permite al usuario agregar, modificar y establecer permisos en el contenido del sitio web.
En el cuadro de diálogo Configurar Publicación de Web Deploy, haga clic en Cerrar.
Configuración de excepciones de firewall
De forma predeterminada, el servicio de administración web de IIS escucha en el puerto TCP 8172. Si Firewall de Windows está habilitado en el servidor web, deberá crear una nueva regla de entrada para permitir el tráfico TCP en el puerto 8172 (todo el tráfico saliente está permitido de forma predeterminada en Firewall de Windows). Si usa un firewall de terceros, deberá crear reglas para permitir el tráfico.
| Direction | Desde el puerto | Puerto | Tipo de puerto |
|---|---|---|---|
| Entrante | Cualquiera | 8172 | TCP |
| Outbound | 8172 | Cualquiera | TCP |
Para obtener más información sobre cómo configurar reglas en firewall de Windows, consulte Configuración de reglas de firewall. Para firewalls de terceros, consulte la documentación del producto.
Conclusión
El servidor web ahora debe estar listo para aceptar implementaciones remotas en el controlador de implementación web a través del servicio de administración web. Antes de intentar implementar una aplicación web en el servidor, es posible que desee comprobar estos puntos clave:
- ¿Ha habilitado la autenticación básica en el nivel de servidor en IIS?
- ¿Ha habilitado conexiones remotas al servicio de administración web?
- ¿Ha iniciado el servicio de administración web?
- ¿Existen reglas de delegación de servicios de administración?
- ¿La identidad del grupo de aplicaciones tiene acceso de lectura a la carpeta de origen del sitio web?
- ¿La cuenta de usuario que no es administrador tiene permisos de nivel de sitio en IIS?
- ¿El firewall permite las conexiones entrantes al servidor en el puerto TCP 8172?
Lecturas adicionales
Para obtener instrucciones sobre cómo configurar archivos de proyecto personalizados del motor de compilación de Microsoft (MSBuild) para implementar paquetes web en el controlador de implementación web, consulte Configuración de propiedades de implementación para un entorno de destino.