Openldap

De Wikillano

Instalación de paquetes:

apt-get install slapd
apt-get install phpldapadmin

crear password encriptado:

root@larisa:/etc/ldap# slappasswd
New password: 
Re-enter new password: 
{SSHA}ayzX95tIKLWmsioiHkSB/9Im8rDSGcii

Editar el fichero de conf de ldap

root@larisa:/etc/ldap# vim slapd.conf

debemos poner (debajo de SUFFIX) el usuario root del ldap junto con el passwd encritado que hemos creado.

dc=cambra,dc=es es el dominio base que yo me he inventado, tb podría ser dc=ballano,dc=net
#Administrador OpenLdap
rootdn "cn=admin,dc=cambra,dc=es"
rootpw {SSHA}ayzX95tIKLWmsioiHkSB/9Im8rDSGcii

si no lo hacemos debajo de suffix obtendremos el siguiente error: ERROR:

/etc/ldap/slapd.conf: line 62: rootpw can only be set when rootdn is
under suffix
slapd shutdown: freeing system resources.

Cambiamos la ubicacion de la bbdd "crear directorio" y copiar la carpeta al nuevo destino.

# Where the database file are physically stored for database #1
directory       "/data/var/lib/ldap"

debemos modificar todos los nodomain por el nuestro, por ej

"dc=ballano,dc=es"

modificar el fichero :

vim /etc/phpldapadmin/config.php

en esta linea el apartado en negrita:

$ldapservers->SetValue($i,'server','base',array('dc=cambra,dc=es'));

este es el fichero de conf de phpldapadmin.

reiniciamos: el ldap

/etc/init.d/slapd stop
/etc/init.d/slapd start


crear el fichero base.ldiff:

(mediante este ldiff crearemos la base desde donde colgará todo)

vim base.ldif

dn: dc=cambra,dc=es
dc: cambra
objectClass: top
objectClass: domain

ejecutar el fichero en el ldap mediante:

root@larisa:/etc/ldap# slapadd -b 'dc=cambra,dc=es' -l base.ldif

Reiniciamos slapd

En este momento ya podemos entrar en phpldapadmin para administrar nuestro ldap. desde la web http://localhost/phpldapadmin

usuario: cn=admin,dc=cambra,dc=es
pass: el que encritamos anteriormente


Phpldapadmin se instala por defecto en /usr/share/phpldapadmin , crea un link en el dir conf.d de apache2 que linca a un apache.conf propio. lo que podemos hacer es copiar el directorio /usr/share/phpldapadmin a el documenroot de apache.

IMPORTANTE BORRAR:

el link que phpldapmyadmin a creado en conf.d en el directorio de apache2 (en mi caso)

de esta manera podemos acceder a ldapadmin desde el dominio http://default/phpldapadmin


Esto es una copia del apache.conf a onde apunta el link de phpldapadmin, lo dejo aquí por si me es de utilidd más tarde.

##########este apartado no hace falta
######################################
y en el virtualhost default añadir el alias al phpldapadmin y las
opciones de directorio:

<IfModule mod_alias.c>
    Alias /phpldapadmin /var/www/phpldapadmin
</IfModule>

# You can also use phpLDAPadmin as a VirtualHost
# <VirtualHost *:*>
#     ServerName ldap.example.com
#     ServerAdmin root@example.com
#     DocumentRoot /usr/share/phpldapadmin
#     ErrorLog logs/ldap.example.com-error.log
#     CustomLog logs/ldap.example.com-access.log common
# </VirtualHost>

<Directory /var/www/phpldapadmin/>

   DirectoryIndex index.php
   Options +FollowSymLinks
   AllowOverride None

   Order allow,deny
   Allow from all

#    <IfModule mod_mime.c>
#
#    <IfModule mod_php4.c>
#    AddType application/x-httpd-php .php
#
#        php_flag magic_quotes_gpc Off
#        php_flag track_vars On
#        php_flag register_globals On
#        php_value include_path .
#     </IfModule>

     <IfModule !mod_php4.c>
       <IfModule mod_actions.c>
         <IfModule mod_cgi.c>
           AddType application/x-httpd-php .php

           Action application/x-httpd-php /cgi-bin/php4
         </IfModule>
       </IfModule>
     </IfModule>

   </IfModule>

</Directory>
#################este apartado no hace falta
######################################
Herramientas personales