GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment installer et configurer OpenLDAP et phpLDAPadmin sur Ubuntu 20.04

LDAP est un protocole léger d'accès à un annuaire utilisé pour accéder et gérer un annuaire distribué via un protocole Internet. phpLDAPadmin est un client LDAP basé sur le Web utilisé pour gérer et administrer le serveur LDAP. Sa puissante fonctionnalité de recherche et son arborescence hiérarchique facilitent la gestion du serveur LDAP via le navigateur Web. Vous pouvez ajouter et supprimer des enregistrements, afficher et modifier les attributs d'image, gérer les hachages de mot de passe utilisateur et bien d'autres en utilisant phpLDAPadmin.

Dans ce tutoriel, nous allons vous expliquer comment installer phpLDAPadmin sur Ubuntu 20.04.

Prérequis

  • Un serveur exécutant Ubuntu 20.04.
  • Un nom de domaine valide pointé vers l'adresse IP de votre serveur.
  • Un mot de passe root est configuré sur le serveur.

Mise en route

Avant de commencer, il est toujours recommandé de mettre à jour votre système avec la dernière version des packages. Vous pouvez le mettre à jour avec la commande suivante :

apt-get update -y

Une fois tous les packages mis à jour, vous pouvez passer à l'étape suivante.

Installer et configurer le serveur OpenLDAP

Tout d'abord, vous devrez installer Slapd et d'autres utilitaires LDAP sur votre serveur. Vous pouvez les installer en exécutant la commande suivante :

apt-get install slapd ldap-utils

Lors de l'installation, il vous sera demandé de configurer un mot de passe administrateur comme indiqué ci-dessous :

Fournissez votre mot de passe sécurisé et appuyez sur Entrée continuer. Une fois l'installation terminée, vous devrez reconfigurer le package SLAPD pour définir vos informations de domaine.

Vous pouvez le reconfigurer avec la commande suivante :

dpkg-reconfigure slapd

Il vous sera demandé d'omettre la configuration du serveur OpenLDAP comme indiqué ci-dessous :

Sélectionnez Non et appuyez sur Entrée continuer. Il vous sera demandé de fournir un nom de domaine DNS comme indiqué ci-dessous :

Indiquez votre nom de domaine et appuyez sur Entrée continuer. Il vous sera demandé de fournir le nom de l'organisation comme indiqué ci-dessous :

Indiquez le nom de votre organisation souhaitée et appuyez sur Entrée continuer. Le mot de passe administrateur vous sera demandé comme indiqué ci-dessous :

Fournissez votre mot de passe administrateur et appuyez sur Entrée continuer. Il vous sera demandé de supprimer la base de données comme indiqué ci-dessous :

Sélectionnez Oui et appuyez sur Entrée pour terminer la configuration.

Vous pouvez maintenant vérifier vos informations LDAP à l'aide de la commande suivante :

slapcat

Vous devriez obtenir le résultat suivant :

dn :dc=example,dc=comobjectClass :topobjectClass :dcObjectobjectClass :organisation :example.comdc :examplestructuralObjectClass :organisationentryUUID :971829cc-ac5f-103a-8e42-9f8486ff5685creatorsName :cn=admin,dc=example,dc=comcreateTimestamp :20201027051828ZentryC :20201027051828.103064Z # 000000 # 000 # 000000modifiersName:cn =admin, dc =example, dc =commodifyTimestamp:20201027051828Zdn:cn =admin, dc =example, dc =comobjectClass:simpleSecurityObjectobjectClass:organizationalRolecn:adminDescription:LDAP administratoruserPassword ::e1NTSEF9Tm5OYlpSMktkYjVnUUprb284MHFPTEVkMjQrQXpQWEk =structuralObjectClass:organizationalRoleentryUUID:9718c198-ac5f-103a-8e43-9f8486ff5685creatorsName:cn =admin, dc =example, dc =comcreateTimestamp:20201027051828ZentryCSN:20201027051828.107057Z # 000000 # 000 # 000000modifiersName:cn =admin, dc =example, dc =commodifyTimestamp:20201027051828Z  

Créer des comptes utilisateur OpenLDAP

Tout d'abord, vous devrez créer les conteneurs d'unité d'organisation pour stocker les utilisateurs et les informations de groupe. Vous pouvez le créer avec la commande suivante :

nano users-ou.ldif

Ajoutez les lignes suivantes :

dn :ou=people,dc=example,dc=comobjectClass :organizationUnitobjectClass :topou :peopledn :ou=groups,dc=example,dc=comobjectClass :organizationUnitobjectClass :topou :groupes

Enregistrez et fermez le fichier lorsque vous avez terminé, puis ajustez les contrôles d'accès à la base de données SLAPD en créant le fichier suivant :

