Transférer un site local vers un site distant (archive)

Ceci est une ARCHIVE, peut-être périmée. Vérifiez bien les compatibilités !

On va développer ici, la procédure de déplacement d’un site. Pour l’exemple cela sera le tranfert d’un site local (depuis EasyPHP par exemple) vers un site distant mais cela peut être transposé, pour transférer un site d’un hébergeur à l’autre.

Note des administrateurs : cet article est considéré comme archivé, car étant conçu pour des version de Spip inférieur à la 1.9. Vous pouvez trouvez ici une version à jour

1. Installation de SPIP sur le nouveau site :
-  Il s’agit dans un premier temps d’installer un nouveau SPIP vierge (pas celui déjà installé en local). Mais attention il faut que la version que vous installez soit la même que celle que vous avez en local (cf. dans ecrire/, la version de SPIP apparaît sur le site local en bas des pages). Toutes les version de SPIP sont disponibles ici : http://www.spip.net/spip-dev/devel/
-  Si toutefois vous voulez en profiter pour faire une mise à jour, il faut d’abord mettre la nouvelle version sur le site local et faire la mise à jour ; voir : http://www.spip.net/fr_article1318.html.

-  Ensuite la procédure d’installation, est la même que « d’habitude » : Installer SPIP

2. Sauvegarder la base de données local :
-  Via l’interface ADMIN de SPIP : Administration du site > Maintenance du site > [sauvegarder la base], puis suivre les indications [Astuce]
-  vous avez donc créé un fichier "dump.xml" (ou "dump.xml.gz"), qui se trouve dans : SITE_LOCAL/ecrire/data/ et contient toute la base de donnée SPIP du site local.

Attention : Si le serveur de distant n’a pas la fonction de compression (ne peut donc pas travailler avec les fichiers dump.xml.gz ; il vous faudra sauvegarder la base local sans (dump.xml).

3. Transfert le « dump.xml(.gz)" » local : par FTP transférez le fichier « dump.xml(.gz) » du :
-  SITE_LOCAL/ecrire/data
vers :
-  SITE_DISTANT/ecrire/data

4. Restauration de la base de données
-  via l’interface ADMIN de SPIP : Administration du site > Maintenance du site > [restaurer la base] ; attention : pensez bien à spécifier dump.xml en suprimant le ".gz" si c’est votre cas.
-  A ce moment une fois sur 2 SPIP met sur une page : « accès refusé » pas de panique,retournez (gaiement ;-)) dans l’interface ADMIN SPIP Administration du site > Maintenance du site > [restaurer la base] ; et refaite la restauration une deuxième fois, et au 2e essai ça marche. Un pourcentage montre l’état d’avancement de restauration de la base, cela peut être instantané si la base est petite.
-  Vous avez maintenat votre site avec les données (articles, rubriques ...).

5. Teanfert « du reste » :
-  Les squelettes si vous les avez personnalisés (sommaire.html, ...), et le(s) dossier(s) contenant les images de la charte graphique de ces squelettes.
-  le dossier IMG/ à la racine du site local vers le distant : c’est le dossier dans lequel vous avez tous les fichiers joints au site (logos, images, fichiers, ...)

6. On vide le cache SPIP du site distant : juste pour être tranquille : Administration du site > Maintenance du site >  Vider le cache


c’est FINI :-)

Notes

