viernes, 31 de enero de 2014

SSO Alfresco 4.2 y Active Directory



Configurar LDAP
Nos basamos en la documentación

11- Agregar la línea en alfresco-global.properties
authentication.chain=passthru1:passthru,ldap1:ldap-ad-domain,alfrescoNtlm1:alfrescoNtlm
Donde se indica que se utilizara la cadena de autenticación formada por: passthru, ldap, alfrescoNtlm,

El primer elemento de la cadena es passthru, para este componente se agrega la siguiente línea.
###Autenticación del dominio
passthru.authentication.useLocalServer=false
passthru.authentication.defaultAdministratorUserNames=alfresco, Administrator
passthru.authentication.domain=dominioAlfresco.com
passthru.authentication.servers=dominioAlfresco.com\\192.168.1.114


El Segundo elemento de la cadena es ldap-ad-domain, este elemento se encuentra ubicado en la ruta “/opt/alfresco-4.0.2.9-2/tomcat/webapps/alfresco/WEB-INF/classes/alfresco/subsystems/Authentication/ldap-ad-domain”.



Finalmente se coloca la sincronización de los usuarios de LDAP.
###Sincronizacion
synchronization.allowDeletions=false
synchronization.synchronizeChangesOnly=false
synchronization.import.cron=0 0/30 * * * ?
synchronization.syncOnStartup=true
synchronization.syncWhenMissingPeopleLogIn=true
synchronization.autoCreatePeopleOnLogin=false


12-      Configurar Alfresco Share para que reconozca SSO


tomcat/shared/classes/alfresco/web-extension/share-config-custom.xml
13-      Configurar el cliente del navegador como se indica en la url inicial.

44-      Conectar un Windows XP al dominio, se realiza normalmente

35-      Conectar un Windows 7 se requiere hacer cambios, en la configuración del Windows 7 http://www.forospyware.com/t395603.html

46-      En el caso de Windows 7 para configurar el SSO, se tiene que realizar una configuración en Windows con el usuario administrador: http://tips.kaali.co.uk/2011/05/12/alfresco-login-ntlmv2-and-passthru-issues/