nano update-mdb-acl.ldif

Ajoutez les lignes suivantes :

dn :olcDatabase={1}mdb,cn=configchangetype :modifyreplace :olcAccessolcAccess :vers attrs=userPassword,shadowLastChange,shadowExpire par auto-écriture par authentification anonyme par dn.subtree="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" géré par dn.exact="cn=readonly,ou=people,dc=example,dc=com" lu par * noneolcAccess :vers dn.exact="cn=readonly,ou=people,dc=example,dc=com" par dn.subtree="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" géré par * noneolcAccess :vers dn.subtree="dc=example ,dc=com" par dn.subtree="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" géré par les utilisateurs lus par * aucun

Enregistrez et fermez le fichier, puis mettez à jour l'ACL de la base de données avec les informations ci-dessus en exécutant la commande suivante :

ldapadd -Y EXTERNAL -H ldapi:/// -f update-mdb-acl.ldif

Vous devriez obtenir le résultat suivant :

L'authentification SASL/EXTERNALE a commencé Nom d'utilisateur SASL :gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=authSASL SSF :0modification de l'entrée "olcDatabase={1}mdb,cn=config"

Ensuite, mettez à jour la base de données avec les informations de l'UO de l'utilisateur en exécutant la commande suivante :

ldapadd -Y EXTERNAL -H ldapi:/// -f users-ou.ldif

Vous devriez obtenir le résultat suivant :

L'authentification SASL/EXTERNALE a commencé Nom d'utilisateur SASL :gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=authSASL SSF :0ajout d'une nouvelle entrée "ou=people,dc=example,dc=com"ajout d'une nouvelle entrée "ou=groupes,dc=exemple,dc=com"

Ensuite, créez un nouveau compte utilisateur nommé hiteshj en créant le fichier suivant :

nano hitesh.ldif

Ajoutez les lignes suivantes :

dn :uid=hiteshj,ou=people,dc=example,dc=comobjectClass :inetOrgPersonobjectClass :posixAccountobjectClass :shadowAccountuid :hiteshjcn :Hiteshsn :JethvaloginShell :/bin/bashuidNumber :10000gidNumber :10000homeDirectory :/home/hiteshjshadowMax :60shadowMin :1shadowWarning :7shadowInactive :7shadowLastChange :0dn :cn=hiteshj,ou=groups,dc=example,dc=comobjectClass :posixGroupcn :hiteshjgidNumber :10000memberUid :hiteshj

Enregistrez et fermez le fichier puis ajoutez l'utilisateur à la base de données avec la commande suivante :

ldapadd -Y EXTERNAL -H ldapi:/// -f hitesh.ldif

Vous devriez obtenir le résultat suivant :

L'authentification SASL/EXTERNALE a démarré Nom d'utilisateur SASL :gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=authSASL SSF :0ajout d'une nouvelle entrée "uid=hiteshj,ou=people,dc=example,dc=com "ajout d'une nouvelle entrée "cn=hiteshj,ou=groups,dc=example,dc=com"

Ensuite, vous devrez définir le mot de passe de l'utilisateur. Vous pouvez le définir avec la commande suivante :

ldappasswd -H ldapi:/// -Y EXTERNAL -S "uid=hiteshj,ou=people,dc=example,dc=com"

Vous devriez voir le résultat suivant :

Nouveau mot de passe :saisissez à nouveau le nouveau mot de passe :l'authentification SASL/EXTERNALE a démarré Nom d'utilisateur SASL :gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=authSASL SSF :0

Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.

Créer un DN de liaison OpenLDAP

Ensuite, vous devrez définir un nom d'utilisateur et un mot de passe pour interroger le serveur d'annuaire. Tout d'abord, générez le hachage du mot de passe pour l'utilisateur du DN lié à l'aide de la commande suivante :

slappasswd

Vous devriez obtenir le résultat suivant :

Nouveau mot de passe :saisissez à nouveau le nouveau mot de passe :{SSHA}DhjyJN5akaj2etaFKoyeAY8QMgSD/OTb

Ensuite, créez un nom Bind DN en lecture seule avec la commande suivante :

nano readonly-user.ldif

Ajoutez les lignes suivantes :

dn :cn=readonly,ou=people,dc=example,dc=comobjectClass :organizationRoleobjectClass :simpleSecurityObjectcn :readonlyuserPassword :{SSHA}DhjyJN5akaj2etaFKoyeAY8QMgSD/OTbdescription :lier l'utilisateur DN pour les opérations LDAP

Enregistrez et fermez le fichier lorsque vous avez terminé, puis ajoutez l'utilisateur BIND à la base de données avec la commande suivante :

ldapadd -Y EXTERNAL -H ldapi:/// -f readonly-user.ldif

Vous devriez obtenir le résultat suivant :

L'authentification SASL/EXTERNALE a démarré Nom d'utilisateur SASL :gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=authSASL SSF :0ajout d'une nouvelle entrée "cn=readonly,ou=people,dc=example,dc=com "

Ensuite, vérifiez l'ACL Bind DN avec la commande suivante :

ldapsearch -Q -LLL -Y EXTERNAL -H ldapi:/// -b cn=config '(olcDatabase={1}mdb)' olcAccess

Vous devriez obtenir le résultat suivant :

dn :olcDatabase={1}mdb,cn=configolcAccess :{0}to attrs=userPassword,shadowLastChange,shadowExpire par auto-écriture par authentification anonyme par dn.subtree="gidNumber=0+uidNumber=0,cn=peercred,cn=ext ernal,cn=auth" géré par dn.exact="cn=readonly,ou=people,dc=example,dc=com" lu par * noneolcAccess :{1}à dn.exact="cn=readonly,ou=people,dc=example,dc=com" par dn.subt ree="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" géré par * non eolcAccess :{2} à dn.subtree="dc=example,dc=com" par dn.subtree="gidNumber=0+uid Number=0,cn=peercred,cn=external,cn=auth" gérer par les utilisateurs lus par * aucun 

Installer et configurer phpLDAPadmin

Par défaut, le package phpLDAPadmin est disponible dans le référentiel par défaut d'Ubuntu 20.04. Vous pouvez l'installer en exécutant la commande suivante :

apt-get install phpldapadmin -y

Après avoir installé phpLDAPadmin, vous devrez configurer phpLDAPadmin et définir vos informations de domaine. Vous pouvez le faire en éditant le fichier /etc/phpldapadmin/config.php :

nano /etc/phpldapadmin/config.php

Modifiez les lignes suivantes :

$servers->setValue('server','name','My LDAP Server');$servers->setValue('server','host','69.87.216.102');$servers->; setValue('server','base',array('dc=example,dc=com'));$servers->setValue('login','auth_type','session');$servers->setValue(' login','bind_id','cn=admin,dc=example,dc=com');$servers->setValue('auto_number','min',array('uidNumber'=>10000,'gidNumber'=> 10000));

Enregistrez et fermez le fichier lorsque vous avez terminé.

Configurer Apache pour phpLDAPadmin

Le fichier de configuration par défaut de phpLDAPadmin pour Apache se trouve dans /etc/apache2/conf-available/phpldapadmin.conf. N'apportez aucune modification et conservez les paramètres par défaut.

Ensuite, désactivez le fichier de configuration de l'hôte virtuel Apache par défaut et redémarrez le service Apache pour appliquer les modifications :

a2dissite 000-default.conf
systemctl redémarre apache2

Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.

Accéder à l'interface utilisateur Web de phpLDAPadmin

Maintenant, ouvrez votre navigateur Web et accédez à phpLDAPadmin en utilisant l'URL http://your-server-ip/phpldapadmin . Vous devriez voir l'écran suivant :

Maintenant, cliquez sur connexion bouton. Vous devriez voir l'écran de connexion phpLDAPadmin :

Indiquez votre DN de connexion, votre mot de passe et cliquez sur Authentifier bouton. Vous devriez voir le tableau de bord phpLDAPadmin dans l'écran suivant :

Conclusion

Toutes nos félicitations! vous avez installé et configuré avec succès phpLDAPadmin sur le serveur Ubuntu 20.04. Vous pouvez désormais gérer votre serveur LDAP et effectuer plusieurs tâches, notamment l'ajout d'unités organisationnelles, de groupes et d'utilisateurs avec l'interface utilisateur Web phpLDAPadmin. N'hésitez pas à me demander si vous avez des questions.


Ubuntu
  1. Comment installer et configurer Redis sur Ubuntu 18.04

  2. Comment installer et configurer Redmine sur Ubuntu 18.04

  3. Comment installer et configurer Samba sur Ubuntu 18.04

  4. Comment installer et configurer Redis sur Ubuntu 20.04

  5. Installer et configurer OpenLDAP et phpLDAPadmin sur Ubuntu 14.04

Comment installer et configurer Nexus Repository Manager sur Ubuntu 20.04

Comment installer et configurer Cacti sur Ubuntu 20.04

Comment installer et configurer le serveur OpenLDAP sur Ubuntu 16.04

Comment installer et configurer le serveur VNC sur Ubuntu 20.04

Comment installer et configurer Elasticsearch sur Ubuntu 20.04

Comment installer et configurer Nextcloud sur Ubuntu 20.04