Alfresco contra Zentyal ó AD

Tabla de Contenido

Alfresco es una solución que se asemeja a Sharepoint de Microsoft pero podríamos decir que es mucho mas completo y económico.


Uno de los aspectos que mas nos han solicitado es poder tomar los usuarios que tienen creados en el Active Directory de Windows o Zentyal, el famoso Single Sign On.

A continuación veremos como realizar la respectiva configuración de Alfresco para lograr este objetivo.

Ingresamos a la ruta: 
[email protected]:#cd /opt/alfresco-4.0.d/tomcat/shared/classes

Editamos el Archivo:
alfresco-global.properties

Hasta el punto anterior todo debe de ir bien, ahora como autenticar contra Zentyal y Contra AD.

Configuración de Alfresco contra Zentyal

A continuación tendrán todo lo que posee el archivo (alfresco-global.properties) para poder autenticar contra Zentyal, solo cambien las lineas donde esta en negrilla:

###############################
## Common Alfresco Properties ##
###############################
dir.root=/opt/alfresco-4.0.d/alf_data
alfresco.context=alfresco
alfresco.host=127.0.0.1
alfresco.port=8080
alfresco.protocol=http
share.context=share
share.host=127.0.0.1
share.port=8080
share.protocol=http
### database connection properties ###
db.driver=org.postgresql.Driver
db.username=alfresco
db.password=Password BD (se configura en la instalacion)
db.name=alfresco
db.url=jdbc:postgresql://localhost:5432/${db.name}
### FTP Server Configuration ###
ftp.enabled=false
ftp.port=21
ftp.ipv6.enabled=false
### RMI service ports ###
alfresco.rmi.services.port=50500
avm.rmi.service.port=0
avmsync.rmi.service.port=0
attribute.rmi.service.port=0
authentication.rmi.service.port=0
repo.rmi.service.port=0
action.rmi.service.port=0
deployment.rmi.service.port=0
### External executable locations ###
ooo.exe=/opt/alfresco-4.0.d/openoffice/program/soffice.bin
ooo.enabled=true
ooo.port=8100
ooo.port=8100
img.root=/opt/alfresco-4.0.d/common
img.dyn=${img.root}/lib
img.exe=${img.root}/bin/convert
swf.exe=/opt/alfresco-4.0.d/common/bin/pdf2swf
jodconverter.enabled=false
jodconverter.officeHome=/opt/alfresco-4.0.d/openoffice
jodconverter.portNumbers=8100
### Initial admin password ###
alfresco_user_store.adminpassword=c3dc537c6ba26089f148c09a42c8f019
### E-mail site invitation setting ###
notification.email.siteinvite=false
### File Protocol Root ###
protocols.rootPath=/${spaces.company_home.childname}/${spaces.sites.childname}
### License location ###
dir.license.external=/opt/alfresco-4.0.d
### Solr indexing ###
index.subsystem.name=solr
dir.keystore=${dir.root}/keystore
solr.port.ssl=8443
### BPM Engine ###
system.workflow.engine.jbpm.enabled=false
###Autenticacion###
authentication.chain=passthru1:passthru,ldap1:ldap,alfrescoNtlm1:alfrescoNtlm
ntlm.authentication.sso.enabled=false
ntlm.authentication.authenticateCIFS=true
ldap.authentication.active=true
ldap.synchronization.active=false
ldap.authentication.java.naming.provider.url=ldap://IPSERVIDORZENTYAL:389
ldap.authentication.userNameFormat=uid=%s,ou=Users,dc=zentyal
ldap.authentication.java.naming.security.authentication=simple
ldap.authentication.defaultAdministratorUserNames=admin
ldap.synchronization.java.naming.security.principal=cn=USUARIOADMINZENTYAL,dc=DOMINOIZENTYAL
ldap.synchronization.java.naming.security.credentials=PASSADMINZENTYAL
ldap.synchronization.userSearchBase=ou=Users,dc=DOMINIOZENTYAL
ldap.synchronization.groupSearchBase=ou=Groups,dc=DOMINIOZENTYAL
ldap.synchronization.personQuery=(&(uid=%v)(objectclass=posixAccount))
ldap.synchronization.groupQuery=(objectclass=posixGroup)
synchronization.synchronizeChangesOnly=false
synchronization.syncOnStartup=true
synchronization.syncWhenMissingPeopleLogIn=true
ldap.synchronization.defaultHomeFolderProvider=userHomesHomeFolderProvider
passthru.authentication.useLocalServer=false
passthru.authentication.sso.enabled=false
passthru.authentication.allowGuestLogin=true
passthru.authentication.servers=IPSERVERZENTYAL
passthru.authentication.domain=alge.net
passthru.authentication.defaultAdministratorUserNames=admin
passthru.authentication.connectTimeout=5000
passthru.authentication.offlineCheckInterval=300
passthru.authentication.protocolOrder=TCPIP,NETBIOS
passthru.authentication.authenticateCIFS=true
passthru.authentication.authenticateFTP=true

