bonjour à toutes et à tous,
une erreur peut survenir lors de la configuration de l'annuaire LDAP de
georchestra telle que définie sur
https://github.com/georchestra/georchestra/blob/15.06/doc/setup/openldap.md
en effet, dès lors que la machine sur laquelle s'effectue l'installation
a une adresse IP définie dans le DNS, alors l'annuaire LDAP installé par
"apt-get install slapd" concerne le nom du domaine dans lequel se trouve
la machine. seul le mot de passe de l'administrateur LDAP est demandé.
en revanche, si l'adresse IP n'est pas définie dans le DNS, alors
l'annuaire LDAP concernera le domaine
nodomain.org.
conséquence : si le domaine choisi par "apt-get install slapd" contient
le même nom de domaine que georchestra, alors il y aura un échec lors de
l'ajout de bootstrap.ldif ! :-(
démonstration par l'exemple.
1) vérifions d'abord que notre IP est bien définie dans le DNS :
[echiarello@Service-info12 ~]$ dig -x 193.55.67.152
; <<>> DiG 9.9.7-P3 <<>> -x 193.55.67.152
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 53025
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4000
;; QUESTION SECTION:
;152.67.55.193.in-addr.arpa. IN PTR
;; ANSWER SECTION:
152.67.55.193.in-addr.arpa. 86400 IN PTR
atelier2.univ-fcomte.fr.
notre machine s'appelle donc
atelier2.univ-fcomte.fr. c'est une debian
8.1, vierge de toute installation de slapd avant ce test.
2) on constate, après installation de slapd, que l'annuaire LDAP
concerne le domaine
univ-fcomte.fr :
root@atelier2:~# grep -r univ-fcomte /etc/ldap
/etc/ldap/slapd.d/cn=config/olcDatabase={1}mdb.ldif:olcSuffix:
dc=univ-fcomte,dc=fr
/etc/ldap/slapd.d/cn=config/olcDatabase={1}mdb.ldif:olcRootDN:
cn=admin,dc=univ-fcomte,dc=fr
3) on corrige alors bootstrap.ldif pour remplacer de
"dc=georchestra,dc=org" par "dc=univ-fcomte,dc=fr".
root@atelier2:~# grep -r univ-fcomte /tmp/
/tmp/bootstrap.ldif:olcSuffix: dc=univ-fcomte,dc=fr
/tmp/bootstrap.ldif:olcRootDN: cn=admin,dc=univ-fcomte,dc=fr
/tmp/bootstrap.ldif:olcAccess: to attrs=userPassword by
dn="cn=admin,dc=univ-fcomte,dc=fr" write by anonymous auth by self write
by * none
/tmp/bootstrap.ldif:olcAccess: to * by
dn="cn=admin,dc=univ-fcomte,dc=fr" write by * read
4) mais l'intégration de bootstrap.ldif échoue : >:o
root@atelier2:~# ldapadd -Y EXTERNAL -H ldapi:/// -f /tmp/bootstrap.ldif
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
adding new entry "olcDatabase=mdb,cn=config"
ldap_add: Other (e.g., implementation specific) error (80)
additional info: <olcSuffix> namingContext "dc=univ-fcomte,dc=fr"
already served by a preceding mdb database
CQFD...
y a plus qu'à corriger la doc, mais je ne vois pas comment le faire de
manière simple.
la solution de contournement, c'est de reconfigurer l'annuaire LDAP avec
le domaine
nodomain.org, ou autre chose qui n'existe pas.
root@atelier2:~# dpkg-reconfigure slapd
répondre aux questions :
-
nodomain.org
- my-organisation
vérifier que nodomain concerne la base olcDatabase{1} :
root@atelier2:~# grep -r nodomain /etc/ldap
/etc/ldap/slapd.d/cn=config/olcDatabase={1}mdb.ldif:olcSuffix:
dc=nodomain,dc=org
/etc/ldap/slapd.d/cn=config/olcDatabase={1}mdb.ldif:olcRootDN:
cn=admin,dc=nodomain,dc=org
intégrer le bootstrap.ldif :
root@atelier2:~# ldapadd -Y EXTERNAL -H ldapi:/// -f /tmp/bootstrap.ldif
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
adding new entry "olcDatabase=mdb,cn=config"
vérifier que
univ-fcomte.fr concerne bien la base olcDatabase{2} :
root@atelier2:~# grep -r univ-fcomte /etc/ldap
/etc/ldap/slapd.d/cn=config/olcDatabase={2}mdb.ldif:olcSuffix:
dc=univ-fcomte,dc=fr
/etc/ldap/slapd.d/cn=config/olcDatabase={2}mdb.ldif:olcAccess: {0}to
attrs=userPassword by dn="cn=admin,dc=univ-fcomte,dc=fr" wr
/etc/ldap/slapd.d/cn=config/olcDatabase={2}mdb.ldif:olcAccess: {3}to *
by dn="cn=admin,dc=univ-fcomte,dc=fr" write by * read
/etc/ldap/slapd.d/cn=config/olcDatabase={2}mdb.ldif:olcRootDN:
cn=admin,dc=univ-fcomte,dc=fr
voilà voilà...
seuls les novices peuvent rencontrer ce genre de problème, et ceux qui
réinstallent from scratch.
qu'en pensez-vous ?
Ernest.
--
Ernest CHIARELLO -
Ernest.C...@univ-fcomte.fr
UMR6049 ThéMA -- CNRS / université de Franche-Comté
32 rue Mégevand 25030 Besançon cedex
Tel : 03 81 66 54 80 Mob : 07 82 99 11 08