JASoft.org

El blog de José Manuel Alarcón Aguín. Programación web y mucho más...

MENÚ - JASoft: JM Alarcón

Cómo migrar/cambiar de dominio Sharepoint Foundation 2010

No soy ningún experto en SharePoint, pero sí que llevo ya unos cuantos años gestionándolo y personalizándolo, desde su primera versión. Dentro de Krasis tenemos varios sistemas montados sobre SharePoint Foundation 2010 (desde el CRM hasta la gestión de tareas, algunas documentaciones, etc...). A medida que pasaban los años he tenido que ir migrando estos portales internos de versión en versión de SharePoint. La verdad es que no se trata de un proceso fácil muchas veces, ya que en mi opinión el instalador y configurador de SharePoint es bastante lioso para mi gusto y da pocas opciones de solucionar cosas que van pasando, que al final debes resolver muchas veces casi mediante prueba y error.

Hace poco hemos tenido que migrar el dominio de Directorio Activo de la empresa a uno nuevo. Esto supuso un nuevo reto pues, al no ser un experto, tuve algunas dificultades que me llevó bastante tiempo resolver. Dado que creo que al final el proceso es sencillo si se siguen los pasos correctamente he creído interesante explicar aquí en forma de paso a paso para ayudar a otros (y a mi mismo en el futuro, jeje). Seguro que los expertos en SharePoint encuentran algún atajo u otra cosa que a mi se me escapa, pero este sistema me ha funcionado sin problemas para hacer una migración "a pelo" de las BBDD y usuarios al cambiar de servidor y dominio.

1.- Hacer backup de la BBDD

Lo primero es asegurarte de que tienes una copia de seguridad de la base de datos de contenido de tu portal o portales, en el dominio anterior. Esto es fácil.

Puedes ver qué BBDD está usando cada uno de tus sitios yendo a la administración central de SharePoint y viendo el apartado "Gestión de la aplicación·Bases de datos"Gestionar bases de datos de contenido" (en mi instalación es en inglés):

SF_gestionBBDD
Pulsa para aumentar

Ahí te indicará qué BBDD tienes y podrás ir al administrador de SQL Server y hacer copias de seguridad.

Incluso, como vas a hacer la migración y no debería seguir usando el actual SharePoint para no modificar la BBDD, mi recomendación sería detener el producto, des-adjuntar las BBDD y directamente utilizar los archivos .mdf y .ldf en el nuevo servidor.

2.- Instalar SharePoint 2010 y SQL Server en el nuevo servidor

Pues eso. En este caso tampoco hay demasiado misterio. Simplemente se instala de la manera habitual. Yo lo instalo eligiendo que forme parte de una grande de servidores, pues me da más control posteriormente sobre cómo indicarle contra qué servidor de datos trabajar y con qué credenciales, etc...

Es mejor instalar SQL Server antes y durante la configuración de SharePoint apuntarlo ya a la nueva instalación.

Lo instalamos todo y lo ponemos en marcha.

3.- Configurar una aplicación Web

Desde el mismo menú que antes, pero esta vez en el apartado de aplicaciones Web, gestionamos las aplicaciones Web existentes:

SF_GestionDeAplicaciones
Pulsa para aumentar

Al acceder a la gestión de aplicaciones veremos que ya está definida una aplicación que es la propia configuración central del producto, y nosotros podemos añadir una nueva aplicación usando el botón correspondiente en la barra de herramientas de la parte superior:

SF_AnhadirApp

Lo que nos abre un diálogo bastante largo (hay que hacer mucho scroll) que debemos rellenar para definir todos los aspectos del sitio Web. La parte correspondiente a la BBDD está bastante abajo:

SF_NuevaApp
Pulsa para aumentar

Debemos fijarnos bien en dos parámetros de este diálogo:

  1. El nombre del grupo de aplicaciones (o application pool) de IIS que gobernará el comportamiento de este sitio Web. Dale un nombre apropiado o fíjate bien en el nombre que le da por defecto, ya que luego, a lo mejor, tendremos que hacer un pequeño ajuste sobre el mismo.
  2. El nombre de la BBDD. Ahora no es importante, porque la vamos a borrar, pero precisamente por eso hay que anotarlo no vaya a ser que borremos la base de datos que no es.

