Diferencia entre revisiones de «Instalación y configuración OpenLDAP»

De CURE - Informática
Ir a la navegación Ir a la búsqueda
Línea 126: Línea 126:
 
Si no da errores es que todo ha ido bien!
 
Si no da errores es que todo ha ido bien!
  
----
+
=== Convertir del viejo archivo de configuración slapd.conf al formato cn=config ===
 +
 
 +
Aquí explicaré con un ejemplo de como agregar los schemas de GOsa.
 +
 
 +
Para realizar esta tarea creamos el archivo slapd_convert.conf con el siguiente contenido:
 +
 
 +
<pre>
 +
include        /etc/ldap/schema/core.schema
 +
include        /etc/ldap/schema/cosine.schema
 +
include        /etc/ldap/schema/inetorgperson.schema
 +
include        /etc/ldap/schema/openldap.schema
 +
include        /etc/ldap/schema/nis.schema
 +
include        /etc/ldap/schema/misc.schema
 +
include        /etc/ldap/schema/trust.schema
 +
 
 +
include        /etc/ldap/schema/samba3.schema
 +
include        /etc/ldap/schema/gosystem.schema
 +
include        /etc/ldap/schema/gofon.schema
 +
include        /etc/ldap/schema/goto.schema
 +
include        /etc/ldap/schema/goto-mime.schema
 +
# Note: before 2.6.5 this file was named gosa+samba3.schema
 +
include        /etc/ldap/schema/gosa-samba3.schema
 +
include        /etc/ldap/schema/gofax.schema
 +
include        /etc/ldap/schema/openssh.schema
 +
include        /etc/ldap/schema/goserver.schema
 +
include        /etc/ldap/schema/fai.schema
 +
include        /etc/ldap/schema/dnszone.schema
 +
include        /etc/ldap/schema/rfc2739.schema
 +
include        /etc/ldap/schema/kolab2.schema
 +
include        /etc/ldap/schema/apple.schema
 +
include        /etc/ldap/schema/nagios.schema
 +
include        /etc/ldap/schema/phpgwaccount.schema
 +
include        /etc/ldap/schema/pureftpd.schema
 +
include        /etc/ldap/schema/phpscheduleit.schema
 +
include        /etc/ldap/schema/pptp.schema
 +
include        /etc/ldap/schema/openxchange.schema
 +
include        /etc/ldap/schema/dhcp.schema
 +
</pre>
 +
 
 +
Luego ejecutamos el siguiente comando.
 +
 
 +
$ slaptest -f slapd_convert.conf -F /usr/local/etc/openldap/slapd.d
 +
 
 +
Luego le cambiamos los permisos a todos los archivos del directorio /etc/ldap/slapd.d/cn=config/cn=schema/ con el siguiente comando.
  
 +