[AstuceLors des différentes sauvegardes/restaurations ou mises à jour de vos sites SPIP, il vous demande de créer un fichier ou dossier « admin_xxxxxx » dans le répertoire URL_SITE/ecrire/data plutot que de créer un fichier de ce même nom et le transférer ensuite (par FTP), vous pouvez créer un dossier de ce même nom : la plupart des clients FTP ont « créer un dossier » en option (clique droit ou bouton) ; ça marche exactement pareil !

Lors de la restauration de la base, SPIP restaure également les auteurs du site (admins, rédacteurs) ; donc si vous mettez des codes d’accès différents (lors de l’installation de SPIP sur le site distant) que ceux que vous aviez en local après la restauration de la base, SPIP vous éjectera en demandant de vous reconnecter avec les « anciens » codes d’accès (du site local).

Discussion

13 discussions

  • 2

    Bonjour,

    Je n’arrive plus à creer des auteurs.
    Quelqu’un pourrait me dire comment résoudre ce problème ?

    • Dans ces squelettes, seules les rubriques à la racine ne sont pas affichées. C’est comme ça, c’est un choix.

      Par contre, je ne comprends très bien quel est le problème avec les portfolios d’images et les logos d’articles ? Y aurait-il une URL où voir cela ?

    • Le message ci-dessus répondait à un post de l’article 2624 et n’aurait donc pas du apparaître ici.

    Répondre à ce message

  • Bonjour,

    après avoir suivi ce tutoriel fort utile , j’ai quand même un petit souci :
    -  après le transfert du site local vers le site distant impossible d’ajouter un document ou une image depuis le site distant en parcourant mon ordi, « télécharger » tourne puis aucune image n’aparait , je suis donc obliger de créer depuis le local , sauvegarder la base et la retransférer sur le distant ... ce qui est dérangeant.

    Quel qu’un aurait t’il la soluce ? Merci

    Répondre à ce message

  • 3

    J’ai plus simple je crois, et en tout cas il n’y a strictement AUCUNE perte de configuration ni de donnée avec cette méthode :

    -  1re étape >> en local :
    Sur la page administration d’Easyphp allez dans « php my admin », sélectionnez la base sur laquelle vous avez travaillé (par exemple « toto », et en bas de la page cochez les cases « structures et données » + « Transmettre » puis cliquez sur exécuter et enregistrez le fichier « toto.sql » sur votre disque dur. Vous venez de sauvegarder tout le contenu de votre site :)

    -  2e étape >> sur internet :
    Pour mettre ce contenu en ligne il vous suffit de faire l’opération inverse chez votre hébergeur : allez dans le Php my admin de votre hébergeur, sélectionnez la base qui vous est attribuée, « tata » par exemple (ou créez en une si vous le pouvez) puis, en dessous de « Exécuter une ou des requêtes sur la base tata » cliquez sur parcourir, sélectionnez le fichier toto.sql de tout à l’heure et cliquez sur exécuter. Quelques instants plus tard un message de confirmation apparaît : tout le contenu de votre site est sur le web :)

    -  3e étape >> en local :
    Une modification toute simple à faire dans le dossier de votre site : allez dans le dossier « ecrire » puis ouvrez inc_connect.php3 dans un éditeur (notepad par exemple).
    Il faut modifier la ligne suivante :

    @spip_connect_db(’localhost’,’’,’root’,’’,’spip’) ;

    Remplacez donc ces infos par celles que vous a communiqué votre hébergeur.
    -  1er champ : ’localhost’ >> adresse du serveur sql.
    -  2e champ : ’’ >> laissez le vide
    -  3e champ : ’root’ >> votre login
    -  4e champ : ’’ >> votre mot de passe
    -  5e champ : ’spip’ >> nom de la base

    Ce qui donne par exemple pour une personne dont le login est ’robert’, le mot de passe ’1234’, le serveur sql ’mysql.hebergeur.com’ et la base ’tata’ :

    @spip_connect_db(’mysql.hebergeur.com’,’’,’robert’,’1234’,’tata’) ;

    -  4e étape >> sur internet :
    Il ne reste plus qu’à transférer les fichiers proprement dits sur votre FTP avec le programme de votre choix.

    -  5e étape >> il n’y en a pas, c’est déjà terminé, votre site internet est maintenant la copie conforme de celui que vous aviez réalisé en local, et pas de mauvaise surprise à l’horizon.
    N’oubliez pas de modifier à nouveau le fichier
    inc_connect.php3 avec les infos d’origine si vous voulez à nouveau travailler votre site en local.

    • Bonjour, je rencontre un pb de taille, j’ai fait tout mon site (avec spip et le squelette renley) en local sur un ordi, mais quand je copie les fichiers du « www » sur une autre machine, aucun de mes liens ne fonctionnent , seulelement les liens vers l’extérieur, donc je ne peux pas le balacer sur internet !! c’est urgent, quelqu’un peut m’aider ??
      Aurélie

    • Salut !
      Quand vous parlez du fichier inc_connect.php3 je ne crois pas que vous tenez compte de la version spip 1.9.2.Car je n’en ai pas trouvé dans mon dossier /ecrire/ de cette version de spip.Merci de me répondre.

    • Pour SPIP 1.9.2 modifier le fichier connect.php dans le dossier config.

    Répondre à ce message

  • Bonours, je me demandais si on devait procéder de la même manière pour un SPIP mutualisé, sinon, quelle est la procédure ?

    Répondre à ce message

  • 2

    N’y a-t-il pas un souci possible avec la table SPIP_META ?
    Notamment le champ adresse-site qui contient l’URL du site
    et qui dans la version locale sauvegardée contient donc un C ://repertoire spip de développement.?
    Comme personne ne semble s’en plaindre, il est possible qu’une des étapes décrites s’occupe de ce champ mais j’avoue que je ne vois pas laquelle.
    Sauf si c’est restaurer la base qui fait le boulot.
    Ou alors dans Installer spip quand on a sucré inc-connect. php3 (la c’est sur, ca le fait).

    • (Mal)heureusement, aucun des paramétrages du sites n’est sauvegardé/restauré par cette méthode : il faut les refaire à la main sur le site distant...

    • GERARD Nicolas

      Oui, tu as raison.
      Le mieux est lors d’un transfert de sucrer le fichier inc-connect.php et d’aller dans le répertoire http://votre_url/ecrire/
      pour reparamètrer le site SPIP.
      Vous pouvez avoir entre autre des problèmes de droit. l’aide à l’installation vous les indique.

    Répondre à ce message

  • 1

    Il y a certaines données de la configuration du site qui ne sont pas reprises et qu’il faut donc saisir à nouveau, l’exemple le plus simple étant le nom du site

    • sebastien

      Bonjour,

      Je n’arrive pas à mettre en ligne mon site internet :

      -  J’ai téléchargé spip et je l’ai décompressé puis j’ai essayé de le balancer sur easyphp dans la répertoire à la racine du site mais en vain.

      -  J’ai un nom de domaine attribué donc normalement je n’ai pas besoin d’hébergeur ?

      -  Je voudrais savoir aussi pour mettre le site en local avant de le balancer sur un site distant.

      -  Sur Le logiciel sur lequel je travaille,pour publier le site, il faut renseigner les champs d’informations suivants :
      « Nom du compte, adresse, nom de l’identifiant, mot de passe, numéro du port... »et ca ne fonctionne pas.
      A ce propos, pour le nom du serveur du serveur distant, dois-je mettre celui où j’ai acquis mon nom de domaine ou mon nom de domaine ?

      Dernière chose, j’ai un problème d’affichage avec les balises méta(texte érroné, photos qui n’apparaissent pas, déplacement des lignes...)

      Bref, il me manque quelques techniques et je dis un grand merci d’avance à celui qui daignera me répondre.

    Répondre à ce message

  • 1

    Bonjour, j’ai transféré un site local vers un serveur (qui tourne sur MacOsX), et tout s’est bien déroulé jusqu’à :

    Installation du système de publication...

    Dernière étape : C’est terminé !

    N’oubliez pas vos propres codes d’accès !

    Vous pouvez maintenant commencer à utiliser le système de publication assistée...
    Warning : fopen(data/.htaccess) : failed to open stream : Permission denied in /Users/olivier/Base/Web/bz/ecrire/install.php3 on line 72

    Warning : fputs() : supplied argument is not a valid stream resource in /Users/olivier/Base/Web/bz/ecrire/install.php3 on line 73

    Warning : fclose() : supplied argument is not a valid stream resource in /Users/olivier/Base/Web/bz/ecrire/install.php3 on line 74

    (et suivant>> puis)

    Warning : fopen(CACHE/2/spip_login.ec6a47_tmp) : failed to open stream : Permission denied in /Users/olivier/Base/Web/bz/inc-cache.php3 on line 96

    Auriez-vous une idée du problème ?

    • Il faut que les permissions des dossiers ecrire/data et CACHE soient suffisantes pour que le serveur puisse écrire dedans. Quand on copie un dossier, en général les permissions sont assez basses et le serveur web (apache) ne peut plus écrire dedans. Il faut alors modifier ça à la main avec le client ftp (clique-droit/Ctrl-Clic sur le dossier et changer les permissions).

    Répondre à ce message

  • Pierre MAILLET

    J’ai donc mis au point mon site en local. J’ai l’habitude de le transférer sur mon pc portable tous les week-ends pour pouvoir continuer à le travailler.
    J’ai réussi le transfert des tables données squelettes sur le site distant. Tout s’est bien passé pour la saisie des identifiants de connection etc.. J’ai même pu afficher la page /ecrire. J’ai cliqué sur « visiter le site » dèçu de voir afficher la page sommaire standard j’ai donc « recalculé » la page..
    Message d’erreur « Parse error : parse error in your script on line 29 »
    et ensuite impossible d’avoir accès au répertoire /ecrire

    Répondre à ce message

  • Lors d’un transfert site distant vers local, j’ai rencontré le problème suivant :
    Impossible d’effectuer l’include inc_import.php3 (fichier index.php3 en ligne 229). En fait le chemin « ../../../spip/ecrire/inc_import.php3 remontait audelà de c : ».
    Je l’ai remplacé par « inc_import.php3 »

    Tjos

    Répondre à ce message

  • ok pour toutes ces explications.

    Maintenant j’ai un autre problème :
    je souhaiterai sauvegarder seulement une partie du site ! (par exemple un secteur, ou une rubrique avec ses articles et toute sa descendance, sous-rubriques etc., ou plusieurs rubriques ensembles)

    ... quelqu’un aurait-t-il une idée ?

    La raison qui m’amène à demander ça est que nous avons un site collaboratif à la taille d’un continent (l’afrique) et que chaque administrateur de chaque pays va devoir gérer sa propre rubrique, avec toutes ses sous-rubriques etc.
    En cas de problème sur un pays (imaginons qu’un seul admin soit très bête et qu’il supprime par erreur toutes ses rubriques/articles) on sera obligés de reprendre une sauvegarde globale qui risque d’obliger tout le monde à refaire son boulot de quelques jours, voire de quelques semaines...
    Voilà, l’idéal serait que chaque admin puisse sauvegarder les rubriques qui le concerne seulement (sans avoir besoin de créer le fameux fichier par ftp, car aucun de ces admin n’a d’accès ftp sur le serveur) (vous pouvez voir à quoi ça ressemble ici, c’est encore une démo, ça sera bientôt en ligne à www.aacb.org)

    Répondre à ce message

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom