Projet

Général

Profil

Admin pb connexion » Historique » Version 8

Marc Leygnac, 03/02/2016 11:09

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 4 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
, le code suivant :
63
64
<code php>
65
<?php 
66
include "secure/connect.inc.php"; 
67
$mysqli = new mysqli($dbHost, $dbUser, $dbPass, $dbDb); 
68
$req="UPDATE utilisateurs SET password=md5('azerty'), salt='' where login='admin';"; 
69
$result=mysqli_query($mysqli, $req); 
70
if ($result===false) echo mysqli_error($mysqli) ; 
71
	else echo "OK"; 
72
mysqli_close($mysqli); 
73
?>
74
</code>
75
76
77
(suivant la requête à exécuter il faut modifier $req="...";)
78
79
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 
80
> URL_GEPI/requete.php
81
où URL_GEPI est l'adresse d'accès à Gepi
82
83
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é)
84
85
4. et pour terminer, par sécurité, on doit impérativement *supprimer* du dossier Gepi le fichier *requete.php*
86
87
88
89 5 Stéphane Boireau
h2. La base de données a souffert suite à une extinction brutale du serveur
90
91
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.
92
93
Pour tester l'état des tables d'une base de données nommées *gepidb* en ligne de commande:
94
> mysqlcheck -c gepidb
95
Il peut être nécessaire de préciser un compte/mot de passe MySQL:
96
> mysqlcheck -c -u*GEPIUSER* -p*PASSWORD* gepidb
97
98
Si certaines tables sont annoncées *crashed*, vous pouvez réparer avec l'option *-r*
99
> mysqlcheck -r -u*GEPIUSER* -p*PASSWORD* gepidb
100
101
Voir http://dev.mysql.com/doc/refman/5.0/fr/using-mysqlcheck.html
102
103
Avec un serveur sous Window$, par exemple Xampp, vous devrez faire:
104
> c:
105
> cd \xampp\mysql\bin
106
> mysqlcheck.exe -c -u*GEPIUSER* -p*PASSWORD* gepidb
107 6 Marc Leygnac
pour tester l'état des tables, et
108
> mysqlcheck.exe -r -u*GEPIUSER* -p*PASSWORD* gepidb
109
pour réparer si nécessaire.
110 5 Stéphane Boireau
111
Note: Si mysqlcheck ne suffit pas, il se peut qu'il faille utiliser myisamchk.
112
Il est cependant alors nécessaire d'arrêter le serveur MySQL.
113
> c:
114
> cd \xampp\mysql\bin
115 1 Stéphane Boireau
> myisamchk.exe -c -u*GEPIUSER* -p*PASSWORD* ..\data\gepidb\*.MYI
116 6 Marc Leygnac
pour tester l'état des tables, et
117
> myisamchk.exe -r -u*GEPIUSER* -p*PASSWORD* ..\data\gepidb\*.MYI
118
pour réparer si nécessaire.
119
Voir http://dev.mysql.com/doc/refman/5.0/fr/table-maintenance.html
120 5 Stéphane Boireau
121
*Rappel:* Il est recommandé d'effectuer des sauvegardes régulières.
122
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$).
123
[[Exemples_de_scripts_de_sauvegarde|Exemples de scripts de sauvegarde]]
124 1 Stéphane Boireau
125 3 Stéphane Boireau
h2. Un conseil pour finir
126
127
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
128 1 Stéphane Boireau
(avec auth_mode=gepi (cela implique de ne pas avoir désactivé la connexion  dans 
129 3 Stéphane Boireau
> Gestion générale/Options de connexion
130
>> Modes d'authentification :
131 4 Stéphane Boireau
>>> Authentification autonome (sur la base de données de Gepi)
132 6 Marc Leygnac
Il faut donc avoir dans la table setting un enregistrement name=auth_locale, value=yes.)).
133 2 Stéphane Boireau
134
135
[[utilisateurs|retour au menu]]