57-      Para acceder a la aplicación se requiere utilizar la siguiente ruta (http://docs.alfresco.com/4.1/topic/com.alfresco.enterprise.doc/concepts/auth-alfrescontlm-sso-loginbypass.html): http://180.100.10.51:8080/share/page?pt=login
 

Solucionar problema indexación SORL


Si se observa que los documentos que se suben no se encuentran en Alfresco se realiza lo siguiente:


Validar si se tiene accesos para la interfaz solr mediante SSL, para esto seguir el procedimiento:

Luego verificar si hay problemas con lo indices de alfresco con la siguiente ruta


si se encuentra los siguientes valores:
<long name="Count of transactions in the index but not the DB">1034</long>
En lugar del numero “1034” puede haver otro número esto indica que hay elementos que no estan indexados en Alfresco. Por lo tanto el procedimiento es ejecutar el siguiente comando:

Con esto se compara los indices que estan en la base de datos con los indices en los documentos, el resultado de esta consulta es el tiempo que demora en realizar esta verificación. Para que estos cambios se reflejen se requiere reiniciar el servidor de alfresco con esto los documentos que no esten indexados se proceden a indexar. Prueba de esto es revisar el tamaño de la carpeta.

[root@localhost solr]# cd /opt/alfresco-4.0.2.9-VUR/alf_data/solr
[root@localhost solr]#
[root@localhost solr]# pwd
/opt/alfresco-4.0.2.9-VUR/alf_data/solr



luego ejecutar el comando

[root@localhost solr]# du -sb *
4105628 apache-solr-1.4.1.war
4101544 apache-solr-1.4.1.war.unpatched
302679778       archive
502373  archive-SpacesStore
7105    CreateSSLKeystores.txt
37547   docs
6720    HowToSetUpSolr.txt
26214299        lib
247     solr-tomcat-context.xml
322     solr.xml
495064  templates
642249040       workspace
500326  workspace-SpacesStore

y verificar el tamaño de la carpeta workspace y archive  con esto se verifica que la indexacion de los documentos esta realizando de forma correcta.

Finalmente es importante cargar unos documentos y agregar la metadata y realizar pruebas de busqueda con esto se comprueba que los documentos se indexen de forma normal.

Para verificar que todos los documentos estan indexados se procede a verificar el estado mediante la url https://<IP>:8443/solr/admin/cores?action=REPORT&wt=xml

donde el resultado debe ser de la forma

<long name="Count of duplicated transactions in the index">0</long>
<long name="Count of duplicated acl transactions in the index">0</long>
<long name="Count of transactions in the index but not the DB">0</long>
<long name="Count of acl transactions in the index but not the DB">0</long>
<long name="Count of missing transactions from the Index">0</long>
<long name="Count of missing acl transactions from the Index">0</long>

donde los valores numericos son: “0”, “0”

Procedimiento para escritorio Remoto RHEL


1 - Cargar el CD de RHEL en servidor
2- Ir a la carpeta “/opt”, crear la carpeta “rhel” (mkdir rhel)
3- Ejecutar el siguiente comando para que el contenido del CD se muestre  en la ruta /opt/rhel/
[root@localhost rhel]# ln -s /media/RHEL_6.1\ x86_64\ Disc\ 1/* /opt/rhel/
4- Ir a la ruta “/etc/yum.repos.d/”
5- crear el archivo rhel.repo como una copia de “rhel-source.repo” con el siguiente comando
cp rhel-source.repo rhel.repo y el archivo queda de la siguiente manera:



6- Ejecutar el comando “yum update”
7- Probar el correcto funcionamiento de yum con el siguiente comando “yum update php*”


8- Seguir lo indicado por este link



Modificar la ruta donde se almacena los logs (alfresco.log, share.log, solr.log)

1- La propiedad donde se indica la ruta donde están ubicados los logs es: “log4j.appender.File.File”

2- Para ubicar los archivo que se tiene que realizar lo cambios se ejecuta el siguiente comando en shell de Linux “grep -r 'log4j.appender.File.File' *”, a continuación el resultado de esta busqueda:


[root@localhost alfresco-4.1.6.2]# grep -r 'log4j.appender.File.File' *
alf_data/solr/log4j-solr.properties:log4j.appender.File.File=solr.log
grep: postgresql/.s.PGSQL.5432: No such device or address
tomcat/shared/classes/alfresco/extension/custom-log4j.properties:log4j.appender.File.File=/opt/alfresco.log
tomcat/webapps/solr/WEB-INF/classes/log4j.properties:log4j.appender.File.File=solr.log
tomcat/webapps/alfresco/WEB-INF/classes/log4j.properties:log4j.appender.File.File=alfresco.log
tomcat/webapps/share/WEB-INF/classes/log4j.properties:log4j.appender.File.File=share.log

 
3- Los archivos donde se realiza el cambio son:
tomcat/webapps/solr/WEB-INF/classes/log4j.properties:log4j.appender.File.File=solr.log
tomcat/webapps/alfresco/WEB-INF/classes/log4j.properties:log4j.appender.File.File=alfresco.log
tomcat/webapps/share/WEB-INF/classes/log4j.properties:log4j.appender.File.File=share.log


4- Según las buenas prácticas de Alfresco las personalizaciones en los archivos se realiza en la carpeta “extension” y no en la carpeta “WEB-INF”, sin embargo el siguiente blog http://blyx.com/2011/06/02/consejos-sobre-los-logs-en-alfresco/ y solo se ha encontrado el proceso realizar la modificación del archivo “alfresco.log” mas no de “share.log” y “solr.log”


Por lo tanto se ha realizado las modificaciones en los siguientes archivo

tomcat/shared/classes/alfresco/extension/custom-log4j.properties:log4j.appender.File.File=/opt/alfresco.log (el archivo “custom-log4j.properties” es una copia del archivo “log4j.properties” ubicado en la ruta  “tomcat/webapps/alfresco/WEB-INF/classes/”)

tomcat/webapps/solr/WEB-INF/classes/log4j.properties:log4j.appender.File.File=/opt/solr.log

tomcat/webapps/share/WEB-INF/classes/log4j.properties:log4j.appender.File.File=/opt/share.log


De esta manera los archivos log se almacenan en la ruta /opt/ y no dentro del la carpeta de instalación de Alfresco o en la raíz. Para mantener un control de los archivos que se encuentran dentro del la carpeta de instalación de Alfresco.