Ya hemos creado la aplicación, que luego usaremos para acceder a nuestros diferentes portales.

4.- Borrar la BBDD recién creada

Ahora volvemos a la gestión de BBDD que vimos en el punto 1, sólo que en el servidor nuevo. Al entrar veremos que está la BBDD recién creada e el paso anterior.

Pulsa encima de la misma para entrar en sus propiedades. Lo primero es ponerla Off-Line para cerrar todas las conexiones que hubiera abiertas hacia ella (quizá creadas por ti mismo al probar la recién creada aplicación Web):

SF_OffLine
Pulsa para aumentar

Ponemos en esta lista "Offline" y guardamos.

Una vez que esté en modo Off-line podemos entrar de nuevo y borrarla, para lo cual sólo hay que marcar la opción correspondiente en sus propiedades, hacia la parte de abajo:

SF_BorrarBBDD

Nos avisa de que al borrarla quedará inutilizado el sitio Web asociado. No pasa nada, enseguida lo arreglamos, así que acepta y borra la base de datos de contenido.

5.- Incorporar la BBDD anterior

Ahora debemos incorporar la base de datos anterior, la que queremos migrar.

Para ello vamos a SQL Server y restauramos la BBDD desde la copia de seguridad o simplemente la adjuntamos al servidor si hemos copiado los archivos .mdf y .ldf:

SF_Attach

6.- Relacionar la BBDD con la aplicación Web

Una vez incorporada la BBDD a SQL Server con el nombre apropiado, vamos de nuevo a la administración central de SharePoint y gestionamos las BBDD (figura de punto 1). Una vez allí pulsamos el enlace de "añadir nueva base de datos de contenido":

SF_NuevaBBDD
Pulsa para aumentar

Debemos indicar el nombre de la BBDD que acabamos de restaurar, y asegurarnos de que en la lista superior ("Web Application") está seleccionada la aplicación Web adecuada que creamos en el paso 3.

Al hacerlo lo que estamos consiguiendo es que la aplicación sea gestionada a través de la base de datos que teníamos guardada. Veremos que si ahora accedemos estarán todos los anteriores contenidos, y que funcionarán los sub-sitios que hubiera definidos bajo éste.

7.- Migrar los usuarios

Aunque todo parece funcionar, lo cierto es que todavía tenemos un paso importante que realizar y es migrar los usuarios. Aunque en el nuevo dominio hayamos replicado los nombres de usuario existentes en el anterior, en realidad son usuarios diferentes y tienen nombres diferentes, ya que en el primer dominio serían de tipo "DOMINIO1\Usuario" y ahora serán "DOMINIO2\Usuario", así que debemos hacer que las referencias a usuarios anteriores que existieran en la BBDD pasen a referenciar a los nuevos usuarios.

Para ello la única forma que yo conozco es usando la utilidad de línea de comandos STSADM.EXE propia de SharePoint y pensada para gestionar multitud de aspectos del producto.

Este ejecutable se encuentra en la ruta: C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\BIN y hay que ejecutarlo como administrador.

La línea de comandos necesaria para migrar a un usuario es la siguiente:

STSADM.EXE -o migrateuser -oldlogin DOMINIO1\usuario -newlogin DOMINIO2\usuario

Si queremos migrar un grupo de usuarios completo (se conceden permisos a grupos) sería similar:

STSADM.EXE -o migrategroup -oldlogin DOMINIO1\grupo_usuarios -newlogin DOMINIO2\grupo_usuarios

OJO: esto no migra a los usuarios del grupo individualmente, sino que migra los permisos y referencias del grupo en sí, y hay que migrar a los usuarios igualmente uno a uno.