Configuración de Alfresco contra AD Windows Server 2008 R2

###############################
## Common Alfresco Properties #
###############################
dir.root=/opt/alfresco-4.0.d/alf_data
alfresco.context=alfresco
alfresco.host=127.0.0.1
alfresco.port=8080
alfresco.protocol=http
share.context=share
share.host=127.0.0.1
share.port=8080
share.protocol=http
### database connection properties ###
db.driver=org.postgresql.Driver
db.username=alfresco
db.password=Password BD (se configura en la instalacion)
db.name=alfresco
db.url=jdbc:postgresql://localhost:5432/${db.name}
### FTP Server Configuration ###
ftp.enabled=true
ftp.port=21
ftp.ipv6.enabled=false
### RMI service ports ###
alfresco.rmi.services.port=50500
avm.rmi.service.port=0
avmsync.rmi.service.port=0
attribute.rmi.service.port=0
authentication.rmi.service.port=0
repo.rmi.service.port=0
action.rmi.service.port=0
deployment.rmi.service.port=0
### External executable locations ###
ooo.exe=/opt/alfresco-4.0.d/openoffice/program/soffice.bin
ooo.enabled=true
ooo.port=8100
ooo.port=8100
img.root=/opt/alfresco-4.0.d/common
img.dyn=${img.root}/lib
img.exe=${img.root}/bin/convert
swf.exe=/opt/alfresco-4.0.d/common/bin/pdf2swf
jodconverter.enabled=false
jodconverter.officeHome=/opt/alfresco-4.0.d/openoffice
jodconverter.portNumbers=8100
### Initial admin password ###
alfresco_user_store.adminpassword=c3dc537c6ba26089f148c09a42c8f019
### E-mail site invitation setting ###
notification.email.siteinvite=false
### File Protocol Root ###
protocols.rootPath=/${spaces.company_home.childname}/${spaces.sites.childname}
### License location ###
dir.license.external=/opt/alfresco-4.0.d
### Solr indexing ###
index.subsystem.name=solr
dir.keystore=${dir.root}/keystore
solr.port.ssl=8443
### BPM Engine ###
system.workflow.engine.jbpm.enabled=false
##Autenticacion##
authentication.chain=alfrescoNtlm1:alfrescoNtlm,passthru1:passthru,ldap1:ldap
ntlm.authentication.sso.enabled=false
ntlm.authentication.authenticateCIFS=false
alfresco.authentication.authenticateCIFS=false
alfresco.authentication.allowGuestLogin=false
passthru.authentication.sso.enabled=false
passthru.authentication.authenticateCIFS=true
ldap.authentication.active=false
ldap.synchronization.active=true
###Autenticación del dominio###
passthru.authentication.useLocalServer=false
passthru.authentication.domain=MIDOMINIO.NET
passthru.authentication.servers=IPDELDOMINIO
passthru.authentication.connectTimeout=5000
passthru.authentication.offlineCheckInterval=300
passthru.authentication.protocolOrder=TCPIP,NETBIOS
ldap.authentication.java.naming.security.authentication=simple
ldap.authentication.userNameFormat=%s
ldap.authentication.allowGuestLogin=false
ldap.authentication.java.naming.factory.initial=com.sun.jndi.ldap.LdapCtxFactory
ldap.authentication.java.naming.provider.url=ldap://IPDOMINIO:389
ldap.authentication.escapeCommasInBind=false
ldap.authentication.escapeCommasInUid=false
ldap.synchronization.java.naming.security.principal=USERADMINDOMINIO
ldap.synchronization.java.naming.security.credentials=PASSADMINDOMINIO
ldap.synchronization.queryBatchSize=1000
ldap.synchronization.groupDifferentialQuery=(&(objectclass=nogroup)(!(modifyTimestamp<={0})))
ldap.synchronization.personQuery=(&(objectclass=user)(userAccountControl:1.2.840.113556.1.4.803:=512))
ldap.synchronization.personDifferentialQuery=(& (objectclass=user)(!(modifyTimestamp<={0})))
ldap.synchronization.groupQuery=(objectclass=group)
###Sincronización por grupo y usuario por dominio###
ldap.synchronization.groupSearchBase=cn=users,dc=MIDOMINO.NET,dc=com
ldap.synchronization.userSearchBase=cn=users,dc=MIDOMINIO.NET,dc=com
ldap.synchronization.modifyTimestampAttributeName=modifyTimestamp
ldap.synchronization.timestampFormat=yyyyMMddHHmmss’.0Z’
ldap.synchronization.userIdAttributeName=sAMAccountName
ldap.synchronization.userFirstNameAttributeName=givenName
ldap.synchronization.userLastNameAttributeName=sn
ldap.synchronization.userEmailAttributeName=mail
ldap.synchronization.userOrganizationalIdAttributeName=msExchALObjectVersion
ldap.synchronization.defaultHomeFolderProvider=userHomesHomeFolderProvider
ldap.synchronization.groupIdAttributeName=cn
ldap.synchronization.groupType=Nogroup
ldap.synchronization.personType=user
ldap.synchronization.groupMemberAttributeName=member
synchronization.synchronizeChangesOnly=true

