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):
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:
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:
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:
Pulsa para aumentar
Debemos fijarnos bien en dos parámetros de este diálogo:
- 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.
- 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):
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:
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:
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":
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:
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:
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:
Ç
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!