Mot de passe de connexion SPIP oublié
C’est la panne la plus fréquente, qui est normalement [1] résolue immédiatement, grâce au formulaire spécifique spip.php?page=spip_pass
qui vous demande de rentrer l’email voulu, pour y envoyer un lien de changement de mot de passe...
Mais, au contraire des autres CMS, en cas de Codes perdus : comment faire, l’objectif constant de Sécuriser SPIP rend difficile de régénérer le mot de passe directement au sein de la BDD : le mot de passe de connexion utilisateur n’y est évidemment pas inscrit en clair ; et même si vous avisez le champ pass
concerné de la table spip_auteurs
, il est codé en binaire, non seulement par un hash sha [2], mais avec un sel aléatoire regénéré à chaque connexion, lors du dialogue de validation de la connexion [3], car le mot de passe n’est jamais transmis en clair sur le réseau.
Si vous n’avez pas accès au mail, il est plus facile de relancer l’installation de SPIP sans perte : il faut au moins avoir accès au FTP, pour renommer [4]l le fichier connect.php de liaison avec la base de données dans le dossier ./config/
(et le fichier chmod.php
!
Le prochain accès à l’espace privé vous recréera un compte administrateur-webmestre avec le numéro d’auteur 1 (’enregistrement précédent étant renuméroté en -1) [5]antifi
Et le mot de passe MySQL
Cela peut arriver de l’oublier /le perdre/, surtout avec les nouvelles versions de Wamp et Adminer, qui exigent de mettre un mot de passe pour autoriser la connexion au SGBD.
Si on veut appliquer le même raisonnement que plus haut, il faudrait aller consulter la table système user
de la base système mysql
... facile, sauf que si vous n’avez pas le mot de passe de connexion (root) à MySQL, vous ne pouvez pas lancer Adminer ou phpmyadmin pour visualiser et modifier cette information.....
Alors, il faut repasser par la ligne de commande pour lancer l’exécutable mysqld
’a la mano’ pour passer des commandes ... Un article d’otomatic rappelle la procédure, sauf que les lignes à taper sont plutôt longues et indigestes ; j’en ai fait un fichier batch tout prêt = juste deux paramètres à repréciser dans le script.
- Visualisation du Script de Commande DOS/Windows
Deux possibilités vous sont proposées pour regénérer vos accès SQL :
forcer un nouveau mot de passe pour le user root
(supposé existant),
vous créer un nouveau user tout-puissant toto
sans password :
- Visualisation des Commandes SQL
Vous pouvez obtenir l’ensemble des fichiers présentés ci-dessus (au sein d’un ZIP), à extraire par xeemple dans la racine de votre dossier Wamp (ou EasyPHP), ou bien télécharger individuellement :
le script de commandes DOS appelant MySQL (et lui passant le .txt
ci-dessous)
le fichiers de commandes SQL forçant les accès !
Attention aux extensions des noms de fichiers en Windows .bat
ou .cmd
pour le premier (éventuellement cachées par Windows) et .txt
ou .sql
; le téléchargement peut automatiquement rajouter une xtension .txt supplémentaire, vous serez plus précis avec l’extraction de l’archive .zip !
Bien sur vous adapterez à votre contexte et besoins, les scripts de commandes [6], en les ouvrant avec le Bloc-notes de Windows, ou vos Editeurs du WebMestre PC favori.
Nota Bene : L’astuce -et le script- s’applique aussi à EasyPHP ; toutefois, les arborescences du serveur différent bien plus selon les versions, et nous vous laissons le soin d’adapter les fichiers fournis !
MySQL ou MySQLi /vieilles versions
Encore un truc ! Si vous essayez de recharger de vieilles versions de SPIP (disons une SPIP 2.1.18) sur votre WampServer, vous risquez de ne pas comprendre pourquoi l’installateur SPIP trouve seulement SQlite3
et pas MySQL
au moment de choisir le systeme de BDD à l’installation de SPIP [7] ?
PHP étant régulièrement amélioré, a changé son interface avec MySQL ! Les anciennes versions SPIP ne reconnaissent pas MySQLi et nécessitent que votre serveur Apache active aussi l’extension originelle mysql : dans le fichier php.ini (situé dans Apache/apache2.4.9/bin/
..) retirez le ;
devant la ligne ;extension=php_mysql.dll
(approximativement vers l’étage [875]) et relancez WampServer.
Autre point de vigilance éventuelle : l’encodage UTF
ou latin_general_ci
de vos textes d’articles dans la base de données....
Si vos articles sont tronqués (au niveau d’une première lettre accentuée), vous avez gagné le droit de recharger et converti votre base en UTF : cela n’est proposé que dans les versions SPIP 2 !
Verifiez l’encodage de votre base avec PhpMyAdmin :
Attention, si le plugin Grenier pour SPIP 3 propose d’utiliser la commande ?exec=base_convert_sql_utf8
, il fallait en SPIP 2 utiliser la commande ?exec=convert_sql_utf8
, comme ci-dessous :
Voyez la différence obtenue (à droite !).
Article publié le 26 novembre 2018, et actualisé en mars 2020 .
Répondre à cet article