IMPORTANT: Per accedir als fitxer de subversion: http://acacha.org/svn (sense password). Poc a poc s'aniran migrant els enllaços. Encara però funciona el subversion de la farga però no se sap fins quan... (usuari: prova i la paraula de pas 123456)

Servidor de comunicacions Institut les Planes

Servidor de replica Ldap

  • Per aconseguir una còpia del nostre servidor Ldap podem utilitzar tres mètodes:
  1. Copiar directament els fitxers.
  2. Utilitzar les comandes slapcat | slapadd.
  3. L'aplicació NinjaBackup.
  • 1Copiar directament els fitxers.

El primer que farem serà instal·lar aquest paquet, en la màquina en la que volem tenir una còpia del servidor Ldap.

# apt-get install slapd ldap-utils 

També aturarem el servei Ldap en el servidor:

# service slapd stop

Ara farem una còpia de les carpetes necessàries, amb:

# mv /var/lib/ldap /var/lib/ldap.backup
# mv /etc/ldap /etc/ldap.backup

Després còpiem els arxius al client

# scp -pr [email protected]:/var/lib/ldap.backup /var/lib/
# scp -pr [email protected]:/etc/ldap.backup /etc/

Ara arreglem els permisos:

# chown -R openldap:openldap /var/lib/ldap.backup
# chown -R openldap:openldap /etc/ldap.backup/slapd.d

Finalment ja podem provar la còpia, en el client activem Ldap:

# service slapd start
  • 2Utilitzar les comandes slapcat | slapadd.

El primer que farem serà instal·lar aquest paquet, en la màquina en la que volem tenir una còpia del servidor Ldap.

# apt-get install slapd ldap-utils 

També aturarem el servei Ldap en el servidor:

# service slapd stop

Amb aquesta comanda fem una còpia del servidor Ldap.

# slapcat > ldapbackup.ldif

Ara farem una còpia de les carpetes necessàries, amb:

# mv /etc/ldap /etc/ldap.copia

Després còpiem els arxius a la màquina que farà de servidor de replica.

# scp -pr [email protected]:/etc/ldap.copia /etc
  • Areglem els permisos, amb:
# chown -R openldap:openldap /etc/ldap.copia/slapd.d
  • 3NinjaBackup
  • Aquest paquet és per fer còpies de backup, entre d'altres opcions podem fer una copia del servei Ldap
  • Per instal·lar-lo executem:
# apt-get install backupninja
  • Per executar-lo:
# ninjahelper
  • La primera interfície que ens apareix és:
Davidginovartldapninja.png
  • Pitgem a new i ens apareix:
Davidginovartldapninja1.png
  • Ens dona el següent error:
Davidginovartldapninja2.png
  • Modifico el fitxer
Davidginovartldapninja30.png
Davidginovartldapninja40.png
  • Ara hem de crear el fitxer:
$ sudo nano /etc/backup.d/30.ldap
  • I dins posar-hi:
method = ldapsearch
compress = yes
restart = no
binddn = cn=admin,dc=inslesplanes,dc=santabarbara,dc=cat
passwordfile = /etc/backup.d/.password.ldap
ssl = no
tls = no
# backupdir = /var/backups/ldap
# conf = /etc/ldap/slapd.conf
# databases = all
databases = dc=inslesplanes,dc=santabarbara,dc=cat
  • Ara tornem a executar el ninja backup i apareix una opció nova:
Cortegaldapninja41.jpeg
  • No funcionarà.
Cortegaldapninja42.jpeg
  • Ara creem una nova amb new li diem que LDAP , slapcat li donen a run.
Cortegaldapninja43.jpeg
  • I ja puc executar la còpia de seguretat
Davidginovartldapninja5.png

Servidor de rèplica

  • Per aconseguir un servidor de rèplica del servei Ldap, hem de fer primer una còpia exacta de la base de dades de Ldap i les carpetes necessàries, com hem explicat en els punts anteriors, ja que si no es així la rèplica Ldap no ens funcionarà i la màquina ens podria petar.
  • Definicions:
  • Consumidor (consumer): Servidors esclaus o rèplica
  • Proveïdor (provider): Servidors master

Tot seguit veurem la configuració del servidor mestre (master o provider).

Servidor Master

Configuració amb cn=config

  • Creem una carpeta on guardar els fitxers necessaris per fer la configuració:
$ mkdir /etc/ldap/configurarreplica/
$ cd /etc/ldap/configurarreplica/
  • Creem un fitxer LDIF:
$ sudo nano provider_sync.ldif
  • I afegim dintre:
