martes, 29 de julio de 2014

Creando una aplicación web con host header en SharePoint 2013

Antes de crear cualquier aplicación Web dentro de SharePoint para manejo de contenido es recomendado planificar como vamos a organizar el contenido. Una buena guía para ello es el plan de gobernabilidad de SharePoint.  Puede iniciar leyendo el siguiente enlace: http://technet.microsoft.com/es-gt/library/ff598584(v=office.15).aspx

Un modelo sugerido para las colecciones de sitios

A veces encuentro aplicaciones web dentro de instalaciones no planficadas con puertos raros 4534 y 3452, etc.   Y esto se debe al desconocimiento del uso de Host header que nos permite utilizar el mismo puerto 80 para diferentes aplicaciones Web.  

Abajo de SharePoint tenemos el IIS que es el Servidor Web y cuando creamos una aplicación Web en SharePoint.  SharePoint crea un Sitio Web en el IIS entonces, como diferencia el IIS a que aplicación esta solicitando el usuario si utiliza el mismo puerto 80.  Bueno a través de los Host Header habrán varios sitios Web a nivel del IIS escuchando sobre el puerto 80 pero con diferente nombre ese el el host header.

En este ejemplo ya tenemos una aplicación Web creada en el puerto 80 mysite.Infocloud.com y ahora vamos a crear otra aplicación Web en el puerto 80 llamada sharepoint.infocloud.com.

Ahora para que el navegador, el IIS y SharePoint puedan resolver este nombre necesitamos ayuda de nuestro amigo el DNS Server.  Allí debemos de registrar el nombre sharepoint.infocloud.com para que el navegador de los usuarios dentro de la red y el servidor de SharePoint donde esta el IIS puedan resolver el nombre.

Paso 1:

Debemos entonces registrar en el DNS Server el nombre sharepoint.  Con una cuenta administradora de dominio podemos accesar al servidor DNS de la organización y crear un nuevo registro Host AAAA

image

image

image

Ahora desde el servidor de SharePoint probamos el nombre para ver si nos responde:

PS C:\Users\spadmin> ping sharepoint

Pinging sharepoint.INFOCLOUD.COM [212.117.213.8] with 32 bytes of data:
Reply from 212.117.213.8: bytes=32 time<1ms TTL=128
Reply from 212.117.213.8: bytes=32 time<1ms TTL=128
Reply from 212.117.213.8: bytes=32 time<1ms TTL=128
Reply from 212.117.213.8: bytes=32 time<1ms TTL=128

Ping statistics for 212.117.213.8:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 0ms, Maximum = 0ms, Average = 0ms
PS C:\Users\spadmin>

Listo ahora vamos a crear la aplicación Web desde SharePoint a través del CA.  Luego Application Management y luego Manage web applications.

image

Allí presionamos el botón New.  Se levantará una ventana de dialogo allí cambiamos el puerto por el 80, luego en Host header escribimos el FQDN que recién registramos, es decir: sharepoint.infocloud.com

image

Bueno y la parte de autenticación se la dejamos en NTLM standard Windows para autenticar y nos enfocamos en el grupo de aplicaciones para el IIS, sugiero sea separada a las otras y utilicemos una cuenta de dominio que no sea adminsitradora local sino solo una cuenta sin privilegios en mi caso SPWebApp.  Nombramos la base de datos por ejemplo: WSS_Content_PortalPrimario (Esto para mantener el estándar que dice que debemos colocar el prefijo WSS_Content_ para las bases de datos de contenido de SharePoint).

image

Presionamos el botón OK para que inicie la creación del sitio Web en el IIS y lo deje registrado en la base de datos de Configuración de la granja SharePoint_Config.

image

Listo cuando finaliza con éxito mostrará la siguiente imagen.

image

Y para que podamos acceder a ella necesitamos crear la estructura lógica para que tenga por lo menos una página destino donde dirigirse para atender las solicitudes de los usuarios.  Para ello presionamos la opción “Create Site Collection”, en vez de presionar el botón OK.

image

Ingresamos un título, la plantilla que para este ejemplo Team Site esta bien, porque tiene elementos básicos como Biblioteca, noticias y tareas.

Bueno para finalizar colocamos los administradores de la colección de sitios y listo podemos presionar el botón OK

image

Cuando termina recibiremos este mensaje.

image

Ahora si hacemos clic sobre el enlace ingresaremos al sitio con la dirección sharepoint.infocloud.com.  Si nos pide repetidas veces la clave es problema del Loopback que valida que si no es el nombre del hostname y tiene la misma ip no admite la dirección en el navegador desde el servidor.  Para deshabilitar esto en el registro de windows podemos hacerlo vía PowerShell, escribiendo la siguiente línea:

Windows PowerShell
Copyright (C) 2012 Microsoft Corporation. All rights reserved.

PS C:\Users\spadmin> New-ItemProperty HKLM:\System\CurrentControlSet\Control\Lsa -Name "DisableLoopbackCheck" -value "1"
-PropertyType dword


DisableLoopbackCheck : 1
PSPath               : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa
PSParentPath         : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control
PSChildName          : Lsa
PSDrive              : HKLM
PSProvider           : Microsoft.PowerShell.Core\Registry

Listo intentamos de nuevo y listo ya funciona.

image[59]

Si revisamos el IIS, encontraremos dos Sitios Web que escuchan en el puerto 80 pero con diferente host header

image

Listo, hemos completado nuestra misión que era tener dos aplicaciones Web escuchando sobre el puerto 80.

Por los que preguntan y la otra aplicación Web como la accedemos… bueno luego de configurar el servicio de Perfiles de Usuario, puedes en la parte superior derecha donde aparece el login del usuario conectado acceder a esta aplicación Web como lo muestro en la imagen de abajo.

image

Bueno eso es todo por este artículo.  No olvide leer el documento Plan de Gobierno de SharePoint 2013.

SharePoint4Fun!,

Juan Manuel Herrera

lunes, 28 de julio de 2014

Cómo cambiar la cuenta administradora de la granja de SharePoint

Pueda que necesitemos cambiar la cuenta administradora de la granja de SharePoint por muchas razones, pero cómo hacerlo?.

Bueno a continuación detallo el procedimiento.

Desde la Administración Central hacemos lo siguiente:

1) Hacemos clic sobre Security

2) Luego hacemos clic sobre “Manage the farm administrators group”

3) Luego presionamos el botón New y agregamos la cuenta de dominio a reemplazar.

image

4) Luego otra vez clic sobre Security

5) Luego clic sobre “Configure service accounts“ y seleccionamos Farm Account y seleccionamos la nueva cuenta y presionamos el botón OK.

image

6) Por ultimo debes de asignar permisos a las bases de datos que tenía la cuenta anterior con la nueva.

Puedes hacerlo revisando desde el Management Studio el usuario que bases de datos tiene mapeada o bien vía algún Script de T-SQL que de liste y asigne de una vez los permisos.  Eso lo dejo en sus manos amigos lectores.

Validaciones manuales:

Puedes validar que la cuenta SPFarm o como le hallas nombrado este en los siguientes grupos y/o objetos.

SPFarm debe de pertenecer a los siguientes grupos locales del servidor de Windows donde esta instalado SharePoint:

Local Adminsitrators

WSS_WPG

WSS_ADMIN_WPG

Que este ejecutando los siguientes servicios de Windows

image

A nivel de SQL Server debe de tener los siguientes roles

image

Y mapeada todas las bases de datos de Aplicación de Servicios y la configuración de la granja y el Central Administration.

image

SharePoint4Fun!,

Juan Manuel Herrera Ocheita

Evitando el error “The Application Database Server does not have the Full-Text Search feature installed.” en SharePoint 2013

 

Para el servicio de Access que fundamentalmente traduce una aplicación de Access en listas de SharePoint se requiere que la base de datos a utilizar tenga habilitado el Full-Text Search de SQL Server. 

image

Si fuese otra instancia o servidor de SQL Server donde deseamos se creen las nuevas bases de datos de las aplicaciones que Access que subiremos a SharePoint, igual debemos de validar que esta característica Full-Text Search esta instalada.

image

image

Cuando termine, recomiendo reiniciar ambos servidores e intentar de nuevo la creación de la aplicación de Servicio Access.

image

No olvide levantar el servicio en el servidor a través de SharePoint.Guiño

image

SharePoint4Fun!,

Juan Manuel Herrera

sábado, 26 de julio de 2014

Lista de verificación para levantar a la primera vez el servicio de sincronización de los Perfiles de Usuario en SharePoint Server 2013

Esto debería ser la norma pero es lo que menos frecuentemente sucede y es porque olvidamos algún paso para que suceda de esta mantera.  Abajo les detallo primero los prerrequisitos antes de intentar levantar el servicio.

I. Tener una cuenta de dominio Administradora de la granja de SharePoint (SPFarm):

1) Asegúrese de tener una cuenta de dominio para administrar la granja, por ejemplo SPFarm.

