====== Migrer son instance vers un autre centre de données ====== La migration d'un site situé sur une instance Simple Hosting vers une instance Simple Hosting d'un autre centre de donnée se fait en quelques étapes décrites dans ce tutoriel : - Récupérer le code source de votre site Web ainsi que les bases de données. - Créer la nouvelle instance Simple Hosting sur le nouveau centre de donnée. - Supprimer l'hôte virtuel de l'ancienne instance et le recréer sur la nouvelle. - Envoyer le code source du site sur la nouvelle instance et importer la base de donnée. - Modifier le fichier de zone du domaine afin de le faire pointer sur la nouvelle instance. Notez que cette procédure entraînera une coupure de service de quelques heures en raison de la modification du fichier de zone DNS. \\ De plus, il sera nécessaire de supprimer l'hôte virtuel sur l'instance existante avant de pouvoir le recréer sur votre nouvelle instance. \\ Afin de réduire ce temps d'indisponibilité, il vous est possible de réduire le TTL des enregistrements DNS liés à votre instance Simple Hosting. \\ Si vous utilisez les serveurs DNS de Gandi, vous pouvez vous appuyer sur la documentation suivante pour modifier votre zone DNS : http://wiki.gandi.net/fr/dns/zone ===== Export des fichiers ===== Dans un premier temps, vous devrez exporter les fichiers et base de données de l'hôte virtuel de votre instance basée en France. - Exporter les fichiers via SFTP : Pour vous connecter à votre instance Simple Hosting en SFTP, vous aurez besoin de connaître les informations suivantes : **Hôte** : sftp.dc0.gpaas.net \\ **Port** : 22 \\ **Utilisateur** : Votre identifiant unique. Un numéro à plusieurs chiffres, fourni dans l'email de confirmation envoyé lors de la création de votre instance, visible aussi sur la page de gestion de votre instance. Attention, **il ne s'agit pas** de votre identifiant Gandi sous la forme XX1234-GANDI. \\ **Mot de passe SFTP** : Celui que vous avez défini lors de la création de votre instance. Si nécessaire, vous pourrez modifier ce mot de passe en suivant la documentation suivante : https://wiki.gandi.net/fr/simple/reset-password \\ Vous pourrez ensuite vous appuyer sur ces documentations expliquant comment utiliser les clients SFTP classiques : * [[ https://wiki.gandi.net/fr/simple/sftp/filezilla | Utiliser FileZilla (gratuit)]] * [[  https://wiki.gandi.net/fr/simple/sftp/fireftp | Utiliser Firefox et l'extension FireFTP (gratuit) ]] * [[ https://wiki.gandi.net/fr/simple/sftp/winscp | Utiliser WinSCP (Windows) ]] * [[ https://wiki.gandi.net/fr/simple/sftp/sshfs | Ligne de commande SFTP ]] ===== Exporter les bases de données ===== Pour exporter vos bases de données, plusieurs solutions s'offrent à vous. Vous pouvez utiliser une interface de gestion de bases de données comme phpMyAdmin ou, la ligne de commande MySQL lors d'une connexion via la console SSH à votre instance. ==== Exemple avec phpMyAdmin ==== Rendez-vous sur votre interface d'administration Simple Hosting pour accéder à phpMyAdmin. Vous pouvez vous aider de la documentation suivante pour ce faire : http://wiki.gandi.net/fr/simple/mysql Sélectionnez ensuite la base de données à exporter dans la colonne de gauche, puis cliquez sur le menu 'Exporter' en haut de la page. Choisissez la méthode d'exportation 'Rapide' et laissez les autre options par défaut. Enfin, cliquez sur 'Exécuter' pour télécharger le fichier au format '.sql' sur votre ordinateur en local. ==== Exemple avec la ligne de commande Mysql ==== Connectez-vous avec la console SSH à votre instance Simple Hosting. Vous pouvez vous aider de la documentation suivante pour ce faire : http://wiki.gandi.net/fr/simple/console Déplacez-vous dans un répertoire dans lequel vous avez les droits d'écriture comme par exemple 'tmp', en utilisant la commande suivante : $ cd /srv/data/tmp Exécutez ensuite la commande suivante : $ mysqldump -u root -p nom_de_la_base > nom_de_la_base.sql Un fichier '.sql' correspondant à la base de données sera alors créé dans le répertoire 'tmp' de votre instance et vous pourrez alors le télécharger via SFTP. Notez que l'organisation de l'arborescence de votre instance est différente en SFTP et en console SSH. Donc pour accéder au répertoire 'tmp' via SFTP, vous devrez utiliser le chemin '/lamp0/tmp'. ===== Création de la nouvelle instance ===== Vous pouvez à présent créer votre nouvelle instance Simple Hosting en suivant cet article : http://wiki.gandi.net/fr/simple/create-instance Pensez à modifier la localisation de l'instance pour l'installer dans le centre de données où vous souhaitez migrer l'instance. Cette option se trouve dans le premier champs du formulaire de création de l'instance. Ne complétez pas le champs 'Adresse du site' car nous déclarerons cette adresse dans une prochaine étape. ===== Suppression de l'ancien hôte virtuel ===== Cette opération entraînera nécessairement une coupure de service car les fichiers du site en production seront supprimés. Cette étape est nécessaire pour libérer l'hôte virtuel afin de pouvoir le déclarer par la suite sur votre nouvelle instance. Rendez-vous sur l'interface de gestion de votre instance basée en France pour supprimer l'hôte virtuel concerné. Dans la partie 'Sites' situé en milieu de page, vous pourrez supprimer l'hôte virtuel grâce à la croix noire située au bout de la ligne. Le virtualhost supprimé sera placé dans le répertoire 'trash', vous permettant ainsi de restaurer les fichiers en cas de problème. Pour accéder au répertoire 'trash' via SFTP, vous devrez utiliser le chemin '/lamp0/trash'. Pour y accéder en console SSH, vous devrez utiliser le chemin '/srv/data/trash'. Pensez également à supprimer l'hôte virtuel du répertoire 'trash' lorsque la migration sera finalisée afin de libérer de l'espace sur votre disque. ===== Création du nouvel hôte virtuel ===== L'hôte virtuel étant à présent libéré, vous pourrez le recréer sur la nouvelle instance en vous aidant de l'article suivant : http://wiki.gandi.net/fr/simple/shs-dns_config#ajouter_un_virtual_host_a_son_instance Vous pouvez également configurer le fichier de zone DNS de votre domaine afin de le faire pointer vers la nouvelle instance Simple Hosting : http://wiki.gandi.net/fr/simple/shs-dns_config#configuration_des_dns ===== Importer ses fichiers sur la nouvelle instance ====== L'hôte virtuel étant créé, vous pouvez maintenant envoyer les fichiers de votre site via SFTP, en vous appuyant sur ces documentations : * [[ https://wiki.gandi.net/fr/simple/sftp/filezilla | Utiliser FileZilla (gratuit)]] * [[  https://wiki.gandi.net/fr/simple/sftp/fireftp | Utiliser Firefox et l'extension FireFTP (gratuit) ]] * [[ https://wiki.gandi.net/fr/simple/sftp/winscp | Utiliser WinSCP (Windows) ]] * [[ https://wiki.gandi.net/fr/simple/sftp/sshfs | Ligne de commande SFTP ]] ==== Note aux utilisateur de Git ==== Si vous déployez le code de votre application via Git, nous vous conseillons d'ajouter un dépôt distant en utilisant la commande ''git remote'. Vous pourrez déployer le code sur votre nouvelle instance via les commandes suivantes (en supposant que vous vous trouvez déjà dans le répertoire de travail de votre dépôt local) : $ git init $ git remote add new ssh+git://{login}@git.dc2.gpaas.net/{vhost}.git $ git add htdocs $ git commit htdocs $ git push new master $ ssh {login}@git.dc2.gpaas.net 'deploy {vhost}.git' ===== Importer les bases de données ===== De la même manière que l'exportation des bases, vous pouvez utiliser phpMyAdmin ou la ligne de commande MySQL pour importer vos bases. ==== Exemple avec phpMyAdmin ==== Rendez-vous sur votre interface d'administration Simple Hosting pour accéder à phpMyAdmin. Vous pouvez vous aider de la documentation suivante pour ce faire : http://wiki.gandi.net/fr/simple/mysql Cliquez sur le menu 'Bases de données' situé en haut de page. Indiquez le nom de la base de données à importer dans le champs 'Créer base de données'. Sélectionnez ensuite la base de données qui vient d'être créée dans la colonne de gauche, puis cliquez sur le menu 'Importer' en haut de la page. Choisissez le fichier '.sql' à importer à partir de votre ordinateur local avec le bouton 'Parcourir'. Enfin, cliquez sur 'Exécuter' pour importer le fichier '.sql'. ==== Exemple avec la ligne de commande Mysql ==== Dans un premier temps, envoyez via SFTP le fichier '.sql' que vous aviez exporté dans le répertoire 'tmp' de votre nouvelle instance. Connectez-vous en SSH à votre instance Simple Hosting. Vous pouvez vous aider de la documentation suivante pour ce faire : http://wiki.gandi.net/fr/simple/console Placez-vous ensuite dans le répertoire 'tmp' : $ cd /srv/data/tmp puis exécutez ensuite les commandes suivantes : $ mysql -u root -p mysql> CREATE DATABASE nom_de_la_base; mysql> nom_de_la_base < nom_de_la_base.sql ===== Suppression de l'ancienne instance ===== La migration étant à présent finalisée, vous pourrez supprimer votre ancienne instance. Si vous aviez souscrit à votre instance en paiement annuelle, vous devrez prendre contact avec notre support technique afin que soit levé l'engagement sur celle-ci. Vous pourrez ensuite la supprimer depuis votre compte Gandi et ainsi être remboursé au prorata de son utilisation sur votre compte prépayé. ===== Migrer son site avec Déménageur de site ===== Si vous ne souhaitez pas effectuer cette migration par vous-même, nous vous proposons un service de migration géré par un partenaire qui prendra en charge ces opérations. Si cette offre vous interesse, nous vous invitons à consulter l'article suivant qui vous expliquera comment déclencher cette procédure : http://www.lebardegandi.net/post/2012/10/08/Et-si-on-migrait-votre-site