Magento : Transférer votre boutique sur votre serveur en ligne à  partir d'une installation locale

Dans notre précédent tutorial, nous vous avons montré comment installer Magento sur votre ordinateur en utilisant Xampp, nous allons vous expliquer ici comment transférer votre boutique sur un serveur en ligne.
En effet si vous avez déjà  installé en local : un thème, un module, le catalogue produit, les catégories… Il est assez fastidieux d’être obligé de tout recommencer sur votre serveur distant.
La procédure à  suivre est un peu plus compliquée qu’avec Prestashop, mais reste toutefois assez simple.

Pré requis

Vous devez avoir une base de données Mysql sur votre serveur. Si ce n’est pas le cas, vous devez prendre contact avec votre hébergeur. Notez les identifiants nécessaires à  la connexion à  celle-ci.

Transfert des fichiers

Magento étant assez volumineux, nous allons transférer les fichiers de votre boutique en premier, afin de gagner du temps.
Il vous faut transférer l’ensemble de vos fichiers du dossier Magento dans votre serveur local (Selon notre tutoriel, c:\xampp\htdocs\magento) dans un dossier sur votre serveur.
Pour cela, vous devez utiliser un client ftp. Si vous n’avez pas de client, vous pouvez télécharger le très bon Filezilla
Une fois installé, lancez-le et configurez le de façon à  se qu’il puisse se connecter sur votre serveur :

  • Cliquez sur l’icône en haut à  gauche (entouré de rouge sur la photo)
  • Cliquez sur nouveau site
  • Renseignez les différents champs avec les identifiants FTP de votre hébergement (hôte, type d’authentification : Normale, Utilisateur, Mot de passe).
  • Cliquez sur connexion (pour vous connectez par la suite, il suffira de cliquez sur la petite flèche juste à  côté de l’icône et de choisir votre serveur).


Dès que vous êtes connecté sur votre serveur, créez un nouveau dossier dans lequel sera contenu votre boutique. Notez bien le chemin de ce dossier : si celui ci est à  la racine ou dans un sous-dossier (pointé en rouge sur la photo ci-dessous), il vous servira plus tard pour votre fichier .htaccess.
Vous pouvez transférer, maintenant, tous les fichiers du dossier Magento (du répertoire local) dans ce dossier nouvellement créé.

Création de la copie de votre base de donnée locale

Abordons, maintenant, la seconde étape de notre tutorial : la création de la copie de votre base de donnée locale.

  • Connectez vous d’abord sur votre base de donnée locale avec Phpmyadmin : si vous utilisez Xampp, allez sur https://127.0.0.1/phpmyadmin
  • Cliquez ensuite sur votre base de donnée dans l’onglet gauche (si vous avez suivi notre tutorial de création, la base de donnée se nomme « maboutiquemagento »).
  • Dans les onglets en haut sur le panneau droit cliquez sur Exporter.

  • Sélectionnez “Transmettre” en bas de page
  • Cliquez sur exécuter.


Vous n’avez plus qu’à  enregistrer le fichier.

Suppression du fichier local.xml

Si l’ensemble de vos fichiers ont bien été transféré, vous pouvez passer à  cette étape. Pour pouvoir installer votre boutique en ligne, il va falloir reconfigurer celle-ci.
Avec votre client ftp, supprimez le fichier de configuration actuelle “local.xml” situé dans “app/etc/”. (Ne supprimez pas le fichier local.xml.template).

Installer votre boutique

