Configurando ADFS en la misma máquina que Dynamics CRM

Para poder montar un entorno de desarrollo completo de Dynamics CRM 2015 hemos tomado la decisión de utilizar una única máquina que contenga todas las características necesarias. Por diferentes requerimientos se hace necesario además habilitar el ADFS para utilizar Internet Facing Deployment, en este caso al utilizar la misma máquina existen ciertos errores que debemos de corregir si en lugar de varias máquinas para el despliegue, utilizamos solo una.

Escenario:

Como hemos mencionado, se realizará todo en la misma máquina por lo que en una sola máquina tenemos:

  • Windows Server 2012 R2
  • Dynamics CRM 2015
  • ADFS 3.0
  • MSSQL Server 2012
  • Autoridad certificadora
  • IIS 7.0

A grandes rasgos este es el software que tenemos instalado para desplegar la solución que necesitamos.una vez desplegado hemos seguido estás instrucciones del blog MSDN donde viene paso a paso que debemos hacer, también existe un paso a paso desde la propia Microsoft pero preferimos está guía por ser más completa que la anterior.

Instala y configura IFD y ADFS

En esta guía tenemos un paso a paso completo de como desplegar ADFS 3.0

Despliega ADFS

Con respecto a la versión anterior tenemos cambios importantes, el primero de ellos es que ya no utiliza IIS para desplegar su solución por lo que no tendremos que cambiar el puerto de nuestra solución Dynamics, ERRORRRR!!!!, este es el primer error que nos encontramos. Si bien es cierto que no es  necesario si tenemos el sistema desplegado en dos máquinas diferentes, si que es necesario cambiar el puerto para nuestra solución de Dynamics CRM. También podemos cambiar el puerto del ADFS que usa el 443 por otro, pero es mucho más sencillo cambiar en internet information server los puertos que en el ADFS.

Dicho esto lo primero que hay que hacer es irnos a IIS 7.0 entrar en nuestro sitio predeterminado y eliminar el puerto https 443 si lo tenemos en uno de nuestros enlaces, en nuestro caso hemos elegido el 444 pero cualquiera es valido siempre que no este ocupado por otro servicio.

Parecido a esto es el segundo problema que nos hemos encontrado, mirando los errores de ADFS a través el event viewer, nos dimos cuenta de que existía un error a la hora de arrancar los servicios MEX, el error es el siguiente:

«There was an error in enabling endpoints of Federation Service. Fix configuration errors using PowerShell cmdlets and restart the Federation Service.»

y en la descripción del error encontramos algo así:

«System.ServiceModel.AddressAlreadyInUseException: There is already a listener on IP endpoint 0.0.0.0:808. This could happen if there is another application already listening on this endpoint or if you have multiple service endpoints in your service host with the same IP endpoint but with incompatible binding configurations. —> System.Net.Sockets.SocketException: Only one usage of each socket address (protocol/network address/port) is normally permitted»

Lo que está ocurriendo es que el servicio de SandBox utiliza este puerto 808 el mismo que intenta utilizar ADFS para arrancar, esto ocurre en nuestro entorno porque tenemos todo desplegado en la misma máquina en este link, encontraréis un listado de los puertos que utiliza Dynamics CRM por si os sirve de utilizad y queréis revisar si podéis tener conflictos con otras herramientas.

Para solucionar esto se hace de forma sencilla, solo tenéis que abrir PowerShell y escribir la siguiente instrucción:

SET -ADFSProperties -nettcpport 809

Esto hará que el puerto utilizado por ADFS cambie y podamos arrancar ADFS de forma correcta sin ningún error, tras hacer este cambio solo tendremos que reiniciar el servicio de ADFS para que vuelva a funcionar de forma correcta.

Seguimos configurando ADFS porque tenemos un problema para conectar a través del SDK, por lo que cuando solucionemos este error reflejaremos que hemos hecho para solucionarlo.

 

 

 

Marketing Digital
Comentarios

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Rellena este campo
Rellena este campo
Por favor, introduce una dirección de correo electrónico válida.
Tienes que aprobar los términos para continuar

Menú