Comment importer un spip depuis une sauvegarde locale?

What type of hardware are you using: Virtual machine
What YunoHost version are you running: 12.0.9.1
What app is this about: spip

Describe your issue

Bonjour,
je viens de finir ma configuration de mon Yunohost dans ma VM, mais plus spécifiquement pour Spip j’ai une sauvegarde locale de mon ancien site que je voudrais rapatrier : fichiers + mysql. Mais je ne parviens à avoir accès à rien, ni FTP pour remettre les fichiers, ni base de données pour importer mon fichier sql. Quelqu’un aurait une idée d’extension Spip pour ça ? Sans avoir recours à des bidouilles de droits sur Yunohost de préférence.
Merci d’avance.

Share relevant logs or error messages

Nothing particular.

Je ne vois pas trop autrement que en lignes de commandes pour migrer un site.

D’accord, ce n’est pas la réponse attendue, mais le plus simple pour migrer un site serait migrer les données nécessaires.

mettre les données dans les dossiers de /var/www/spip/ en lisant bien la doc savoir ce qui est judicieux de copier (Par exemple surtout pas écraser le fichier ecrire/connect.php où se trouve les infos de connexions à la base de données, bien regarder/comparer les fichiers de configs importants). Cela correspondrait à l’option2 se la documentation spip pour migrer son site Déménagement d’un site SPIP - SPIP.

Ce serait en ligne de commande en téléchargeant d’abord les fichiers locaux chez l’utilisateur ssh avec la commande

scp -R mondossier-bkp/ yunouser@mondomaine.tld

les déplacer dans le dossier de l’application, par exemple:

mv /home/yunouser/mondossier-bkp/IMG/* /var/www/spip/IMG/

Donner les bons droits owners des fichiers

chown -R spip:www-data /var/www/spip

Supprimer et recréer la base de données (nécessaire ?)

mysql -u root 
DROP DATABASE spip;
CREATE DATABASE spip;
\q

Puis importer la base de données du dump

mysql -uroot spip < SPIP_BKP/spip-dump-xxxxxxx.sql

Par contre le dump de la base de données est peut-être pas en mysql, mais générée en sqlite3 ? Je ne me rends pas compte si c’est gênant, il y a un script pour convertir une base de données sqlite3 en mysql ici Convertir une base de données SQLite vers MySQL/MariaDB - PAB's blog

Tu peux aussi installer le paquet phpMyadmin qui peut-être utile pour cela…

1 Like

Merci beaucoup de cette réponse rapide !
J’ai installé l’extension webadminer qui m’a permis d’insérer ma table (je fais pareil pour wordpress qui me pose le même pb : j’ai les fichier, j’ai le sql, mais comment rapatrier tout ???)irectement mysql.
Je vais tenter tes manips, merci !

Pour wordpress, il y a une particularité, c’est la config LDAP… Cette solution dois encore fonctionner Migrer un Wordpress vers YunoHost - #4 by djib

Merci, je viens d’y passer mon AM…
Rapido :

  1. insérer ancienne base avec plugin Adminer,
  2. copier tous les fichiersdans IMG en FTP avec mot de passe root (bouh c’est mal),
  3. dans la console remettre les droits chown -R spip:www-data /var/www/spip

Merci beaucoup !
Zou je me coltine Wordpress quand j’ai du temps… :confounded:

If your old spip is functional, you can use the backup from the Spip admin page, and, restore it in the new.
https://example.com/ecrire/?exec=sauvegarder
Dump can be found in the tmp/dump/ in the Spip folder.

Some doc : Backing up your data - SPIP
To move (in French) : Déménagement d'un site SPIP - SPIP

There is plugins that can help you : Mes fichiers - Plugins SPIP (for the name, you should use the admin interface in Spip to install it, search ‘fichiers’ in the plugin page : https://example.com/ecrire/?exec=admin_plugin )

Of course it was not functionnal…too simple if it was. Thanks.
But problem solved!

Par curiosité, comment tu as résolu ta migration ?

Sinon, j’ai ajouté les paquets sqlite3 et php8.2-sqlite3 au dépôt de l’app…

Comme j’expliquais, en pas propre mais rapido :

  1. remplacer dans le fichier sql toutes les références à de mauvais noms de base, du style toto_ en spip_ (pour correspondre aux noms attribués par Yunohost lors de l’install de spip) ;
  2. insérer ancienne base avec plugin Adminer ;
  3. dans la base remplacer par une requête SQL toutes les références à l’ancien nom de domaine par le nouveau ;
  4. copier tous les fichiers dans IMG en FTP grâce au compte root (bouh c’est mal) ;
  5. dans la console remettre les droits chown -R spip:www-data /var/www/spip ;
  6. dans Spip, en interface web, renommer si besoin l’utilisateur et son mot de passe pour correspondre à celui du portail yunohost.

Pour le SQL c’est un truc rapide comme ça, pour chaque table :

 UPDATE table
   SET colonne_de_la_table = REPLACE(colonne_de_la_table, 'chaine', 'nouvellechaine')
 WHERE LOCATE('chaine', colonne_de_la_table) >0

Merci beaucoup des échanges, ça m’a bien aidé.

1 Like

This topic was automatically closed 15 days after the last reply. New replies are no longer allowed.