Installare un server LDAP ( micro howto )

Prima di tutto .. Che cos’è un server LDAP ?

La sigla LDAP è l’acronimo di Lightweight Directory Access Protocol ( protocollo “leggero” per l’accesso a servizi di directory) ed ha funzioni di accesso simili a quelle di un database.

La differenza sostanziale può essere cercata nella parola “leggero”: si tratta cioè di un sistema che ha alcune funzioni di un database ma è specializzato in modo da ottimizzare le prestazioni per l’uso attraverso la rete in operazioni di lettura, lista e ricerca di informazioni contenute in un “server” LDAP, ovvero un sistema che risponde a richieste di operazioni da parte di “clienti” effettuate mediante il protocollo stabilito.
Un server LDAP consente di effettuare operazioni di inserzione, cancellazione ed aggiornamento dei dati, come un database generico, ma e’ ottimizzato per effettuare operazioni di ricerca ed accesso alle informazioni.

Se usate sarge ( debian ) è una passeggiata … # apt-get install slapd
A questo punto parte un wizard di configurazione dove ci viene chiesto il nome del dominio ( in pratica il nome della radice del nostro albero gerarchico ) e la password di amministratore.

Se sbagliamo qualcosa o vogliamo riconfigurarlo basta digitare # dpkg-reconfigura slapd in questo modo farete ripartite il wizard di prima quante volte vorrete.

A questo punto vi chiederete come diavolo facciamo per amministrarlo …
Bhe … io ho provato diversi tools poi ho trovato la pace dei sensi con phpldapadmin.