$ chown openldap:openldap /etc/ldap/slapd.d/cn=config/cn=schema/*
  
 +
Esto sería lo necesario para que quede GOsa funcionando.
 +
----
  
 
== phpldapadmin ==
 
== phpldapadmin ==

Revisión del 19:51 16 jun 2011

OpenLDAP

Para instalar OpenLDAP serán necesarios los paquetes slapd y ldap-utils, para instalar:

  $ aptitude install slapd ldap-utils

Luego lanzamos los siguientes comandos

  $ ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/cosine.ldif
  $ ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/nis.ldif
  $ ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/inetorgperson.ldif

creamos el archivo con la configuración para luego acceder a ldap

  $ mkdir ldapLaburo
  $ cd ldapLaburo
  $ vi datos_base_slapd

Editamos el archivo datos_base_slapd, un ejemplo es el siguiente:

root@paloma:~/ldapLaburo# cat datos_base_slapd.ldif 
# Load dynamic backend modules
dn: cn=module,cn=config
objectClass: olcModuleList
cn: module
olcModulepath: /usr/lib/ldap
olcModuleload: back_hdb

# Database settings
dn: olcDatabase=hdb,cn=config
objectClass: olcDatabaseConfig
objectClass: olcHdbConfig
olcDatabase: {1}hdb
olcSuffix: dc=ldap,dc=curerocha,dc=edu,dc=uy
olcDbDirectory: /var/lib/ldap
olcRootDN: cn=admin,dc=ldap,dc=curerocha,dc=edu,dc=uy
olcRootPW: secreto
olcDbConfig: set_cachesize 0 2097152 0
olcDbConfig: set_lk_max_objects 1500
olcDbConfig: set_lk_max_locks 1500
olcDbConfig: set_lk_max_lockers 1500
olcDbIndex: objectClass eq
olcLastMod: TRUE
olcDbCheckpoint: 512 30
olcAccess: to attrs=userPassword by dn="cn=admin,dc=ldap,dc=curerocha,dc=edu,dc=uy" write by anonymous auth by self write by * none
olcAccess: to attrs=shadowLastChange by self write by * read
olcAccess: to dn.base="" by * read
olcAccess: to * by dn="cn=admin,dc=ldap,dc=curerocha,dc=edu,dc=uy" write by * read

Le cambiamos el nombre:

$ mv datos_base_slapd datos_base_slapd.ldif

Y ejecutamos el siguiente comando:

$ ldapadd -Y EXTERNAL -H ldapi:/// -f datos_base_slapd.ldif

Creamos datos_frontend_slapd.ldif

$ vi datos_frontend_slapd.ldif

y le agregamos la siguiente información:

root@paloma:~/ldapLaburo# cat datos_frontend_slapd.ldif 
# Create top-level object in domain
dn: dc=ldap,dc=curerocha,dc=edu,dc=uy
objectClass: top
objectClass: dcObject
objectclass: organization
o: CURE Rocha
dc: ldap
description: Directorio LDAP del CURE 

# Admin user.
dn: cn=admin,dc=ldap,dc=curerocha,dc=edu,dc=uy
objectClass: simpleSecurityObject
objectClass: organizationalRole
cn: admin
description: LDAP administrator
userPassword: secreto 

dn: ou=gente,dc=ldap,dc=curerocha,dc=edu,dc=uy
objectClass: organizationalUnit
ou: gente 

dn: ou=groupos,dc=ldap,dc=curerocha,dc=edu,dc=uy
objectClass: organizationalUnit
ou: groupos

dn: uid=victor,ou=gente,dc=ldap,dc=curerocha,dc=edu,dc=uy
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
uid: victor
sn: Alem
givenName: Víctor
cn: Víctor Alem
displayName: Víctor Alem
uidNumber: 1000
gidNumber: 10000
userPassword: secreto1
gecos: Víctor Alem
loginShell: /bin/bash
homeDirectory: /home/john
shadowExpire: -1
shadowFlag: 0
shadowWarning: 7
shadowMin: 8
shadowMax: 999999
shadowLastChange: 10877
postalCode: 31000
l: Toulouse
o: Example
mobile: +33 (0)6 xx xx xx xx
homePhone: +33 (0)5 xx xx xx xx
title: System Administrator
postalAddress: 
initials: VA

confirmamos que todo este correcto con:

$ ldapadd -x -D cn=admin,dc=curerocha,dc=edu,dc=uy -W -f datos_frontend_slapd.ldif


Si no da errores es que todo ha ido bien!

Convertir del viejo archivo de configuración slapd.conf al formato cn=config

Aquí explicaré con un ejemplo de como agregar los schemas de GOsa.

Para realizar esta tarea creamos el archivo slapd_convert.conf con el siguiente contenido:

include         /etc/ldap/schema/core.schema
include         /etc/ldap/schema/cosine.schema
include         /etc/ldap/schema/inetorgperson.schema
include         /etc/ldap/schema/openldap.schema
include         /etc/ldap/schema/nis.schema
include         /etc/ldap/schema/misc.schema
include         /etc/ldap/schema/trust.schema

include         /etc/ldap/schema/samba3.schema
include         /etc/ldap/schema/gosystem.schema
include         /etc/ldap/schema/gofon.schema
include         /etc/ldap/schema/goto.schema
include         /etc/ldap/schema/goto-mime.schema
# Note: before 2.6.5 this file was named gosa+samba3.schema
include         /etc/ldap/schema/gosa-samba3.schema
include         /etc/ldap/schema/gofax.schema
include         /etc/ldap/schema/openssh.schema
include         /etc/ldap/schema/goserver.schema
include         /etc/ldap/schema/fai.schema
include         /etc/ldap/schema/dnszone.schema
include         /etc/ldap/schema/rfc2739.schema
include         /etc/ldap/schema/kolab2.schema
include         /etc/ldap/schema/apple.schema
include         /etc/ldap/schema/nagios.schema
include         /etc/ldap/schema/phpgwaccount.schema
include         /etc/ldap/schema/pureftpd.schema
include         /etc/ldap/schema/phpscheduleit.schema
include         /etc/ldap/schema/pptp.schema
include         /etc/ldap/schema/openxchange.schema
include         /etc/ldap/schema/dhcp.schema

Luego ejecutamos el siguiente comando.

$ slaptest -f slapd_convert.conf -F /usr/local/etc/openldap/slapd.d

Luego le cambiamos los permisos a todos los archivos del directorio /etc/ldap/slapd.d/cn=config/cn=schema/ con el siguiente comando.

$ chown openldap:openldap /etc/ldap/slapd.d/cn=config/cn=schema/*

Esto sería lo necesario para que quede GOsa funcionando.


phpldapadmin

instalar:

$ apt-get install phpldapadmin

Hacemos un respaldo de la configuración por defecto y editamos el archivo config.php

$ cp /etc/phpldapadmin/config.php /etc/phpldapadmin/config.php.orig
$ vi /etc/phpldapadmin/config.php

En este archivo editar las siguientes lineas:

$ldapservers->SetValue($i,'server','name','My LDAP Server');  // The name to display
$ldapservers->SetValue($i,'server','host','127.0.0.1');  // Address of the LDAP server
$ldapservers->SetValue($i,'server','base',array('dc=ldap,dc=curerocha,dc=edu,dc=uy'));  // Base dn
$servers->setValue('login','bind_id','cn=admin,dc=ldap,dc=curerocha,dc=edu,dc=uy');


Entramos por web https://ip_servidor/phpldapadmin e ingresamos el password configurado en el ldap.

Fuente:

OpenLDAP Server