Installazione di OpenLDAP Server su Ubuntu 18.04
In questo tutorial andremo ad installare il server OpenLDAP su Ubuntu 18.04.
Consideriamo di partire da una macchina Ubuntu Server 18.04 ( per l’installazione seguire questo articolo) ed aggiorniamola
sudo apt-get update
sudo apt-get upgrade
installiamo il pacchetto ldap
sudo apt-get install slapd ldap-utils
impostiamo la password di amministratore (due volte)
adesso bisogna configurare il server LDAP
sudo dpkg-reconfigure slapd
scegliamo un dominio a nostro piacimento, nel nostro caso metteremo test.local
impostiamo il nome dell’organizzazione
impostiamo la password dell’ amministratore della struttura LDAP appena creata e impostiamo il formato di memorizzazione, in particolare per il backend scegliamo come consigliato MDB
selezioniamo no alla rimozione del database nel caso di disinstallazione di slapd ( per eventuali nuove installazioni, partendo da un certo database)
ed infine spostiamo se esiste il vecchio database.
Modifichiamo il file di configurazione principale ldap.conf aggiungendo il dominio di esempio impostato in precedenza
sudo vim /etc/ldap/ldap.conf
e modifichiamo eliminando #, la riga riguardante il dominio, in particolare
BASE dc=test,dc=local
fatto ciò riavviamo il demone slapd e abilitiamolo ad avviarsi all’avvio
sudo systemctl restart slapd
sudo systemctl enable slapd
Abilitiamo lato firewall la porta standard ldap 389
sudo ufw allow ldap
Per verificare il corretto funzionamento della connessione LDAP eseguire il seguente comando
ldapwhoami -H ldap:// -x
dovremmo avere il seguente risultato
anonymous
Altro test importante da effettuare è
sudo ldapsearch -x
avremo il seguente risultato
# extended LDIF
#
# LDAPv3
# base <dc=test,dc=local> (default) with scope subtree
# filter: (objectclass=*)
# requesting: ALL
## test.local
dn: dc=test,dc=local
objectClass: top
objectClass: dcObject
objectClass: organization
o: test
dc: test# admin, test.local
dn: cn=admin,dc=test,dc=local
objectClass: simpleSecurityObject
objectClass: organizationalRole
cn: admin
description: LDAP administrator# search result
search: 2
result: 0 Success# numResponses: 3
# numEntries: 2
Per poter amministrare, configurare LDAP è conveniente installare lo strumento grafico phpLDAPadmin.
Prima di poter installare lo strumento grafico phpLDAPadmin, è necessario installare un web server, nel nostro caso utilizzeremo Nginx
sudo apt-get install nginx
sudo apt-get install php7.0-fpm
Per maggiore dettaglio consiglio di seguire l’articolo per l’installazione di LEMP su Ubuntu 18.04, che troverete qui.
Modifichiamo il file di default di Nginx, in questo modo
server {
listen 80 default_server;
listen [::]:80 default_server;root /usr/share/phpldapadmin/htdocs;
index index.php index.html index.htm index.nginx-debian.html;server_name ip_server_LDAP;
error_log /var/log/nginx/phpldapadmin.error;
access_log /var/log/nginx/phpldapadmin.access;location / {
try_files $uri $uri/ =404;
}location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
}location ~ /\.ht {
deny all;
}
}
Installiamo lo strumento grafico phpldapadmin da linea di comando
sudo apt-get install phpldapadmin
e modifichiamo il file di configurazione di phpldapadmin
sudo vim /etc/phpldapadmin/config.php
ed impostiamo alcuni parametri che ci permetteranno di interagire con il nostro dominio test.local, in particolare cambiamo
$servers->setValue(‘server’,’name’,’Server di Test LDAP’);
$servers->setValue(‘server’,’base’,array(‘dc=test,dc=local’));
$servers->setValue(‘login’,’bind_id’,’cn=admin,dc=test,dc=local’);
$config->custom->appearance[‘hide_template_warning’] = true;
systemctl restart slapd
Adesso è possibile accedere direttamente da browser all’interfaccia grafica http://ip_server_ldap, ed avremo
Dal menu a destra possiamo autenticarci con l’utente admin (in precedenza avevamo impostato la password), ed avremo