# Add indexes to the frontend db.
dn: olcDatabase={1}hdb,cn=config
changetype: modify
add: olcDbIndex
olcDbIndex: entryCSN eq
-
add: olcDbIndex
olcDbIndex: entryUUID eq
#Load the syncprov and accesslog modules.
dn: cn=module{0},cn=config
changetype: modify
add: olcModuleLoad
olcModuleLoad: syncprov
-
add: olcModuleLoad
olcModuleLoad: accesslog
# Accesslog database definitions
dn: olcDatabase={2}hdb,cn=config
objectClass: olcDatabaseConfig
objectClass: olcHdbConfig
olcDatabase: {2}hdb
olcDbDirectory: /var/lib/ldap/accesslog
olcSuffix: cn=accesslog
olcRootDN: cn=admin,dc=inslesplanes,dc=santabarbara,dc=cat
olcDbIndex: default eq
olcDbIndex: entryCSN,objectClass,reqEnd,reqResult,reqStart
# Accesslog db syncprov.
dn: olcOverlay=syncprov,olcDatabase={2}hdb,cn=config
changetype: add
objectClass: olcOverlayConfig
objectClass: olcSyncProvConfig
olcOverlay: syncprov
olcSpNoPresent: TRUE
olcSpReloadHint: TRUE
# syncrepl Provider for primary db
dn: olcOverlay=syncprov,olcDatabase={1}hdb,cn=config
changetype: add
objectClass: olcOverlayConfig
objectClass: olcSyncProvConfig
olcOverlay: syncprov
olcSpNoPresent: TRUE
# accesslog overlay definitions for primary db
dn: olcOverlay=accesslog,olcDatabase={1}hdb,cn=config
objectClass: olcOverlayConfig
objectClass: olcAccessLogConfig
olcOverlay: accesslog
olcAccessLogDB: cn=accesslog
olcAccessLogOps: writes
olcAccessLogSuccess: TRUE
# scan the accesslog DB every day, and purge entries older than 7 days
olcAccessLogPurge: 07+00:00 01+00:00

Hem de tindre en compte que hem de canviar la línia olcRootDN: cn=admin,dc=inslesplanes,dc=santabarbara,dc=cat i adaptar-la a la del nostre servidor

  • Ara creem la carpeta /var/lib/ldap/accesslog/:
$ sudo -u openldap mkdir /var/lib/ldap/accesslog
$ sudo -u openldap cp /var/lib/ldap/DB_CONFIG /var/lib/ldap/accesslog/
  • I també cal modificar la configuració de Apparmor:
$ sudo nano /etc/apparmor.d/usr.sbin.slapd
  • Afegim les línies:
/var/lib/ldap/accesslog/ r,
/var/lib/ldap/accesslog/** rwk,

Al final del fitxer (abans però del }).

  • Torneu a iniciar Apparmor:
$ sudo /etc/init.d/apparmor reload
  • I ara executem:
$ sudo ldapadd -Y EXTERNAL -H ldapi:/// -f provider_sync.ldif
  • O si ja teniu establerta una paraula de pas per tal de poder modificar la configuració de Ldap:
$ sudo ldapadd -x -D cn=admin,cn=config -W -f provider_sync.ldif

Servidor Slave (Esclau o Consumer)

  • El servidor Ldap esclau (en terminologia de syncrepl el consumidor) cal configurar-lo de la mateixa manera que el servidor Master (proveïdor). Seguiu doncs les passes de:
Ldap#Instal.C2.B7laci.C3.B3
  • Només les opcions referents a syncrepl seran diferents. Creeu un fitxer anomenat consumer_sync.ldif a:
$ sudo mkdir /etc/ldap/configurareplica/
$ cd /etc/ldap/configurareplica/
  • amb el següent contingut:
$ sudo nano consumer_sync.ldif
#Load the syncprov module.
dn: cn=module{0},cn=config
changetype: modify
add: olcModuleLoad
olcModuleLoad: syncprov
# syncrepl specific indices
dn: olcDatabase={1}hdb,cn=config
changetype: modify
add: olcDbIndex
olcDbIndex: entryUUID eq
-
add: olcSyncRepl
olcSyncRepl: rid=0 provider=ldap://ldap.inslesplanes.santabarbara.cat bindmethod=simple binddn="cn=admin,dc=inslesplanes,dc=santabarbara,dc=cat" 
credentials=secret searchbase="dc=inslesplanes,dc=santabarbara,dc=cat" logbase="cn=accesslog" 
logfilter="(&(objectClass=auditWriteObject)(reqResult=0))" schemachecking=on 
type=refreshAndPersist retry="60 +" syncdata=accesslog
-
add: olcUpdateRef
olcUpdateRef: ldap://ldap.inslesplanes.santabarbara.cat
  • Un exemple més concret:
{0}rid=0 provider=ldap://ldap.inslesplanes.santabarbara.cat bindmethod=simple starttls=critical  binddn="cn=admin,dc=inslesplanes,dc=santabarbara,dc=com" credentials=PASSWORD 
searchbase="dc=inslesplanes,dc=santabarbara,dc=com" logbase="cn=accesslog" logfilter="(&(objectClass=auditWriteObject)(reqResult=0))" schemachecking=off 
type=refreshAndPersist retry="60 +" syncdata=accesslog
  • Un cop tinguem el fitxer salvat:
$ sudo ldapadd -c -Y EXTERNAL -H ldapi:/// -f consumer_sync.ldif
  • O si hem canviat els permisos per accedir al config:
$ sudo ldapadd -x -D cn=admin,cn=config -W -f consumer_sync.ldif

Vegeu També