Copier son site SPIP


Pourquoi copier mon site ?

Plusieurs raisons peuvent vous conduire à disposer d’une copie d’un site SPIP opérationnel :

  • Vous souhaitez changer d’hébergeur.
  • Vous avez mis au point votre site sur votre PC, en ayant installé SPIP sur celui-ci en suivant ces conseils pour une machine Windows, ou ceux-ci pour une machine Linux, et maintenant vous voulez le mettre en ligne sans tout reprendre à zéro.
  • Vous avez un site sous SPIP hébergé au PIC (ou ailleurs), et vous souhaitez en faire une copie chez vous, histoire de bricoler tranquillement le squelette ou expérimenter les plugins sans risquer de tout casser.
  • Vous souhaitez faire une mise à jour majeure de votre site, comme expliqué sur cet article et vous préférez l’expérimenter d’abord sur votre ordinateur.

Prérequis

  • Être webmestre du site à copier.
  • Posséder les droits d’accès et de modifications d’accès suffisants sur les répertoires de la machine "source" (émettrice) et ceux de la machine "cible" (réceptrice).
  • Posséder les droits suffisants sur la machine source pour exporter la base de données Mysql du site.
  • Posséder les droits suffisants sur la machine cible pour créer une base de données Mysql et un utilisateur ayant tous les droits sur cette base.
  • Avoir l’usage d’un outil de transfert de fichiers (par exemple Filezilla décrit ici).

Opérations de transfert

  1. Sur le site à copier : vider le cache
  2. Sur la machine source aller dans le répertoire contenant le source SPIP du site à transférer
  3. Sur la machine cible créer un répertoire "mon_site"
  4. Transférer tous les fichiers SPIP du site à copier dans le répertoire ainsi créé à l’aide de l’outil de transfert choisi.
    • Attention un site même de taille modeste peut contenir plus de 1000 fichiers. Le transfert peut durer un certain temps !!
    • Attention : se souvenir du mot de passe utilisé pour avoir accès aux fichiers, il sera réutilisé dans la nouvelle base.
  5. Sur la machine source : aller dans PhpMyAdmin et exporter la totalité de la base de données du site à transférer. Utiliser le format SQL. Enregistrer sur la machine cible le fichier .sql ainsi créé. (mon_site.sql)
  6. Sur la machine cible, à l’aide de PhpMyAdmin créer une base de données mon_site (interclassement utf8_general_ci). Créer un utilisateur nom_user qui a tous les droits sur cette base. Le mot de passe sera celui utilisé pour accéder aux répertoires de la machine source.
  7. Sur la machine cible donner des droits d’accès 770 aux répertoires config, local, IMG et tmp.
  8. Sur la machine cible vérifier que le fichier config/connect.php contient bien une ligne
    spip_connect_db('localhost','','nom_user','mdp','mon_site','mysql','spip','');

En principe, le site est prêt à fonctionner sur la nouvelle machine.