Rendez-vous à  l’adresse de votre boutique en ligne (ex : https://monserveur.com/magento), vous devriez tomber sur la page d’installation de Magento. Suivez la procédure habituelle, et compléter les formulaires :


La partie la plus importante : renseignez les champs pour la connexion à  votre base de donnée. Le champ Host est disponible auprès de votre hébergeur. Pensez aussi à  renseigner le champ “Base URL” avec votre adresse exacte : (ex : https://monserveur.com/magento).

Terminez la procédure.

Suppression de votre base de données

En installant Magento, sur votre serveur distant, ce dernier a créé une base de donnée. Nous allons la supprimer.
Pour cela rendez vous dans l’administration de votre base de données en ligne, puis sélectionnez toutes les tables de votre base, pour les supprimer.


Transfert de votre base de données

Nous allons importer, maintenant, le fichier “.sql” de votre base de données locale sur votre serveur en ligne :

  • Rendez-vous dans l’administration de votre base de données en ligne
  • Cliquez sur l’onglet en haut « Importer ».
  • Pour le champ “Emplacement du fichier texte” : sélectionnez le fichier que nous avons créé précédemment en cliquant sur “parcourir” (dans l’étape : création de la copie de votre base de donnée locale).
  • Cliquez sur Exécuter :


Vous devriez obtenir cet écran, vous confirmant que l’opération s’est exécutée avec succès.

Modification de votre base de données

Pour rendre la base de données importée, compatible avec votre boutique, nous allons modifier deux entrées :

  • Rendez vous dans la table : “core_config_data”
  • Sélectionnez les deux premières entrées
  • Cliquez sur le petit crayon en bas de la page pour les modifier


Remplacer dans les deux textarea “valeur” : l’adresse (ex : https://127.0.0.1/magento) par l’url de votre serveur (ex : https://monserveur.com/magento) et cliquer sur Exécuter :

Vous devriez avoir un message de confirmation :

Modification du fichier .htaccess

Cette étape n’est nécessaire, qu’aux personnes ayant décommenté la ligne 120 du fichier .htaccess à  la racine du dossier Magento :
Si à  la ligne 120, vous avez la ligne suivante : #RewriteBase /magento/
Vous n’avez pas besoin de suivre cette étape.
Si par contre vous avez la ligne suivante : RewriteBase /magento/

  • Vous devez alors remplacer : « /magento/ » par l’adresse où se trouve votre dossier (ex : /monsousdossier/magento/).
  • Enregistrer le fichier sous un autre nom, et copiez-le sur votre serveur à  la base de votre boutique
  • Renommez le : .htaccess

Si lorsque vous tentez d’accéder à  votre boutique en ligne, vous obtenez une erreur 500, ce pourrait être due à  une mauvaise configuration de cette ligne.

Conclusion

Vous êtes prêt à  utiliser votre boutique Magento en ligne.
Si vous rencontrez des difficultés pour réaliser ces différentes étapes, vous pouvez nous demander des conseils dans les commentaires de cet article ou prendre contact avec nous.
Notre équipe peut aussi s’occuper de réaliser ce transfert, ou tout autre étapes dans la création de votre site. N’hésitez pas à  nous contacter.

16 commentaires sur “Magento : Transférer votre boutique sur votre serveur en ligne à  partir d'une installation locale”

  1. Je vois sur les captures de PhpMyadmin que MyISAM est utilisé comme moteur pour les tables. Attention ceci est très fortement déconseillé. Magento DOIT utiliser InnoDB et ceci dès la création des tables car convertir les tables MyISAM en InnoDB ne recréera pas les clés étrangères manquantes. Il me semble que par défaut Xammp désactive Innodb. Il faut donc l’activer avant toute installation.

  2. Bonjour,
    lorsque j’accède au dossier « magento », l’intall reste nulle (page blanche)
    Voici la config du serveur chez Freeheberg.com:
    PHP 5.2.5-pl1-gentoo (la page de test ici : http://www.nuvellaghju.com/testphp/test.php)
    MySQL 5.0.44
    Le check du serveur donne ceci :
    Congratulations! Your server meets the requirements for Magento.
    * You have PHP 5.2.0 (or greater)
    * Safe Mode is off
    * You have MySQL 4.1.20 (or greater)
    * You have the curl extension
    * You have the dom extension
    * You have the gd extension
    * You have the hash extension
    * You have the iconv extension
    * You have the mcrypt extension
    * You have the pcre extension
    * You have the pdo extension
    * You have the pdo_mysql extension
    * You have the simplexml extension
    J’ai eu beau chercher sur les forums, je n’ai trouvé personne ayant été stoppé avant l’install sans mesage d’erreur, avec juste une page blanche.

  3. Vous pouvez mettre les fichiers contenu dans le dossier magento à la racine de votre hébergement. Ce que je vous déconseille pour des raisons évidentes d’ordre.
    Le plus simple est de configurer votre nom de domaine afin qu’il pointe sur ce bon dossier. Contactez votre hébergeur si vous ne connaissez pas la marche à suivre.

  4. Bonjour,
    1. Faut il cocher l’option « désactivation de clef étrangère » ?
    2. Pourquoi vos tables sont en MylSAM et non InnoDB ?
    3. Faut il installer sous le www ou sous un répertoire nommé « Magent » ? avantages et inconvénients.
    4. Si les fichiers d’installations sont sous un répertoire « Magento », le site sera apparaitra sours
    http://www.nomdedomaine.fr/magento/ (aux yeux du public) ?
    merci pour votre aide

  5. Magavenue, pour raison d’ordre,comme vous dites, il est préférable de laisser le répertoire magento,mais pour pointer vers le bon dossier, est dans Magento, ou sa base de données ou via l’hébergeur qu’il faut le faire ?
    Merci

  6. je comprends pas pourquoi dans votre tuto, les tables sont en MylSAM, alors que tout le monde dit qu’il faut que les tables soient en InnoBD.
    merci pour votre aide

  7. @leo :
    1 : si vous avez des difficultés lors de l’import de votre base de données : oui.
    2 : cela dépends de la configuration de notre hébergement. L’installateur tentera automatiquement de les passer en InnoDB, lorsque vous réaliserez l’installation.
    3 : comme vous préférez, si vous travaillez sur plusieurs sites, il est préférable d’avoir un répertoire pour chaque site.
    4 : oui c’est cela, à moins que vous configuriez votre nom de domaine, et votre hébergement pour pointer directement vers le dossier.

  8. Bonjour,
    J’ai suivi votre tuto pour transférer mon site sur mon hébergeur (online) et apparemment tout c’est bien passé.
    Cependant, j’ai constamment des erreurs aléatoires « fatal error » core/mage… lib/varien
    J’ai re-uploader les dossiers pensant que cela venait de là mais rien n’y fait.
    Que peut être la solution à ce problème.

  9. Bonjour,
    J’ai un problème après avoir suivi ce tuto, mon site est comme sans layout et sans css « www.couvre-poche.fr ». Or tous les fichiers sont bien uploadés.
    Je suis sur magento 1.7, hebergeur ovh.
    Merci d’avance pour les réponses

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *