Lorsque vous vous connectez à l'interface web "phpLDAPadmin", vous recevez les avertissements "Unknown XML setting", "Automatically removed objectClass from template" et "Automatically removed attribute from template" suivant les versions de "phpLDAPadmin".
Ces avertissements ne sont pas là par hasard et ils ne proviennent pas non plus d'un bug de "phpLDAPadmin". En réalité, "phpLDAPadmin" est fourni avec une série de templates qui ne sont pas tous basés sur des classes et / ou des attributs existant par défaut. C'est donc pour cette raison qu'il vous affiche une fois par session ces avertissements. Il vous dit d'ailleurs qu'il a supprimé (pour la durée de la session) ceux qui n’existaient pas sur votre serveur pour éviter un éventuel bug.
Si vous n'utilisez qu'un seul serveur LDAP, vous pouvez vous permettre de modifier le code source de cette interface pour que ces avertissements disparaissent. En résumé, la solution consiste à supprimer les classes et les attributs "non standard" qui provoquent ces avertissements.
Pour résoudre ce problème, nous allons télécharger et installer la nouvelle version "1.2.3" manuellement, car celle-ci n'est pas disponible dans les dépots d'Ubuntu. La 2ème raison, c'est simplement que cette nouvelle version est plus stable que la précédente et qu'il est possible de supprimer tous ces avertissements proprement.
Avant de commencer, connectez-vous en root grâce à la commande "sudo" :
Bash
sudo su
IMPORTANT : Vous devez posséder une version de phpLDAPadmin sur votre machine Ubuntu pour appliquer cette solution. Par exemple, pour installer la version 1.2.2 (actuellement), tapez la commande :
Bash
apt-get install phpldapadmin
Etant donné que la version installée par "apt-get" se trouve dans le dossier "/etc", nous allons donc installer la nouvelle version à côté de celle-là.
Pour cela, commencez par vous déplacer dans le dossier "/etc".
Bash
cd /etc
Allez ensuite sur la page de téléchargement de "phpLDAPadmin", puis :
- cliquez sur la dernière version disponible
- cliquez sur le fichier ".tgz"
- faites un clic droit sur le lien "direct link" et cliquez sur "Copier l'adresse du lien".
Ensuite, dans le terminal d'Ubuntu, tapez la commande suivante :
Bash
wget -O phpldapadmin.tgz https://sourceforge.net/ (direct link)
Note :
- Remplacez "https://sourceforge.net/ (direct link)" par le lien direct que vous venez de copier du site.
- Une fois le téléchargement terminé (lorsque le téléchargement sera arrivé à 100 %), appuyez sur la touche "Enter" pour quitter le programme "wget".
Décompressez ensuite l'archive que vous venez de télécharger en tapant ceci :
Bash
tar -xvf phpldapadmin.tgz
Déplacez ensuite l'archive téléchargée dans le dossier qui vient d'être créé (si vous souhaitez le garder comme sauvegarde) :
Bash
mv phpldapadmin.tgz phpldapadmin-1.2.3/phpldapadmin-1.2.3.tgz
Copiez ensuite la configuration de l'alias (installé par la version téléchargée via apt-get) pour créer l'alias de la nouvelle version :
Bash
cp /etc/phpldapadmin/apache.conf /etc/apache2/conf.d/phpldapadmin-1.2.3.conf
Modifiez ensuite l'alias de l'ancienne version pour qu'il ne rentre pas en conflit avec celui de la nouvelle version.
Bash
vi /etc/phpldapadmin/apache.conf
Modifiez l'alias de l'ancienne version (1.2.2)
Bash
<IfModule mod_alias.c> Alias /phpldapadmin /usr/share/phpldapadmin/htdocs </IfModule>
comme ceci :
Bash
<IfModule mod_alias.c> Alias /phpldapadmin-1.2.2 /usr/share/phpldapadmin/htdocs </IfModule>
Puis, modifiez celui de la nouvelle version (dans ce cas-ci : 1.2.3)
Bash
<IfModule mod_alias.c> Alias /phpldapadmin /usr/share/phpldapadmin/htdocs </IfModule> # ..... <Directory /usr/share/phpldapadmin/htdocs/>
pour que l'alias pointe sur le dossier "htdocs" de cette nouvelle version
Bash
<IfModule mod_alias.c> Alias /phpldapadmin /etc/phpldapadmin-1.2.3/htdocs </IfModule> # ..... <Directory /etc/phpldapadmin-1.2.3/htdocs/>
Pour finir, redémarrez le serveur web "Apache" pour que les changements soient pris en compte.
Bash
/etc/init.d/apache2 restart
Avant de pouvoir passer à la suppression de ces avertissements, nous devons maintenant configurer la nouvelle version de "phpLDAPadmin".
Etant donné que nous l'avons installé manuellement, vous devez le configurer manuellement.
Note : Si vous tentez d'accéder à l'interface avant de la configurer, vous aurez le message d'erreur suivant "Notice: Undefined variable: _SESSION in /etc/phpldapadmin-1.2.3/lib/page.php ...".
Pour que la configuration soit plus simple à faire et vous évitez ainsi de devoir tout modifier via la ligne de commande, nous vous conseillons d'installer un serveur SSH sur votre machine Ubuntu et de créer un projet à distance via le programme Eclipse.
Note : Il est aussi possible de se connecter avec un client FTP via la connexion SSH que vous aurez installée au préalable.
Pour configurer cette interface web, commencez par copier le fichier de configuration par défaut comme ceci :
Bash
# On se déplace dans le dossier "/etc/phpldapadmin-1.2.3/config" cd /etc/phpldapadmin-1.2.3/config # On copie le fichier de configuration par défaut en "config.php". cp config.php.example config.php
Editez ensuite le fichier "config.php" comme ceci.
Note : Repérez l'encadré "Define your LDAP servers in this section" et vous y trouverez les lignes ci-dessous.
Bash
// Nom du serveur $servers->setValue('server','name','InformatiWeb LDAP Serveur'); // Adresse du serveur. Etant donné que l'interface web est installée sur le même ordinateur que le serveur LDAP, vous pouvez laisser l'adresse IP : 127.0.0.1 $servers->setValue('server','host','127.0.0.1'); // La base de recherche du serveur est basée sur le nom de domaine du serveur. Notre domaine local étant "informatiweblan.net", nous avons donc indiqué "dc=informatiweblan,dc=net". $servers->setValue('server','base',array('dc=informatiweblan,dc=net')); // Modifiez les informations dc= comme ci-dessus. Le cn=admin permet simplement de spécifier que la connexion se fera avec le compte admin du serveur LDAP. $servers->setValue('login','bind_id','cn=admin,dc=informatiweblan,dc=net');
Etant donné que nous venons de reconfigurer les alias, vous pouvez maintenant accéder à la nouvelle version (1.2.3) via l'adresse "http://ldap.informatiweblan.net/phpldapadmin/" ou "http://localhost/phpldapadmin/" (si vous êtes sur la machine Ubuntu).
Note :
- L'ancienne version étant accessible via l'adresse "http://ldap.informatiweblan.net/phpldapadmin-1.2.2/".
- ldap.informatiweblan.net étant l'adresse pointant vers notre serveur Ubuntu.
Lorsque vous vous connecterez à cette interface web, vous recevrez les avertissements "Automatically removed objectClass from template" et "Automatically removed attribute from template".
Pour les supprimer, il va donc falloir (comme indiqué en haut de cette solution) supprimer les objets et attributs qui sont à l'origine de ces avertissements.
Pour cette partie, nous allons considérer que vous avez installé Eclipse sur un ordinateur du réseau et que vous avez créé le projet distant via le plugin "Remote system explorer" expliqué dans ce tutoriel.
Après analyse des différents avertissements affichés, nous savons quels objets / fichiers et quels attributs il faudra supprimer des "templates".
Notes :
- Ces "templates" se trouvent dans le dossier "/etc/phpldapadmin-1.2.3/templates/creation".
- Nous n'allons pas supprimer les fichiers concernés, mais les déplacer vers un sous dossier "bak" par sécurité.
Voici donc les objets / fichiers à supprimer et les commandes à exécuter :
- Créer le dossier "bak" : mkdir bak
- courierMailAccount / courierMailAccount.xml : mv courierMailAccount.xml bak
- mozillaOrgPerson / mozillaOrgPerson.xml : mv mozillaOrgPerson.xml bak
- sambaSAMAccount / sambaSamAccount.xml : mv sambaSamAccount.xml bak
- sambaGroupMapping / sambaGroupMapping.xml : mv sambaGroupMapping.xml bak
- courierMailAlias / courierMailAlias.xml : mv courierMailAlias.xml bak
Après avoir supprimé (ou déplacer ces fichiers), cliquez sur "logout" et reconnectez-vous. Cela aura pour effet de réafficher les avertissements restants.
Cliquez ensuite sur votre domaine dc=informatiweblan, dc=net
Il devrait rester l'avertissement "Automatically removed objectClass from template" à propos de l'objet "Samba: Machine: sambaSAMAccount".
En réalité, cet objet n'existe plus, mais c'était une dépendance de l'objet "sambaMachine". Nous allons donc supprimer cette dépendance.
Pour cela, éditez le fichier "sambaMachine.xml" et commentez la ligne :
XML
<objectClass id="sambaSAMAccount"></objectClass>
comme ceci :
XML
<!-- <objectClass id="sambaSAMAccount"></objectClass> -->
Déconnectez-vous une 2ème fois de l'interface web et reconnectez-vous. Vous ne devriez plus recevoir aucun avertissement.
Linux 12/12/2014
Linux 12/3/2015
Linux 17/6/2015
Linux 11/1/2014
Contenu épinglé
Contact
® InformatiWeb-Pro.net - InformatiWeb.net 2008-2022 - © Lionel Eppe - Tous droits réservés.
Toute reproduction totale ou partielle de ce site est interdite et constituerait une contrefaçon sanctionnée par les articles L.335-2 et suivants du Code de la propriété intellectuelle.
Afficher le commentaire