Per tant cal fer:
sudo apt-get install slapd ldap-utils php5-ldap php5-gd php5-cli php5-mysql phpldapadmin sudo apt-get install perl perl-base perl-modules libnet-ldap-perl libcrypt-passwdmd5-perl zip unzip sudo apt-get install php-mail php-net-smtp
Per testejar el fitxer de configuracio slap.conf
sudo slaptest -v
Per abocar la informació de la B.D. en format ldif
sudo slapcat
Per veure si la B.D. ldap funciona:
ldapsearch -x -b '' -s base '(objectclass=*)' namingContexts
Per afegir entrades a la B.D. des del fitxer dades.txt:
ldapadd -x -D "cn=admin,dc=codilliure,dc=org" -W -f dades.txt
Per veure les entrades de la B.D.:
ldapsearch -x -b 'dc=codilliure,dc=org' '(objectclass=*)'
Per eliminar l'entrada “cn=Jordi Esteve,ou=professor,dc=codilliure,dc=org”
ldapdelete -x -D "cn=admin,dc=codilliure,dc=org" -W "cn=Jordi Esteve,ou=professor,dc=codilliure,dc=org"
Podem veure les entrades des de konqueror amb
ldap://127.0.0.1/dc=codilliure,dc=org ldap://127.0.0.1/ou=professor,dc=codilliure,dc=org
1.Copiar fitxers phpgwaccount.schema i phpgwcontact.schema a /etc/ldap/schema/
cp phpgwaccount.schema /etc/ldap/schema/ cp phpgwcontact.schema /etc/ldap/schema/
2.Editar fitxer /etc/ldap/slapd.conf afegint les següents línies després de les que apareixen core.schema i cosine.schema
include /etc/openldap/schema/phpgwaccount.schema include /etc/openldap/schema/phpgwcontact.schema
Jo també he afegit la següent línia pq la llibreta d'adreces de mozilla i thunderbird sigui capaç d'agafar la informació de contactes de LDAP:
include /etc/openldap/schema/mozillaOrgPerson.schema
Aquí hi ha un tros de llistat del fitxer /etc/ldap/slapd.conf on es defineix la B.D. ldap
database bdb
# The base of your directory in database #1
suffix "dc=codilliure,dc=org"
# Where the database file are physically stored for database #1
directory "/var/lib/ldap"
# Indexing options for database #1
index default eq
index objectClass eq
index phpgwContactOwner pres,eq,sub
index uidNumber pres,eq
# Save the time that the entry gets modified, for database #1
lastmod on
rootdn "cn=admin,dc=codilliure,dc=org"
rootpw {CRYPT}passwordencriptada
El domini, base o arrel de l'arbre ldap dc=codilliure,dc=org pot ser qualsevol, aquí s'ha fet en base a un domini d'internet però també és vàlid posar un sol nom, el de l'organització o empresa, per exemple, dc=codilliure.
L'usuari cn=admin,dc=codilliure,dc=org serà l'administrador principal de la B.D. ldap anomenada bdb.
La seva password passwordencriptada s'ha de substituir per la generada amb la comanda:
/usr/sbin/slappasswd -h'{CRYPT}'
Cal esborrar la informació de la B.D. creada per defecte (veure https://help.ubuntu.com/community/OpenLDAPServer):
sudo /etc/init.d/slapd stop cd /var/lib sudo mv ldap ldap.bak sudo mkdir ldap
Ja podem iniciar el servidor openLDAP amb:
sudo /etc/init.d/slapd start
I provar que tot funciona amb les comandes:
sudo slaptest -v sudo slapcat ldapsearch -x -b '' -s base '(objectclass=*)' namingContexts
Editar un fitxer amb el nom de dades.ldif amb les següents línies. Recorda canviar dc=codilliure,dc=org pel que pertoqui.
# Organització dn: dc=codilliure,dc=org objectClass: dcObject objectClass: organizationalUnit dc: codilliure ou: Nom organització l: Vilafranca del Penedes st: Catalunya # People, edge-it, subnet dn: ou=People,dc=codilliure,dc=org objectClass: top objectClass: organizationalUnit ou: People # Groups, edge-it, subnet dn: ou=Groups,dc=codilliure,dc=org objectClass: top objectClass: organizationalUnit ou: Groups
I afegim entrades a la B.D. des del fitxer dades.ldif:
ldapadd -x -D "cn=admin,dc=codilliure,dc=org" -W -f dades.ldif
Si es vol treballar amb eGroupWare sobre LDAP es aconsellable crear algunes entrades addicionals a LDAP:
# Organització dn: dc=centreescolar objectClass: dcObject objectClass: organizationalUnit dc: centreescolar ou: IES l: Vilafranca del Penedes st: Catalunya # People, edge-it, subnet dn: ou=People,dc=centreescolar objectClass: top objectClass: organizationalUnit ou: People # Groups, edge-it, subnet dn: ou=Groups,dc=centreescolar objectClass: top objectClass: organizationalUnit ou: Groups ### 4 grups bàsics ### dn: cn=Alumnes,ou=groups,dc=centreescolar objectClass: top objectClass: posixGroup cn: Alumnes gidNumber: 1001 dn: cn=Professors,ou=groups,dc=centreescolar objectClass: top objectClass: posixGroup gidNumber: 1002 cn: Professors dn: cn=Default,ou=groups,dc=centreescolar objectClass: top objectClass: posixGroup gidNumber: 1003 cn: Default dn: cn=Admins,ou=groups,dc=centreescolar objectClass: top objectClass: posixGroup gidNumber: 1006 cn: Admins ### Per si la llibreta de contactes i/o la llibreta d'alumnes es guarden en LDAP ### dn: ou=contactes,dc=centreescolar objectClass: top objectClass: organizationalUnit ou: contactes dn: ou=alumnes,dc=centreescolar objectClass: top objectClass: organizationalUnit ou: alumnes
sudo /etc/init.d/slapd stop cd /var/lib sudo mv ldap ldap.bak sudo mkdir ldap sudo chown openldap.openldap ldap sudo /etc/init.d/slapd start sudo /etc/init.d/slapd stop sudo slapadd -l /home/backups/backup/ldap.ldif sudo chown openldap.openldap ldap/* -R sudo /etc/init.d/slapd start