Projet

Général

Profil

Admin pb connexion » Historique » Version 9

Stéphane Boireau, 03/02/2016 15:12

1 1 Stéphane Boireau
h1. Je ne peux plus me connecter en administrateur
2
3
h2. Généralités
4
5
Il peut y avoir plusieurs causes:
6
** Erreur sur le mot de passe
7
** Le compte est désactivé
8
** auth_mode incorrect
9 5 Stéphane Boireau
** La base de données a souffert suite à une extinction brutale du serveur
10 1 Stéphane Boireau
11
h2. Avec un deuxième administrateur
12
13
Si vous disposez d'un deuxième compte administrateur, il peut vous permettre d'examiner la situation dans
14
> Gestion des bases/Comptes d'utilisateurs/Personnels
15
Vous pourrez modifier le mot de passe, rendre actif le compte, modifier le mode d'authentification si nécessaire.
16
17
Sinon, vous devrez disposer d'un accès à une console MySQL ou à phpMyAdmin
18
19
h2. Avec phpMyAdmin
20
21
h3. Erreur sur le mot de passe
22
23
Vous pouvez modifier le mot de passe à l'aide d'une requête à Exécuter dans dans l'onglet SQL:
24
> UPDATE utilisateurs SET password=md5('azerty'), salt='' where login='admin';
25
26
Vous pouvez choisir autre chose qu'azerty comme mot de passe.
27
28
Remarque : Vous pouvez aussi préciser si le compte devra changer de mot de passe à la première connexion:
29
> UPDATE utilisateurs SET change_mdp='y' where login='admin';
30
31
h3. Le compte est désactivé
32
33
Vous pouvez activer le compte à l'aide d'une requête à Exécuter dans dans l'onglet SQL:
34
> UPDATE utilisateurs SET etat='actif' where login='admin';
35
36
h3. auth_mode incorrect
37
38
L'authentification dans Gepi peut s'appuyer sur:
39
** la base MySQL de Gepi: auth_mode=gepi
40
** Un annuaire LDAP: auth_mode=gepi
41
   Le fichier secure/config_ldap.inc.php doit être renseigné
42
** Une authentification CAS: auth_mode=sso
43
   Le fichier secure/config_cas.inc.php doit être renseigné
44
45
Vous pouvez modifier le mode d'authentification à l'aide d'une requête à Exécuter dans dans l'onglet SQL:
46
> UPDATE utilisateurs SET auth_mode='gepi' where login='admin';
47
48
Remarques:
49
** Les fichiers secure/config_*.inc.php n'existent pas par défaut dans le dossier secure.
50
   Il faut les créer d'après les modèles situés dans secure/modeles/ et supprimer la chaine '-modele' dans le nom du fichier.
51
   secure/modeles/config_cas-modele.inc.php deviendra par exemple secure/config_cas.inc.php
52
** Dans le cas d'un Gepi module/plugin sur un serveur LCS, le auth_mode est sso, mais on n'utilise pas un serveur CAS.
53
   C'est un autre dispositif qui est utilisé.
