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