Actions
Evolution #993
ouvertAnomalie #992: ALFRESCO Documentation dâinstallation
đ Documentation : IntĂ©gration Active Directory - Alfresco Community
Début:
07 février 2026
Echéance:
% réalisé:
100%
Temps estimé:
1:00 h
Description
đ Documentation : IntĂ©gration Active Directory - Alfresco Community¶
Projet : Liaison ACS 25.3.0 avec l'AD fontainefinances.group
Date : 07 Février 2026
Statut : Opérationnel (39 utilisateurs synchronisés)
1. Points Bloquants et RĂ©solutions¶
| Point Bloquant | Cause Technique | Résolution |
|---|---|---|
| 0 utilisateurs synchronisés | Le filtre LDAP par défaut ne distinguait pas les personnes des autres objets AD. | Ajout du filtre spécifique AD : (&(objectClass=user)(objectCategory=person)). |
| Crash Alfresco au démarrage | Les parenthÚses () dans les filtres LDAP étaient interprétées par le Shell Linux (Bash) comme des commandes. |
Encapsulation des requĂȘtes LDAP entre guillemets " dans le fichier Compose. |
| Fichier de config non lu | ProblÚme de montage de volume ou de priorité de lecture des propriétés. | Injection directe des paramÚtres dans la section environment:JAVA_OPTS du YAML. |
| Erreur de conteneur inexistant | Confusion entre le nom du service et le nom réel du conteneur Docker. | Utilisation du préfixe exact généré : docker-compose-alfresco-1. |
2. Architecture de la Solution¶
L'authentification est configurée en mode mixte (Chaining) :
- alfrescoNtlm1 : Pour le compte
adminlocal (secours). - ldap1 : Pour tous les utilisateurs de l'AD
fontainefinances.group.
3. Fichier de Configuration Final (community-compose.yaml)¶
Voici le fichier complet et validĂ©, prĂȘt Ă ĂȘtre archivĂ© ou rĂ©utilisĂ©.
sudo tee community-compose.yaml << 'EOF'
services:
alfresco:
image: docker.io/alfresco/alfresco-content-repository-community:25.3.0
mem_limit: 1900m
environment:
JAVA_TOOL_OPTIONS: >-
-Dencryption.keystore.type=JCEKS
-Dencryption.cipherAlgorithm=DESede/CBC/PKCS5Padding
-Dencryption.keyAlgorithm=DESede
-Dencryption.keystore.location=/usr/local/tomcat/shared/classes/alfresco/extension/keystore/keystore
-Dmetadata-keystore.password=mp6yc0UD9e
-Dmetadata-keystore.aliases=metadata
-Dmetadata-keystore.metadata.password=oKIWzVdEdA
-Dmetadata-keystore.metadata.algorithm=DESede
JAVA_OPTS: >-
-Ddb.driver=org.postgresql.Driver
-Ddb.username=alfresco
-Ddb.password=alfresco@Ventis2025
-Ddb.url=jdbc:postgresql://postgres:5432/alfresco
-Dsolr.host=solr6
-Dsolr.port=8983
-Dsolr.http.connection.timeout=1000
-Dsolr.secureComms=secret
-Dsolr.sharedSecret=secret
-Dsolr.base.url=/solr
-Dindex.subsystem.name=solr6
-Dshare.host=alfresco
-Dshare.port=8080
-Dalfresco.host=alfresco
-Dalfresco.port=8080
-Dcsrf.filter.enabled=false
-Daos.baseUrlOverwrite=http://localhost:18080/alfresco/aos
-Dmessaging.broker.url="failover:(nio://activemq:61616)?timeout=3000&jms.useCompression=true"
-Ddeployment.method=DOCKER_COMPOSE
-DlocalTransform.core-aio.url=http://transform-core-aio:8090/
-XX:MinRAMPercentage=50
-XX:MaxRAMPercentage=80
-Dauthentication.chain=alfrescoNtlm1:alfrescoNtlm,ldap1:ldap
-Dldap.authentication.active=true
-Dldap.authentication.java.naming.provider.url=ldap://172.23.2.55:389
-Dldap.authentication.java.naming.security.authentication=simple
-Dldap.authentication.userNameFormat=%s@fontainefinances.group
-Dldap.synchronization.java.naming.security.principal=CN=alfresco_user,OU=APP,OU=VENTIS,DC=fontainefinances,DC=group
-Dldap.synchronization.java.naming.security.credentials=Admin@2025
-Dldap.synchronization.userSearchBase=OU=VENTIS,DC=fontainefinances,DC=group
-Dldap.synchronization.groupSearchBase=OU=VENTIS,DC=fontainefinances,DC=group
-Dldap.synchronization.personQuery="(&(objectClass=user)(objectCategory=person))"
-Dldap.synchronization.groupQuery="(objectClass=group)"
-Dldap.synchronization.userIdAttributeName=sAMAccountName
-Dldap.synchronization.userFirstNameAttributeName=givenName
-Dldap.synchronization.userLastNameAttributeName=sn
-Dldap.synchronization.userEmailAttributeName=mail
-Dldap.synchronization.active=true
-Dldap.synchronization.syncOnStartup=true
ports:
- "18080:8080"
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8080/alfresco/api/-default-/public/alfresco/versions/1/probes/-ready-"]
interval: 30s
timeout: 3s
retries: 5
start_period: 1m
volumes:
- alfresco_data:/usr/local/tomcat/alf_data
extends:
file: commons/base.yaml
service: alfresco
share:
image: docker.io/alfresco/alfresco-share:25.3.0
mem_limit: 1g
environment:
CSRF_FILTER_ORIGIN: http://localhost:18080
CSRF_FILTER_REFERER: http://localhost:18080/share/.*
REPO_HOST: alfresco
REPO_PORT: 8080
JAVA_OPTS: >-
-XX:MinRAMPercentage=50
-XX:MaxRAMPercentage=80
-Dalfresco.host=alfresco
-Dalfresco.port=8080
-Dalfresco.context=alfresco
-Dalfresco.protocol=http
ports:
- "18081:8080"
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8080/share"]
interval: 20s
timeout: 2s
retries: 3
start_period: 15s
depends_on:
alfresco:
condition: service_healthy
extends:
file: commons/base.yaml
service: share
postgres:
image: postgres:16.5
mem_limit: 512m
environment:
POSTGRES_DB: alfresco
POSTGRES_USER: alfresco
POSTGRES_PASSWORD: alfresco@Ventis2025
command: postgres -c max_connections=300 -c log_min_messages=LOG
ports:
- "15432:5432"
healthcheck:
test: ["CMD-SHELL", "pg_isready -d alfresco -U alfresco"]
interval: 10s
timeout: 3s
retries: 3
start_period: 5s
volumes:
- postgres_data:/var/lib/postgresql/data
solr6:
image: docker.io/alfresco/alfresco-search-services:2.0.17
mem_limit: 2g
environment:
SOLR_ALFRESCO_HOST: alfresco
SOLR_ALFRESCO_PORT: 8080
SOLR_SOLR_HOST: solr6
SOLR_SOLR_PORT: 8983
SOLR_CREATE_ALFRESCO_DEFAULTS: alfresco,archive
ALFRESCO_SECURE_COMMS: secret
JAVA_TOOL_OPTIONS: >-
-Dalfresco.secureComms.secret=secret
ports:
- "18083:8983"
transform-core-aio:
image: alfresco/alfresco-transform-core-aio:5.3.0
mem_limit: 1536m
environment:
JAVA_OPTS: >-
-XX:MinRAMPercentage=50
-XX:MaxRAMPercentage=80
ports:
- "18090:8090"
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8090/ready"]
interval: 20s
timeout: 2s
retries: 3
start_period: 10s
depends_on:
activemq:
condition: service_healthy
activemq:
image: alfresco/alfresco-activemq:5.18-jre17-rockylinux8
mem_limit: 1g
ports:
- "18161:8161"
- "15672:5672"
- "16161:61616"
- "16113:61613"
healthcheck:
test: ["CMD", "/opt/activemq/bin/activemq", "query", "--objname", "type=Broker,brokerName=*,service=Health"]
interval: 10s
timeout: 5s
retries: 5
start_period: 5s
volumes:
alfresco_data:
postgres_data:
EOF
4. Commande de VĂ©rification Rapide¶
Pour auditer la santé de la synchronisation à l'avenir :
docker logs docker-compose-alfresco-1 2>&1 | grep -i "User Creation and Association"
Aucune donnée à afficher
Actions