Lamentablemente no conozco ninguna forma de automatizar este proceso para que coja automáticamente todos los usuarios y los migre, sino que hay que ir uno a uno migrando usuarios y grupos. En mi caso como éramos pocos usuarios fue un proceso rápido pero no quiero ni imaginarme el tener que hacerlo en un dominio grande :-O

8.- No se encuentran los usuarios

Con lo anterior debería ser suficiente. Sin embargo puede que tengamos un problema adicional del que nos daremos cuenta un poco más tarde.

Cuando vamos a añadir un nuevo usuario a los permisos del portal o incluso cuando algún elemento a uno de los portales dispone de un campo que sea una persona, introducimos su nombre y, tanto al pulsar el botón de verificar como el de buscar, no nos encuentra el usuario del dominio:

SF_NoEncuentraUsuario
Pulsa para aumentar

Da igual como lo escribamos: no aparece ningún usuario. ¿A qué es debido?

El problema es que si no hemos elegido adecuadamente al usuario que se suplanta en el grupo de aplicaciones de IIS asociado con el sitio Web, éste no podrá interrogar al directorio activo para encontrar a los usuarios. De ahí que haya hecho hincapié en el paso 3 en que te fijases en el nombre del grupo de aplicaciones asociado al sitio Web:

SF_AppPool

Fíjate que en ese apartado de la configuración aparece (debajo del nombre, que está recuadrado) el usuario que quieres usar para suplantar en el grupo de aplicaciones. Por defecto te permite seleccionar ciertos usuarios predefinidos, como por ejemplo el "Servicio de red" o el "Usuario de sistema local", que es muy típico asociar a estos grupos.

La pega es que esos usuarios puede que no tengan permisos de acceso a la red (por ejemplo el "Local System") o que no tengan permisos para interrogar al directorio activo.

Para solucionar el problema es necesario asociar a este grupo de aplicaciones un usuario que tenga los permisos suficientes para ello (en principio cualquier usuario del dominio debería tenerlos). Por lo tanto lo recomendable es crear un nuevo usuario del dominio específico para ejecutar SharePoint. Una vez creado se puede asociar directamente en las propiedades de IIS si queremos:

SF_UsuarioConpermisosÇ
Pulsa para aumentar

Utilizamos el diálogo para asignar el usuario apropiado y ya podremos buscar sin problemas a los usuarios del directorio activo para asignarlos a campos de listas de SharePoint.

En resumen

La migración entre dominios de SharePoint no es que sea excesivamente complicada pero si no sabes de antemano como hacerla puedes invertir muchas horas de prueba y error hasta dar con los pasos correctos.

Insisto en que no soy un experto en despliegue de SharePoint por lo que seguramente se me ha escapado algún detalle que nos ahorre un paso o que facilite el proceso, pero estos pasos me han servidor bien a mi y espero que puedan ahorrarte mucho tiempo y quebraderos de cabeza a la hora de migrar tus portales.

¡Espero que te sea útil!

José Manuel Alarcón José Manuel Alarcón
Fundador de campusMVP.es, el proyecto de referencia en formación on-line para programadores en lengua española. Autor de varios libros y cientos de artículos. Galardonado como MVP de Microsoft desde 2004. Gallego de Vigo, amante de la ciencia y la tecnología, la música y la lectura. Ayudando a la gente en Internet desde 1996.
Descarga GRATIS mi último libro (no técnico): "Tres Monos, Diez Minutos".
Banner

Comentarios (2) -

Lo mio es más desarrollo que administración pero si te sirve de pista para la migración de usuarios lo "último" :) es usar powershell en vez de stsadm que es msdos y para migrar los usuarios desde browser tienes que ir a administración central- servicios y dentro de servicios "user Profiles"  y teorícamente ahí es donde se realizan las exportaciones de usuarios (ojo que ese es un servicio opcional, no tiene por qué estar arrancado.

Si estás usando sharepoint 2007 el "user profiles" está dentro del proveedor de servicios compartidos (tienes que crear un ssp)

Insisto que yo soy más de desarrollo que de administración pero por si le sirve a alguien más.

Responder

Agregar comentario