LDAP è una soluzione efficiente come basi dati per informazioni che si prestano a una catalogazione gerarchica (come le zone di un DNS o utenti di posta elettronica con domini multipli virtuali) e per centralizzate l'autenticazione dei servizi.
Molti servizi come un mail-server, un server ftp, un server DNS un server proxy possono utilizzare la stessa base dati su LDAP con il vantaggio di usare una autenticazione centralizzata (ogni utente avrà lo stesso usename e password per tutti i servizi).
Analizzeremo una panoramica di alcuni servizi con relativa configurazione su OpenLDAP (come Postfix, PDNS, Squid, Radius...) e una interfaccia di amministrazione web (Phamm) dedicata sia all'amministrazione sia agli utenti.
********************
*** in sviluppo ****
********************
1.0 Panoramica
Spesso, quando il numero di domini o account cresce si sente l'esigenza di spostare la base dati in cui sono contenute le informazioni relative agli utenti da flat-file a una base dati.
Un'altra esigenza sentita è la necessità di utlizzare per i servizi utenti virtuali con permssi differenziati e non di sistema.
Le soluzioni utilizzare come base dati per l'autenticazione ricadono spesso sui databaserelazionali o su LDAP.
2.0 Interfaccia web di gestione: Phamm
Senza disporre di una interfaccia di amministrazione si risponde solo parzialmente alle esigenza di gestire... poiché si limitano le operazioni di amministrazione della base dati ai soli sistemisi.
Phamm ha lo scopo di fornire una interfaccia multiutente snella e intuitiva per la gestione di servizi server che utilizzano come basi dati OpenLDAP. Phamm è in genere adottato da ISP o per l'installazione di server Enterprise aziendali.
PhpLDAPadmin (pla) è un software scritto in PHP per l'ammistrazione di server LDAP. Attualmente supporta pienamente OpenLDAP e parzialmente (sola lettura) altri server LDAP come Fedora Directory Server, Microsoft Active Directory, Sun Directory Server (la scrittura è sperimentale e non testata).
PREREQUISITI
Per l'esecuzione pla richiede un web-server e PHP con supporto per l'estensione LDAP. Da notare che non è necessario che pla sia installato sullo stesso server su cui è attivo LDAP (anche se è una soluzione frequente che può essere comoda).
Per quanto rigurda PHP, su Debian è necessario assicurarsi di aver installato i pacchetti php4 e php4-ldap (su altre distribuzioni potrebbero chiamarsi php e php-ldap). Complimando PHP da sorgenti è necessario utilizzare l'opzione --with-ldap
nella configurazione.
Se l'estensione php-ldap non è cariata da Apache verificare in php.ini
che sia presente la entry extension=ldap.so
e che la direttiva extension_dir
riporti la directory con il modulo ldap.so
INSTALLAZIONE
Utilizzando distribuzioni Debian based è possibile installare pla con il comando: apt-get install phpladpadmin
.
L'installazione da sorgenti è semplice poiché non richiede nessuna compliazione; è consigliata se volete utilizzare l'ultima versione e volete personalizzare l'accesso da web server.
Pla deve essere installato in una directory accessibile da web, potete quindi installare i file direttamente in /var/www
(o /var/www/html
) o in un altro punto del filesystem e configurare opportunamente Apache per accedervi.
A seguito del download delll'ultima versione stabile di phpldapadmin-X.X.X.tar.gz (se non si utilizza pla in produzione è possibile decidere di utilizzare anche una versione di sviluppo o addirittura il build giornaliero o il CVS) è possibile scompattare il pacchetto con il comando: tar xvfz phpldapadmin-X.X.X.tar.gz
CONFIGURAZIONE
E' opportuno creare il file di configurazione partendo dall'esempio fornito:cp config.php.example config.php
.
In seguito è possibile apportare le modifiche al file config.php
appena creato verificando la presenza delle corrette impostazioni per l'accesso al server LDAP
$servers[$i]['host'] = 'localhost';
$servers[$i]['base'] = 'dc=example,dc=tld';
(Controllare la configurazione del server LDAP nel file sldap.conf
che si può trovare in /etc/ldap
o /etc/openldap/
)
Un'altro utile parametro di configurazione è:
$servers[$i]['auth_type'] = 'session';
Se usate una versione di pla recente o dovrete impostare la variabile blowfish
$config->custom->session['blowfish'] = 'scrivete_qui_una_stringa';
Se volete accedere con autenticazione usando un DN, assicuratevi di
impostare quanto segue nel file di configurazione:
// $ldapservers->SetValue($i,'login','attr','uid');
$ldapservers->SetValue($i,'login','attr','dn');
ACCESSO
Se Apache è configurato correttamente è possibile accedere tramite browser a pla, attraverso un link simile a http://localhost/phpldapadmin/
TEMPLATE
Una delle feature più utilizzate di pla è sicuramente la creazione di nuovi oggetti tramite template che forniscono un form per l'inserimento guidato degli attributi.
NOTE
Pla è in continuo sviluppo, le impostazioni del file di configurazione potrebbero essere nella sintassi diverse da quelle indicate in relazione alla configurazione multi-server rimangono comunque per analogia riconoscibili.