Normalmente la cuenta de administrador, se lo dejamos a la cuenta local del Alfresco.

IMPORTATE: No copien y peguen, solo modifiquen las lineas necesarias. Realicen el Backup de los archivos antes de modificarlos.

Comparte este artículo en tus redes
Share on facebook
Share on twitter
Share on linkedin
Share on whatsapp
Share on telegram
Share on email
11 comments on “Alfresco contra Zentyal ó AD
  1. Anónimo dice:

    Gracias por la ayuda, excelente, mi pregunta es: con cual parametro dejas al admin como local en alfresco?

  2. " authentication.chain=alfrescoNtlm1:alfrescoNtlm,passthru1:passthru,ldap1:ldap" En esta linea estamos usando NTLM (Windows), passthru1 (Autenticacion local) y LDAP. Eso significa que puedo usar o el admin local o el admin del dominio. Cualquier duda con gusto

  3. OxaSeis dice:

    Hola, copie lo de AD y me sale esto porque puede ser?
    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'globalAuthenticationFilter' defined in file [/opt/alfresco-4.0.d/tomcat/webapps/alfresco/WEB-INF/classes/alfresco/subsystems/Authentication/passthru/ntlm-filter-context.xml]: Cannot resolve reference to bean 'AuthenticationComponent' while setting bean property 'authenticationComponent'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'AuthenticationComponent' defined in file [/opt/alfresco-4.0.d/tomcat/webapps/alfresco/WEB-INF/classes/alfresco/subsystems/Authentication/passthru/passthru-authentication-context.xml]: Cannot resolve reference to bean 'authenticationComponent' while setting bean property 'target'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'authenticationComponent' defined in file [/opt/alfresco-4.0.d/tomcat/webapps/alfresco/WEB-INF/classes/alfresco/subsystems/Authentication/passthru/passthru-authentication-context.xml]: Cannot resolve reference to bean 'passthruServers' while setting bean property 'passthruServers'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'passthruServers' defined in file [/opt/alfresco-4.0.d/tomcat/webapps/alfresco/WEB-INF/classes/alfresco/subsystems/Authentication/passthru/passthru-authentication-context.xml]: Error setting property values; nested exception is org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are:
    y continua el mensaje…

    • Copiaste lo del AD? osea copiaste todas esas lineas un Copy/paste? si es asi restaura el backup (supongo que lo hiciste) del archivo, y solo configura las lineas de autenticacion que puse, si no las tienes solo copia esas lineas no edites las demas. Si algo cuentame como te fue

    • OxaSeis dice:

      Si perfecto ya funciono, gracias ahora quiero sincronizar las cuentas, hay que activar en ldap-authentication.properties ? y activar algun cron mas?

    • Cuando hablas de sincronizar cuentas a que te refieres? Por que al momento que enlazas el Alfrewsco con el LDAP o con el AD las cuentas se van agregando a medida que las personas se van logueando en Alfresco.

    • OxaSeis dice:

      Apesar de que puedo loguearme con usuarios del dominio sale este error un poco mas extenso pero al parecer por eso no sincroniza los usuarios

      06:54:07,988 INFO [org.alfresco.repo.security.sync.ChainingUserRegistrySynchronizer] Retrieving all groups from user registry 'ldap1'
      06:54:07,990 ERROR [org.alfresco.repo.security.sync.ChainingUserRegistrySynchronizer] Synchronization aborted due to error
      org.alfresco.repo.security.authentication.AuthenticationException: 08070020 LDAP authentication failed.

    • Al parecer ahi un problema con la conexión y sincronizancion con el servidor de cuentas de usuarios, valida de nuevo la información de tu servidor en la configuración del Alfresco como el user admin, el pass, el dominio, el nombre, el DC, la IP….

  4. OxaSeis dice:

    Si pero quiero que se agreguen todas, hay forma o eso no se puede? ya se authentica y todo, el que se loguea crea la cuenta en alfresco, pero quisiera que todas esten disponibles una forma de importarlas, porque quiero darle permisos a ciertos espacios y no puedo esperar que se logueen y tampoco pedirles la clave a cada uno. Se puede hacer eso, traer los usuarios sin esperar que se logueen? gracias por las respuestas

  5. Robel Pie dice:

    Hola Frank. sobe este mismo tema, ya tengo al alferesco sincronizado con el AD.y lo que tengo es un sitio moderado. pero como busco a los usuarios para invitarlos al sitio?

Deja un comentario

Nuestras Soluciones

En Redes