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]] |