Configuración del controlador de implementación web
de Faith A.
En esta guía se proporciona información general básica de los pasos para configurar el controlador de implementación web en el servidor hospedado y probar que un usuario puede implementar aplicaciones... Esta configuración usará la información de este documento para instalar la herramienta de implementación web en un nuevo servidor y configurar las opciones recomendadas.
Requisitos previos
Esta guía requiere los siguientes requisitos previos:
- .NET Framework 2.0 SP1 o superior
- Herramienta de implementación web 1.0 o 1.1
- IIS 7 o posterior con el servicio de administración web (WMSvc) instalado
Nota: Si aún no ha instalado la Herramienta de implementación web, consulte Instalación de la Herramienta de implementación web.
Descripción del controlador de implementación web
El controlador se integra con el servicio de administración web (WMSVC) que se incluye con IIS 7.0 en Windows Server 2008 e IIS 7.5 en Windows 2008 R2.
En primer lugar, debe crear una cuenta (ya sea una cuenta de Usuario del Administrador de IIS o una cuenta de Windows) para el usuario. Para obtener más información sobre cómo crear cuentas de usuario del Administrador de IIS, consulte Configuración de la Administración remota y delegación de características en IIS.
En segundo lugar, el usuario debe estar autorizado para conectarse a su sitio web mediante WMSVC. Puede usar la característica Permisos del administrador de IIS en el Administrador de IIS para conceder a los usuarios el derecho de conectarse de forma remota a sus sitios web.
En tercer lugar, un usuario también debe estar autorizado para realizar implementaciones mediante la Herramienta de implementación web. Puede usar la característica Delegación del servicio de administración en el Administrador de IIS para crear reglas de delegación que permitan a los usuarios realizar implementaciones en sus sitios web y a ningún otro usuario.
En el diagrama siguiente se muestra cómo un usuario está conectado y autorizado por WMSVC, antes de que la solicitud de implementación se enrute al controlador y se autorice con las propias reglas del controlador. Esta guía rápida le ayudará a configurar las reglas necesarias para permitir que un usuario implemente aplicaciones IIS con contenido, establezca permisos de archivo e implemente bases de datos.
Parte 1: Configuración de permisos de administrador de WMSVC e IIS
- Instale IIS y el servicio de administración web en el servidor de Windows Server 2008.
- Configure WMSVC para que se permitan las conexiones remotas.
a. Abra el Administrador de IIS.
b. Seleccione el nodo de servidor.
c. En la Vista características del servidor, haga doble clic en el icono Servicio de administración.
d. Asegúrese de que la casilla Habilitar conexiones remotas esté seleccionada. Si la casilla no está seleccionada y marcada, use el panel Acciones para detener el servicio WMSvc. Esto le permitirá activar la casilla.
e. En el panel Acciones de la derecha, haga clic en Iniciar. La casilla Habilitar conexiones remotas se seleccionará y aparecerá marcada. - Asigne a la cuenta en la que WMSvc ejecuta (por ejemplo, servicio local) permisos de control total en el directorio del cliente.
- Después de crear un sitio web para el usuario, permita al usuario acceder a su sitio web.
a. Abra el Administrador de IIS. b. Seleccione el sitio web que el usuario administrará de forma remota.
c. En la Vista características, haga doble clic en el icono Permisos del Administrador de IIS. d. En la página Permisos del administrador de IIS, en el panel Acciones, haga clic en Permitir usuario.
e. En el cuadro de diálogo Permitir usuario, seleccione el tipo de usuario (Administrador de WINDOWS o IIS) y haga clic en Seleccionar para elegir la cuenta del usuario.
f. Haga clic en Aceptar para cerrar el cuadro de diálogo Permitir usuario.
Para obtener más información sobre las cuentas de usuario del Administrador de IIS, consulte Permitir que una cuenta de usuario del Administrador de IIS Conectar a un sitio o a una aplicación (IIS 7).
Parte 2: Crear reglas de delegación para usuarios de Web Deploy
- Si aún no lo ha hecho, descargue la herramienta Implementación web e instálela en el servidor web.
- Cree reglas de delegación para la funcionalidad web Deploy (proveedores) que desea permitir a los usuarios tener. Para permitir que un usuario implemente aplicaciones y contenido en su sitio web:
a. Abra el Administrador de IIS.
b. Seleccione el nodo de servidor.
c. En la Vista características del servidor, haga doble clic en el icono Delegación del servicio de administración.
d. En el panel Acciones de la derecha, haga clic en Agregar regla…
e. Seleccione la plantilla de regla Implementar aplicaciones con contenido. Esta plantilla crea una regla que permite que cualquier usuario autorizado de WMSVC use los proveedores contentPath e iisApp de Web Deploy para implementar aplicaciones en su ámbito de usuario.
f. Haga clic en Aceptar para abrir la plantilla.
g. Haga clic en Aceptar para crear la regla.
h. En el cuadro de diálogo Agregar usuario a regla, escriba un asterisco (*). Esto permitirá a cada usuario implementar aplicaciones en su ámbito de usuario.
NOTA: Si desea realizar la sincronización solo de administrador, vaya a la página Delegación del servicio de administración. En el panel Acciones, haga clic en Editar configuración de características y, a continuación, seleccione Permitir que los administradores omitan reglas.
Marcar carpetas como regla de aplicaciones
Para permitir que cada usuario cree una aplicación dentro de su sitio web:
a. Haga clic en Agregar regla… b. Seleccione la plantilla de regla Marcar carpetas como aplicaciones. Esta plantilla permite que todos los usuarios autorizados de WMSVC usen el proveedor createApp de Web Deploy para crear aplicaciones dentro del ámbito de usuario. Las aplicaciones heredarán toda la configuración del elemento primario, incluido el grupo de aplicaciones. c. Haga clic en Aceptar para abrir la plantilla.
d. En la sección RunAs, seleccione SpecificUser para el Tipo de identidad y haga clic en el botón Establecer... para especificar una cuenta de usuario que realizará esta operación. Para que esta regla funcione, la regla debe ejecutarse como un usuario que tenga acceso para escribir en el archivo applicationHost.config. Se recomienda crear una cuenta (por ejemplo, "CreateAppUser") que no esté en el grupo Administradores y conceda solo los permisos mínimos necesarios. Para hacerlo:- Cree una cuenta de usuario.
- Conceder permiso de lectura a
%windir%\system32\inetsrv\config
. - Conceda permiso de modificación a
%windir%\system32\inetsrv\config\applicationHost.config
.
En el cuadro de diálogo Agregar usuario a regla, escriba un asterisco (*). Esto permitirá que cada usuario cree aplicaciones dentro de su sitio web.
Implementar regla de bases de datos
- Para permitir que los usuarios implementen bases de datos en sus sitios web:
a. Haga clic en Agregar regla... b. Seleccione la plantilla de regla Implementar bases de datos. Esta plantilla permite a los usuarios autorizados de WMSVC (como se establece en la parte 1) implementar bases de datos en servidores de bases de datos SQL. c. Haga clic en Aceptar para abrir la plantilla.
d. Agregue una ruta de acceso para autorizar, como Server=Server1, para permitir que cualquier usuario implemente en este servidor con sus credenciales de SQL o Server=Server1; Database={userName}_db1 restringir a bases de datos específicas que coincidan con su nombre de usuario.
e. Haga clic en Aceptar para crear la regla. - En el cuadro de diálogo Agregar usuario a regla, escriba un asterisco (*). Esto permitirá a cada usuario implementar bases de datos en su sitio web.
Establecimiento de reglas de permisos
- Para permitir que cada usuario implemente aplicaciones y contenido en su sitio web:
a. Haga clic en Seleccionar plantilla de regla… b. Seleccione la plantilla de regla Establecer permisos. Esta plantilla permite que cualquier usuario autorizado de WMSVC establezca ACL en el sistema de archivos. c. Haga clic en Aceptar para abrir la plantilla.
d. Haga clic en Aceptar para crear la regla. - En el cuadro de diálogo Agregar usuario a regla, escriba un asterisco (*). Esto permitirá que cada usuario implemente aplicaciones y contenido en su propio sitio web.
Opcionalmente, habilite el seguimiento para WMSvc
Si quiere habilitar el seguimiento para WMSvc, consulte Configuración del seguimiento del servicio de administración web. Los registros de seguimiento se almacenan en %systemdrive%\inetpub\logs\wmsvc\tracinglogfiles\w3svc1
.
Parte 3: Probar la Conectar del usuario en el sitio web
- Descargue e instale la herramienta de implementación web en un equipo cliente que tenga instalado el Administrador remoto de IIS o use el servidor local. Se recomienda probar primero el servidor local para aislar cualquier problema que pueda deberse a la configuración de red, firewall o proxy.
- Pruebe la conexión al sitio web del usuario mediante las credenciales que creó para el usuario:
a. Abra el Administrador de IIS.
b. Haga clic con el botón derecho en el nodo Página de inicio.
c. Seleccione Conectar a un sitio... (Nota: no seleccione Conectar a un servidor)
d. En el cuadro de texto Nombre de servidor, escriba localhost.
e. En el cuadro de texto Nombre del sitio, escriba el nombre del sitio web del usuario que ha habilitado para la administración remota.
f. Haga clic en Next.
g. En el cuadro de texto Nombre de usuario, escriba el usuario que autorizó para el sitio web.
h. En el cuadro de texto Contraseña, escriba la contraseña de usuario.
i. Haga clic en Siguiente para completar la conexión. Es posible que se le pida que confíe en el certificado si usa un certificado que no es de confianza o autofirmado. La esquina inferior derecha del Administrador de IIS mostrará el nuevo estado de conexión (por ejemplo, localhost 8172 como SampleUser). - Cree un paquete de aplicación rápido para comprobar que las reglas de autorización funcionan:
a. En el panel Acciones, haga clic en Exportar aplicación…
b. Esto iniciará el Asistente para exportar aplicaciones, haga clic en Siguiente a través de todas las pantallas para aceptar los valores predeterminados y crear un paquete. - Ahora que ha creado un paquete, compruebe que puede instalarlo:
a. En el panel Acciones, haga clic en Importar aplicación…
b. Haga clic en Next. c. En la página Parámetros, cambie el nombre de la aplicación a algo que aún no existe en el sitio web para comprobar que el usuario puede crear aplicaciones.
d. Finalice el asistente. - Por último, debe descargar un paquete de aplicación para instalar una aplicación en este sitio web para comprobar que la base de datos y otras opciones funcionan.
Solución de problemas
Hay algunos problemas comunes que pueden producirse durante las implementaciones:
El usuario recibe un error 401 no autorizado al intentar conectarse a un sitio web.
- Causas: este error procede de WMSVC y suele ser un error con nombre de usuario y contraseña, o porque el usuario no tiene acceso al sitio web.
- Resoluciones: compruebe el nombre de usuario y la contraseña y que el usuario tenga acceso al sitio web.
El usuario recibe un error de servidor al intentar importar o exportar una aplicación.
Causas: este error procede del controlador de implementación web y suele ser un problema con las reglas de implementación. Dado que el usuario se ha conectado correctamente, no es un problema con WMSVC. Una regla de implementación puede tener un error tipográfico, es posible que el usuario que realiza la implementación no esté autorizado o que la identidad runAs no tenga acceso.
Resoluciones: abra los registros de seguimiento en
%systemdrive%\inetpub\logs\wmsvc\tracinglogfiles\w3svc1
y compruebe qué regla no se puede autorizar.- Busque registros que contengan errores, como "Detalles: no se encontró ninguna regla que pudiera autorizar al usuario 'server1\siteowner', el proveedor 'appPoolConfig', la operación 'Read', la ruta de acceso 'DefaultAppPool'". En este caso, el proveedor appPoolConfig no está autorizado y el usuario intentó agregar un proveedor que no puede agregar.
- Otro error común es si el usuario RunAs que se usa para crear aplicaciones no tiene acceso adecuado a la configuración. En este caso, Procmon es una herramienta útil para determinar de dónde puede provenir un error de acceso denegado.
Resumen
En esta guía se muestra cómo configurar WMSVC y el controlador de implementación para permitir a los usuarios administrar sus aplicaciones web y describir los pasos para usar el Administrador de IIS para crear e instalar un paquete para comprobar que las reglas de delegación funcionan.