2) Asegúrese cuando ejecuto el Asistente de Tecnologías y Productos de SharePoint en la cuenta de dominio para crear la base de datos SharePoint_Config sea la cuenta administradora de la granja por ejemplo DOMINIO\SPFarm.

image

3) Que explícitamente se le de permisos a la cuenta de Permitir Logon a la cuenta con la política local del servidor.

image

image

4) Que tenga permisos de administrador local en el servidor de SharePoint.

II. Este creada la aplicación Web para hospedar los sitios de los usuarios

Debemos de crear primero la aplicación Web… solo recuerde utilizar la plantilla My Site Host (http://technet.microsoft.com/en-us/library/ee721049.aspx#UPSAProc).  También es necesario registrar la cuenta administrativa que ejecutará esta aplicación Web en SharePoint.

image

III. Utilice otra cuenta de dominio para sincronizar con el Directorio Activo

Las mejores prácticas dictan que debemos crear una cuenta de dominio sin ningún privilegio más que la delegación de permiso para replicar los cambios del directorio activo.  http://technet.microsoft.com/en-us/library/hh296982.aspx

Conceptos Erróneos

La cuenta administradora de la granja necesita permiso de Replication Directory Changes.  No es cierto, esto es para la cuenta de dominio que se utilizará para sincronizar con el directorio activo, pero no para iniciar el servicio de sincronización de Perfiles de Usuario en SharePoint.

Que la cuenta del servicio Forefront Identity Manager Service manualmente debemos de iniciarla con la cuenta cuenta de dominio administradora de la granja SPFarm, eso es falso.  Esto lo hace solito SharePoint al momento de provisionar el servicio de sincronización entre tanto tengamos los pre-requisitos cubiertos.

image

El procedimiento correcto

1) Crear la aplicación Web que hospedará “My Site”

image

2) Crear la aplicación del servicio de Perfiles de Usuario

image

3) Levantar el Servicio de Perfiles de Servicio

image

4) Levantar el Servicio de Sincronización de Perfiles de Usuario

image

Y luego de unos minutos…el servicio se levantará!… Eh…

image

SharePoint4Fun!,

Juan Manuel Herrera

lunes, 7 de julio de 2014

El programa de preestreno de Autohosted Apps venció

Noticia muy importante para desarrolladores de Apps para SharePoint en Office 356.  Definitivamente el tema de no tener control sobre los recursos en Azure de la Aplicación auto contenida integrada con SharePoint fue el mayor determinante para que Microsoft no renovará el programa o lo lanzara finalmente.  El 30 de junio del 2014 venció y no se espera que se relance aunque el comunicado de MS así lo estipula… más bien empoderarán a las Apps Tipo Provider Hosted para conectarse ambientes Azure con la libertad y control que los desarrolladores deseamos en las soluciones que construimos.

La buena noticia es que las Apps que están instaladas antes del 30 de Junio seguirán soportadas en Office 365, aunque no indefinidamente en el futuro MS publicará la fecha de caducidad, por el momento hay que prestar atención a como migrarlas a Provider Hosted y a Azure en un ambiente controlado por el usuario (para más información sobre esto ver el siguiente enlace: http://msdn.microsoft.com/EN-US/library/office/dn722449(v=office.15).aspx).  Pero las nuevas aplicaciones o las que estaban en desarrollo ya no se permitirá su uso. 

Microsoft sigue evolucionando en el nuevo modelo de Apps y escuchando a los clientes y desarrolladores para responder a las necesidades del mercado.  Esperamos que podamos ver un modelo maduro ágil y efectivo.

Hice algunas pruebas y esto fue el resultado:

Una aplicación de Prueba Auto Hosted sigue funcionando en SP 2013

image

image

Si le cambio de versión y la actualizó también me lo permite como dice el artículo:

<App xmlns="http://schemas.microsoft.com/sharepoint/2012/app/manifest"
     Name="SharePointAutoHostedApp"
     ProductID="{c990646d-33a7-4aee-9ea3-e4e288ce7e88}"
     Version="1.2.0.0"
     SharePointMinVersion="16.0.0.0"
>

clip_image001

Al parecer todavía es permitido subir Apps Auto Hosted hasta esta fecha aquí los pantallazos que lo prueban

image

 

image

image

image

image

 

Para más información puedes ver el artículo en el siguiente enlace:

http://blogs.office.com/2014/05/16/update-on-autohosted-apps-preview-program/

Apps4Fun!,

Juan Manuel Herrera Ocheita