Grazie a sarge installarlo è davvero banale: # apt-get install phpldapadmin.
Per usarlo avremo bisogno di apache , php e alcune estensioni di php … fortunatamente apt si occupa delle dipendenze e dopo aver riavviato il webserver ( # /etc/init.d/apache restart) possiamo collegarci al seguente indirizzo: http://ip-del-server/phpldapadmin.

Dopo aver digitato la password saremo liberi di aggiungere tutti i nodi di cui avremo bisogno scegliando tra diversi template per l’inserimento.

Durante i miei esperimenti ho avuto dei problemi con l’accesso amministrativo che ho risolto indicando nel file di configurazione di phpldapadmin ( che dovreste trovare in /etc/phpopenldapadmin/) l’accesso tramite sessioni e non tramire cookies.

Per i possibili usi di questo servizio immagino che abbiate già i vostri obbiettivi …

Io personalmente avevo bisogno di una rubrica condivisa sui client di posta elettronica.

Riferimenti:

http://www.debian.org/releases/stable/

http://www.openldap.org/

http://phpldapadmin.sourceforge.net/

21 commenti

  1. Potresti mandarmi della documentazione sull’installazione del server LDAP su windows, non riesco a capire cosa devo fare con i file copy.php e config_default.php
    Ti ringrazio anticipatamente.

  2. 1. il tutorial che hai letto è per debian, ( una distribuzione linux ) quindi se cerchi documentazione per un server sotto windows ti consiglio google ( http://www.google.it/search?q=openldap+windows ).
    ( il primo link è http://lucas.bergmans.us/hacks/openldap/ )

    2. non capisco copy.php e config_default.php cosa centrano con il server …
    quelli ( forse ) sono 2 file che fanno parte di phpmyadmin.
    se vuoi usare questo client sotto windows prova ad installare apache o se hai fretta xampp ( http://www.apachefriends.org/en/xampp-windows.html )

    3. Per windows esistono diversi prodotti commerciali che probabilmente ti possono semplificare la vita.
    valuta se il livello delle tue conoscenze e sufficente per gestire un installazione di software pensato per un altra piattaforma.

    … in bocca al lupo

  3. Scusa ma avevo capito male io, phpldapadmin è solo un client per interfacciarsi ad un server LDAP, correggimi se sbaglio, quindi dovrei avere precedentemente installato un server LDAP.
    Saluti Massimiliano

  4. esattamente 🙂

    phpldapadmin è solo uno dei tanti client per la gestione di un server ldap.
    la mia scelta è dettata dalla semplicità di installazione tramite apt-get e dal fatto che da qualsiasi client sià poi possibile amministrarlo senza ulteriori ammennicoli.

  5. Come dicevo nella guida avevo bisogno di un client di posta con la rubrica via ldap …

    Sotto windows ho usato sia outlook che outlook express ( ma solo in lettura )
    Anche Thunderbird dovrebbe andare ma non ho mai sperimentato a fondo.

    Ho poi anche installato un plugin per squirrelmail ( webmail ) anche se ad oggi non credo venga usato.

    Per l’inserimento/modifica dei nuovi indirizzi e/o gruppi ho sempre fatto tutto con phpldapadmin.

  6. Ho debian sarge ed ho installato sia slapd che phpldapadmin. Tutto sembra funzionare bene, ma, dopo essermi loggato come admin, se tento di aggiungere un “Address Book Entry (mozillaOrgPerson)” mi becco un:

    Error

    Could not add the object to the LDAP server.

    LDAP said: Undefined attribute type
    Error number: 0x11 (LDAP_UNDEFINED_TYPE)
    Description: The attribute type specified is invalid.

    Ho provato a reinstallare dopo aver dato un purge ai pacchetti, ma ottengo sempre lo stesso risultato. Ho controllato fli include ma sono tutti non commentati. Non capisco cosa possa essere.
    Ho anche provato ad aggiungere una voce da thunderbird, ma sembra ignorare ogni cosa.

  7. Per il primo problema ( inserimento da ldapadmin ) proverei a riconfigare il server ldap provando a cambiare qualche parametro.
    Per farlo (#dpkg-reconfigure lslapd ).
    Se dopo un paio di tentativi l’unica cosa che so dirti e provare sui newsgroup.
    Io purtroppo non so aiutarti.

    Per quanto riguarda thunderbird ( o outlook che sia ) da quello che so, sono client che permettono solo la lettura ( aka non sono in grado di aggiungere nuove voci )
    L’unico ( ad oggi ) in grado di scrivere è evolution.

  8. Sembra essere un problema di schema. Con gli altri disponibili funziona ed aggiunge la voce. Mentre questo non va neanche levando il check nel file di configurazione.
    Ho visto che lo schema dipende dal client che si pensa di utilizzare. Per tb 1.5 non ne ho trovato uno specifico ma ci sono in giro istruzioni per modificare quelli per tb 1.0. Provero’ a vedere se funziona. Pero’ senza un client per win, anche diverso da tb, che permetta la modifica facile (phpldapadmin via web e’ troppo ostico) la vedo dura ad portare il sistema in azienda.

  9. ciao maurizio ti volevo esporre un mio problema..
    praticamente ho installato tutto come hai detto te se digito nella barra dell’indirizzo //debian/phpldapadmin vedo tutto ma non riesco a fare il log in.
    mi potresti dire come faccio a inserire utenti? c’è un file di configurazione? perchè ho cercato in giro nel config.php ma non ho capito molto.
    ti sarei molto grato se mi dessi una mano.
    ciao grazie federico

    p.s. ottimo articolo!!

  10. premetto che ti rispondo a “memoria” …

    con questo frontend puoi amminisrare il tutto via web, senza usare file di configurazione.

    se riesci a fare il log come ammistratore in modo corretto, dopo aver cliccato sul nodo principale dovresti trovare nel pannello di destra tra le varie voci un “Create a child” dal quale inizia un micro wizard …

    sul sito ufficiale puoi trovare documentazione più dettagliata …
    http://phpldapadmin.sourceforge.net/
    http://wiki.pldapadmin.com/tiki-index.php

    mentre qui c’è una “live demo”
    http://thesmithfam.org/phpldapadmin-demo/htdocs/index.php

    buon lavoro …

  11. ciao maurizio ti ringrazio per la risposta. Ho provato il link del live demo. bello.
    adesso andrò un po a leggere i link delle documentazioni,
    ma il mio problema come appunto hai detto te è che non riesco a fare il primo login come amministratore. nella schermata di login vedo
    Login DN cn=admin.dc=lan,dc=condor,dc=it
    se digito la password che ho impostato quando ho lanciato il dpkg-reconfigure slapd
    mi da errore
    Bad username or password. Please try again
    puoi aiutarmi? ciao grazie federico

  12. Ciao Maurizio ho risolto il problema del login semplicemente reinstallando il tutto..
    si vede che avevo involontariamente modificato qualcosa di vitale. ora ti volevo domandare (perdona la mia pigrizia) se conoscevi qualche guida italiano che illustri la gestione di phpldapadmin. ciao ciao federico

  13. Ho debian sarge ed ho installato sia slapd che phpldapadmin. Tutto sembra funzionare bene, ma, dopo essermi loggato come admin, se tento di aggiungere un “Address Book Entry (mozillaOrgPerson)? mi becco un:

    Error

    Could not add the object to the LDAP server.

    LDAP said: Undefined attribute type
    Error number: 0×11 (LDAPUNDEFINEDTYPE)
    Description: The attribute type specified is invalid.

    Ho provato a reinstallare dopo aver dato un purge ai pacchetti, ma ottengo sempre lo stesso risultato. Ho controllato fli include ma sono tutti non commentati. Non capisco cosa possa essere.
    Ho anche provato ad aggiungere una voce da thunderbird, ma sembra ignorare ogni cosa.

    Vi prego e` lo stesso problema di ginopilotino help…

  14. l’inserimento lo fai tramite phpldapadmin ?
    con altri funziona tutto ?

    io non riesco a provarlo personalmente ma da un veloce ricerca su google mi sembra di capire che lo schema di mozillaorgperson sia obsoleto e abbia una chiave invalida.

    se avete voglia di approfondire fatemi sapere.

  15. Ciao Mau

    Io ho una macchina virtuale con Installato Ubuntu karmik Koala…

    Poi ho provato ad installare LDAP tramite phpldapadmin…. ecc.. però poi, nonostante gli sforzi e tutorial mi appare una scritta quando tento di lanciarlo che dice

    “available database(s) do not allow slapadd”

  16. ..ooops..
    mi sono dimenticato di finire

    Hai qualche idea su come risolvere la situazione? O magari semplicemente una dritta da darmi per favore?

    http://www.squadrainformatica.com/it/blog/ldap_introduzione_configurazione_amministrazione

    http://help.ubuntu-it.org/7.04/ubuntu/serverguide/it/openldap-server.html

    Queste sono due delle principali sorgenti di tutorial che ho visto.

    Magari è possibile cancellare tutto (sotto Linux) e re-installare il server LDAP da capo?
    Sai come si fa a cancellare tutto?
    Uso Remove semplicemente o cosa?
    Grazie mille

    distinti saluti

Lascia una risposta

Il tuo indirizzo email non sarà pubblicato.