54 9 Stéphane Boireau
** Pour qu'une authentification sur la base mysql fonctionne (auth_mode=gepi), il ne faut pas avoir désactivé ce mode d'authentification (cf le conseil plus bas)
55 5 Stéphane Boireau
56 8 Marc Leygnac
h3. et sans phpMyAdmin ?
57 7 Marc Leygnac
58
Si vous avez accès en écriture au dossier du serveur contenant Gepi vous pouvez exécuter l'une des requêtes précédentes de la façon suivante :
59
60 8 Marc Leygnac
1. avec un éditeur de texte (par exemple le Notepad de Window$) vous créez un fichier texte nommé *requete.php* (par sécurité un autre nom est préférable , mais toujours avec l'extension *.php*) contenant, par exemple pour exécuter
61 7 Marc Leygnac
>UPDATE utilisateurs SET password=md5('azerty'), salt='' where login='admin';
62 9 Stéphane Boireau
le code suivant :
63 7 Marc Leygnac
64 9 Stéphane Boireau
> <code><?php</code>
65
> include "secure/connect.inc.php"; 
66
> $mysqli = new mysqli($dbHost, $dbUser, $dbPass, $dbDb); 
67
> $req="UPDATE utilisateurs SET password=md5('azerty'), salt='' where login='admin';"; 
68
> $result=mysqli_query($mysqli, $req); 
69
> if ($result===false) echo mysqli_error($mysqli) ; 
70
> 	else echo "OK"; 
71
> mysqli_close($mysqli); 
72
> ?>
73 7 Marc Leygnac
74
75
(suivant la requête à exécuter il faut modifier $req="...";)
76
77
2. on télécharge ensuite le fichier *requete.php* à la racine du dossier Gepi (là où se trouve le fichier accueil.php), puis avec le navigateur on se connecte à la page 
78
> URL_GEPI/requete.php
79
où URL_GEPI est l'adresse d'accès à Gepi
80
81
3. le fait de se connecter à cette adresse lance alors l'exécution de la requête et on obtient une page avec le message *OK* (sinon un message d'erreur est affiché)
82
83
4. et pour terminer, par sécurité, on doit impérativement *supprimer* du dossier Gepi le fichier *requete.php*
84
85 5 Stéphane Boireau
h2. La base de données a souffert suite à une extinction brutale du serveur
86
87
Il est possible de tester l'état des tables de la base de données MySQL et le cas échéant réparer à l'aide des outils mysqlcheck, myisamchk, mysqlrepair.
88
89
Pour tester l'état des tables d'une base de données nommées *gepidb* en ligne de commande:
90
> mysqlcheck -c gepidb
91
Il peut être nécessaire de préciser un compte/mot de passe MySQL:
92
> mysqlcheck -c -u*GEPIUSER* -p*PASSWORD* gepidb
93
94
Si certaines tables sont annoncées *crashed*, vous pouvez réparer avec l'option *-r*
95
> mysqlcheck -r -u*GEPIUSER* -p*PASSWORD* gepidb
96
97
Voir http://dev.mysql.com/doc/refman/5.0/fr/using-mysqlcheck.html
98
99
Avec un serveur sous Window$, par exemple Xampp, vous devrez faire:
100
> c:
101
> cd \xampp\mysql\bin
102
> mysqlcheck.exe -c -u*GEPIUSER* -p*PASSWORD* gepidb
103 6 Marc Leygnac
pour tester l'état des tables, et
104
> mysqlcheck.exe -r -u*GEPIUSER* -p*PASSWORD* gepidb
105
pour réparer si nécessaire.
106 5 Stéphane Boireau
107
Note: Si mysqlcheck ne suffit pas, il se peut qu'il faille utiliser myisamchk.
108
Il est cependant alors nécessaire d'arrêter le serveur MySQL.
109
> c:
110
> cd \xampp\mysql\bin
111 1 Stéphane Boireau
> myisamchk.exe -c -u*GEPIUSER* -p*PASSWORD* ..\data\gepidb\*.MYI
112 6 Marc Leygnac
pour tester l'état des tables, et
113
> myisamchk.exe -r -u*GEPIUSER* -p*PASSWORD* ..\data\gepidb\*.MYI
114
pour réparer si nécessaire.
115
Voir http://dev.mysql.com/doc/refman/5.0/fr/table-maintenance.html
116 5 Stéphane Boireau
117
*Rappel:* Il est recommandé d'effectuer des sauvegardes régulières.
118
Avec un serveur sur lequel on a la main, on peut programmer des tâches cron (sous linux), ou des Tâches planifiées (sous Window$).
119
[[Exemples_de_scripts_de_sauvegarde|Exemples de scripts de sauvegarde]]
120 1 Stéphane Boireau
121 3 Stéphane Boireau
h2. Un conseil pour finir
122
123
Et pour une prochaine fois, se créer un deuxième compte administrateur pour que l'un dépanne l'autre en cas de pépin
124 1 Stéphane Boireau
(avec auth_mode=gepi (cela implique de ne pas avoir désactivé la connexion  dans 
125 3 Stéphane Boireau
> Gestion générale/Options de connexion
126
>> Modes d'authentification :
127 4 Stéphane Boireau
>>> Authentification autonome (sur la base de données de Gepi)
128 6 Marc Leygnac
Il faut donc avoir dans la table setting un enregistrement name=auth_locale, value=yes.)).
129 2 Stéphane Boireau
130
131
[[utilisateurs|retour au menu]]