Comment déplacer un site d'un hébergement o2switch vers un autre ?
Ce tutoriel explique comment migrer un site internet d'un hébergement o2switch vers un autre hébergement o2switch.
Cette procédure est utile dans plusieurs cas :
- Vous avez beaucoup de sites sur un hébergement et vous souhaitez transférer une partie des sites vers un autre hébergement pour alléger le premier compte.
- Vous souhaitez profiter du système des sous-comptes Lunes pour améliorer la sécurité et l'isolement de vos sites. Vous souhaitez donc déplacer des sites vers des sous-comptes.
- Vous êtes un webmaster et vous hébergez les sites de vos clients sur un hébergement à votre nom. Un de vos clients demande à être indépendant et a commandé un compte à son nom. Vous souhaitez déplacer son site vers son hébergement.
En résumé, il y a plusieurs raisons valables de vouloir déplacer un site internet d'un hébergement vers un autre hébergement.
Il existe plusieurs méthodes pour déplacer un site web. Ces méthodes dépendent également du type de site à migrer. Dans ce tutoriel, nous allons voir deux méthodes différentes :
- La méthode manuelle du transfert en FTP ou Rsync. C'est la méthode qui fonctionne pour tout type de site, mais c'est aussi la plus longue et fastidieuse.
- Pour les sites WordPress, nous allons voir comment transférer un site avec Duplicator. Cette méthode ne fonctionne que pour les sites WordPress (de petite ou moyenne taille), mais elle est beaucoup plus rapide et simple.
Prérequis avant de commencer
Avant de commencer, munissez-vous des accès cPanel pour vos deux hébergements. Vous pouvez retrouver ces informations
dans les emails Bienvenue chez o2switch
qui sont envoyés lors de l'ouverture des comptes d'hébergement.

Si vous avez créé un sous-compte d'hébergement (appelé une Lune), vous devriez déjà avoir le mot de passe puisque vous l'avez choisi.
Déplacer un site d'hébergement vers un autre manuellement
Pour déplacer un site internet d'un hébergement vers un autre hébergement, il y a plusieurs étapes :
1 Dans un premier temps, il faut récupérer les fichiers du site internet pour les copier du premier hébergement vers le second hébergement. Il existe plusieurs méthodes pour cela :
- En FTP : c'est la méthode la plus simple, mais aussi la plus longue. En FTP, il faut d'abord récupérer les fichiers sur votre ordinateur, puis les retransférer de votre ordinateur vers le second hébergement. Il y a donc un double transfert de données, et votre ordinateur sert d'intermédiaire. Vous êtes potentiellement limité par la vitesse de votre connexion internet.
- De serveur à serveur en SSH : cette méthode est plus complexe car elle nécessite de se connecter en SSH sur l'hébergement et de lancer des lignes de commandes. Cependant, elle est bien plus rapide car le transfert de données se fait de serveur à serveur, sans avoir besoin d'un intermédiaire. De plus, cela est généralement plus fiable.
2 Ensuite, il faut faire la même chose avec la base de données qu'utilise le site internet. Il faut exporter la base de données du premier compte d'hébergement pour la recréer, puis l'importer sur le second compte.
3 L'étape suivante consiste à reconfigurer le site internet. Le fichier de configuration du site internet devra être mis à jour, notamment pour configurer l'accès à sa nouvelle base de données.
4 Enfin, il faut reconfigurer le nom de domaine. Cela implique de supprimer le domaine du premier compte d'hébergement, puis de le reconfigurer sur le second compte. C'est à ce moment-là que le site internet pointera vers le nouveau compte.
Copier les fichiers du site
Avant de commencer à copier les fichiers du site, il faut identifier où se trouvent les fichiers du site sur votre hébergement. Pour cela, vous pouvez naviguer dans l'outil Domaines Configurés.
Dans cet outil, naviguez dans le tableau récapitulatif puis utilisez la barre de recherche pour rechercher votre nom de
domaine. Si vous avez un résultat, notez la Racine du document
.

Si vous n'avez pas de résultat, suivez la même procédure mais avec l'outil
sous-domaine. Et si vous n'avez toujours pas de résultat, il est probable
que votre site se trouve dans public_html
.
Ensuite, pour copier les fichiers du site du premier compte d'hébergement vers le second, vous avez le choix entre deux méthodes :
A En FTP. C'est la méthode la plus simple, mais elle est également longue et fastidieuse. Elle nécessite de télécharger les données sur votre ordinateur pour les renvoyer vers l'autre hébergement. Vous êtes donc limité par la vitesse de votre connexion internet.
B En SSH, de serveur à serveur. C'est la méthode la plus rapide, mais elle est un peu plus compliquée car elle demande de se connecter en SSH sur l'hébergement et de lancer des commandes (les commandes seront fournies).
Méthode A : Copier les fichiers du site en FTP
Avant de commencer, nous vous recommandons de lire le tutoriel sur la configuration du logiciel FTP Filezilla. Ce tutoriel sera plus exhaustif que ce qui sera expliqué ici.
Lancez Filezilla puis cliquez sur Fichier
puis Gestionnaire de sites
. Ajoutez un nouveau site qui correspond à
l'hébergement source. Puis recommencez la procédure mais avec l'hébergement de destination cette fois.
Aidez-vous des informations contenues dans le mail Bienvenue chez o2switch
. Pour rappel, il faut utiliser les réglages
suivants :
Protocole
: FTPHôte
: l'adresse de la formeqqch.o2switch.net
qui est communiquée dans le mail ou retrouvable depuis votre espace client dans les détails de la prestation d'hébergementChiffrement
: connexion FTP simple. Si vous souhaitez utiliser une méthode différente, référez-vous au tutoriel sur FilezillaType d'authentification
: normaleUtilisateur
: votre identifiant cPanelMot de passe
: le mot de passe de cPanel

Connectez-vous sur l'hébergement source, c'est-à-dire l'hébergement qui contient les données du site à récupérer.
Ensuite, naviguez dans le dossier du site à transférer avec Filezilla puis téléchargez les données avec un glisser-déposer vers un dossier de votre ordinateur.

Lorsque vous avez récupéré toutes les données, il faut faire la même chose mais dans l'autre sens pour envoyer les fichiers vers l'hébergement de destination. Connectez-vous sur l'hébergement de destination avec Filezilla puis :
- Sur l'hébergement de destination, créez un dossier qui aura le même nom que le site internet. N'utilisez pas d'espace, nommez le dossier en utilisant le nom de domaine du site.
- Transférez les données du site dans ce dossier avec un glisser-déposer sur Filezilla.

Les fichiers sont transférés, vous pouvez maintenant passer à l'étape suivante pour récupérer et réimporter la base de données.
Méthode B : Copier les fichiers du site de serveur à serveur avec SSH
Vous pouvez transférer les données de serveur à serveur en SSH. Le transfert de fichiers avec cette méthode est beaucoup plus rapide et fiable.
Connectez-vous sur le cPanel de votre hébergement source, puis naviguez dans l'outil Terminal. L'outil Terminal permet d'accéder à votre hébergement en SSH depuis votre navigateur web, cela vous évite de devoir télécharger et configurer un client SSH comme PuTTy.
En SSH, naviguez jusqu'au dossier qui contient les fichiers de votre site et arrêtez-vous un cran en arrière. Pour naviguer dans les dossiers de votre hébergement en ligne de commande, ou lister vos fichiers, vous pouvez utiliser les commandes suivantes :
# La commande "ls" permet de lister les fichiers
ls
# La commande "cd" permet de naviguer dans un dossier
# La commande "cd monDossier" permet d'entrer dans le dossier "monDossier"
cd monDossier
# La commande "cd .." permet de revenir en arrière
cd ..
# La commande "pwd" affiche le dossier dans lequel vous vous trouvez actuellement
pwd

Pour transférer le contenu du site internet de l'hébergement source vers l'hébergement de destination, il faut utiliser
la commande rsync
.
Exemple de commande à lancer :
# En lançant la commande "ls", le dossier à transférer (ici public_html) doit s'afficher
ls
# La commande pour transférer les données
rsync -av public_html/ o2tuto@greek.o2switch.net:/home/o2tuto/tutoriel-o2switch.fr
Quelques explications sur la commande précédente :
rsync
: la commande qui permet de transférer des données d'une source vers une destination.public_html/
: le dossier dans l'hébergement source à transférer. Le/
est important. Cela indique qu'il faut transférer le contenu du dossier, mais ne pas recréer un dossierpublic_html
sur la destination.-av
: des options qui permettent de conserver les permissions et dates des fichiers et d'activer le mode verbeux.o2tuto@greek.o2switch.net
: l'identifiant de l'hébergement distant, suivi d'un@
, suivi du nom du serveur distant./home/o2tuto/tutoriel-o2switch.fr
: le chemin vers lequel transférer les données sur le serveur distant. Notez bien/home
suivi de/votreIdentifiantCpanel
suivi de/le-nom-du-site.fr
.

Après avoir lancé la commande, il faudra répondre à deux questions :
- Si c'est la première fois que vous vous connectez au serveur distant, l'outil vous demandera de valider la signature
du serveur ; il suffit de répondre
yes
. - Ensuite, il faudra entrer le mot de passe de votre hébergement de destination pour vous authentifier.
Après avoir entré votre mot de passe, l'outil commencera à transférer les fichiers. La liste des fichiers transférés s'affichera dans le terminal SSH.
Il faut laisser la commande s'exécuter jusqu'à ce qu'elle se termine.

Si la commande est interrompue, pour une raison X ou Y, alors vous pouvez simplement la relancer, cela reprendra le transfert : c'est l'avantage de Rsync, il est capable de reprendre un transfert échoué.
Vous pouvez passer à l'étape suivante pour copier les données.
Copier la base de données
Il est probable que votre site internet utilise une base de données. Cette base de données doit être copiée. Pour cela, il faut :
- trouver le nom de la base de données qu'utilise le site internet ;
- exporter une copie de cette base de données, en faire une sauvegarde ;
- recréer une base de données ainsi qu'un utilisateur MySQL sur l'hébergement de destination ;
- réimporter la base de données sur la destination.
Identifier le nom de base de données
La première étape est d'identifier le nom de la base de données qui est utilisé par le site internet, car il faudra en faire une copie.
Pour cela, il faut ouvrir le fichier de configuration du site internet, avec un outil comme le gestionnaire de fichiers. Le fichier de configuration du site va contenir les informations de connexion pour la base de données.
Le fichier à ouvrir dépend du CMS utilisé. Dans les plus courants, vous avez :
wp-config.php
pour WordPress, il faut rechercher une ligne avecDB_NAME
;configuration.php
pour Joomla, il faut rechercher une ligne avec$db =
;config/settings.inc.php
pour PrestaShop 1.6 et inférieur, il faut rechercherDB_NAME
;app/config/parameters.php
pour PrestaShop 1.7 et supérieur, il faut rechercherdatabase_name
;.env
pour des projets Symfony ou Laravel, vous pouvez chercherDATABASE_URL
.

Exporter la base de données
Pour exporter la base de données, il faut naviguer dans l'outil phpmyadmin dans cPanel.
Ensuite, il faut cliquer sur le nom de la base de données dans le menu à gauche, puis cliquer sur Exporter
dans
le menu supérieure, puis valider en laissant la configuration par défaut en cliquant sur le bouton Exporter
.
Cela va proposer un ficher .sql
à télécharger. Il faudra conserver ce fichier, il sera nécessaire plus tard pour
réimporter la base de données.

Recréer une base de données sur la destination
Sur l'hébergement de destination, connectez-vous sur cPanel puis naviguez dans l'outil Bases de données MySQL.
Dans cet outil, il faut faire trois choses :
- Créer une nouvelle base de données - avec le premier formulaire
- Créer un utilisateur MySQL et lui attribuer un mot de passe - deuixème formulaire
- Attribuer tous les droits à l'utilisateur sur la base de données - avec les deux dernières listes déroulantes de l'outil

Import la base de données
La base de données créée à l'étape présente est vide. Il faut importer la sauvegarde du fichier réalisée plus tôt.
Pour cela, il faut naviguer dans l'outil PhpMyAdmin de l'hébergement, puis cliquer sur la base de données dans le menu à gauche, puis aller dans l'onglet "Importer".

Reconfigurer le site internet
Les données du site ont été transférés sur le nouvel hébergement. La base de données a été recréé et réimportée. Maintenant, il faut reconfigurer le site internet en modifiant son fichier de configuration car le nom de la base de données, le nom d'utilisateur et le mot de passe ont changés.
Le fichier à éditer dépend du CMS utilisé :
wp-config.php
pour WordPressconfiguration.php
pour Joomlaconfig/settings.inc.php
pour Prestashop 1.6 et inférieurapp/config/parameters.php
pour Prestashop 1.7 et supérieur.env
pour des projets Symfony ou Laravel
Vous pouvez ouvrir le fichier avec l'[outil gestionnaire de fichier de cPanel][/cpanel/fichiers/gestionnaire-fichiers-web].

C'est fini pour le site internet. Le site est pré-installé sur l'hébergement de destination et devrait être fonctionnel.
Il ne reste plus qu'à reconfigurer le nom de domaine pour qu'il pointe sur l'hébergement de destination.
Reconfigurer le domaine
A présent, il faut ajuster le pointage du nom de domaine. Pour cela, il faut :
- déconfigurer le domaine de l'hébergement source, en l'enlevant de l'outil Domaines Configurés.
- attendre 10-15 minutes, le temps que la suppression soit bien effective (la suppression des zones DNS peut prendre quelques minutes)
- reconfigurer le domaine sur l'hébergement de destination, en faisant attention à bien faire pointer le domaine dans le dossier dans lequel se trouve les fichiers du site
Pour supprimer le domaine de l'hébergement source, connectez-vous sur le cPanel de l'hébergement source, puis naviguez dans l'outil Domaines Configurés.
Dans la tableau récapitulatif des domaines configurés, cliquez sur Supprimer
.

Patientez 10-15 minutes. La suppression de la zone DNS peut prendre quelques instants. Si vous ne patientez pas, vous risquez d'avoir une erreur lors de la reconfiguration du domaine sur l'hébergement de destination.
Connectez-vous sur l'hébergement de destination, puis naviguez dans l'outil Domaines Configurés. Reconfigurez le nom de domaine en prenant garde de bien l'associer avec le dossier qui contient les fichiers du site internet.

Il faut encore patienter le temps que les caches DNS expirent. Pendant quelque temps, vous risquez d'avoir une page d'erreur qui provient de l'ancien hébergement source (il ne reconnait plus le domaine). C'est temporaire.
Plus tard, il faudra également régénérer un certificat SSL avec l'outil Let's Encrypt de votre hébergement web.
Le transfert est terminé ! Vous pouvez supprimer les fichiers du site et la base de données sur l'hébergement source.
Déplacer un site WordPress avec Duplicator
Pour déplacer un site WordPress avec l'extension Duplicator il faut :
- installer Duplicator sur le site source et générer une archive
- reconfigurer le domaine sur l'hébergment de destination
- recréer une base de données ainsi qu'un utilisateur MySQL vierge
- déposer l'archive Duplicator ainsi que le fichier de réinstallation à la racine du domaine reconfiguré et lancer la réinstallation
Créer l'archive du site avec Duplicator
Connectez-vous à l'administration de votre site WordPress, puis naviguez dans Extensions
puis Ajouter une extension
.
Ensuite recherchez l'extension Duplicator
, installez-là et activez-là.

Ensuite naviguez dans le menu Duplicator
dans le menu à gauche puis Sauvegardes
. Cliquez sur Créer un paquet
en
haut à droite.

Un formulaire de création de sauvegarde (appelé paquet) s'affiche. Vous pouvez laisser toutes les options par défaut,
puis cliquer sur Suivant
.

Duplicator va lancer une série de test, appelé un scan, pour vérifier que l'environnement d'exécution est correcte.
Tous les points devraient être au vert, vous pouvez cliquer sur Créer
.

Duplicator va générer l'archive. Cela peut prendre du temps, le délai de création de l'archive va dépendre de la taille de votre site internet et du nombre de fichiers contenus sur votre site.
A la fin de ce processus de création d'archive, Duplicator vous proposera deux fichiers à télécharger :
- l'archive qui contient les données de votre site. Il s'agit d'une archive ZIP.
- un fichier qui permet de réinstaller l'archive. Il s'agit d'un fichier
installer.php
.

Reconfigurer le nom de domaine
A présent, il faut ajuster le pointage du nom de domaine. Pour cela, il faut :
- déconfigurer le domaine de l'hébergement source, en l'enlevant de l'outil Domaines Configurés.
- attendre 10-15 minutes, le temps que la suppression soit bien effective (la suppression des zones DNS peut prendre quelques minutes)
- reconfigurer le domaine sur l'hébergement de destination, en faisant attention à bien faire pointer le domaine dans le dossier dans lequel se trouve les fichiers du site
Pour supprimer le domaine de l'hébergement source, connectez-vous sur le cPanel de l'hébergement source, puis naviguez dans l'outil Domaines Configurés.
Dans la tableau récapitulatif des domaines configurés, cliquez sur Supprimer
.

Patientez 10-15 minutes. La suppression de la zone DNS peut prendre quelques instants. Si vous ne patientez pas, vous risquez d'avoir une erreur lors de la reconfiguration du domaine sur l'hébergement de destination.
Connectez-vous sur l'hébergement de destination, puis naviguez dans l'outil Domaines Configurés. Reconfigurez le nom de domaine en prenant garde de bien l'associer avec le dossier qui contient les fichiers du site internet.

Il faut encore patienter le temps que les caches DNS expirent. Pendant quelque temps, vous risquez d'avoir une page d'erreur qui provient de l'ancien hébergement source (il ne reconnait plus le domaine). C'est temporaire.
Plus tard, il faudra également régénérer un certificat SSL avec l'outil Let's Encrypt de votre hébergement web.
Recréer une base de données sur la destination
Sur l'hébergement de destination, connectez-vous sur cPanel puis naviguez dans l'outil Bases de données MySQL.
Dans cet outil, il faut faire trois choses :
- Créer une nouvelle base de données - avec le premier formulaire
- Créer un utilisateur MySQL et lui attribuer un mot de passe - deuixème formulaire
- Attribuer tous les droits à l'utilisateur sur la base de données - avec les deux dernières listes déroulantes de l'outil

Importer l'archive du site avec Duplicator
Connectez-vous sur le cPanel de l'hébergement de destination.
Avec l'aide de l'outil Gestionnaire de Fichier, déposez les deux fichiers
fournis par Duplicator (le fichier installer.php
et l'archive .zip
) dans le dossier qui est lié au nom de domaine
sur l'hébergement.

Ensuite, depuis votre navigateur web, ouvrez le fichier installer.php
de Duplicator pour le lancer. Vous pouvez
faire cela en ouvrant une page qui doit ressembler à cela :https://votre-nom-de-domaine.fr/installer.php
Si vous avez une erreur de sécurité ou de certificat SSL, vous pouvez corriger cela en générant un certificat SSL gratuitement avec l'outil Let's Encrypt de votre hébergement.
Vous allez être redirigé vers une autre page /dup-installer/main.installer.php
. Une page avec un assistant
d'installation s'affichera.
Sur cette page, remplissez la partie Setup
en notant :
- le nom de la base de données
- le nom de l'utilisateur
- son mot de passe
Cela correspond à ce que vous avez effectué à l'étape précédente, lors de la création d'une base de données vierge.
Cliquez sur Validate
. La page devrait se réfraichir et indiquer que tout est correct.

Cochez la case I have read and accept all terms & notices*
puis cliquez sur Next
. Une autre fenêtre demandera de
confimer l'opération, cliquez sur OK
.

A l'étape suivante, l'extraction des données commence. Duplicator réinstalle le site internet et réimporte la base de données.
Lorsque le site est réinstallé, il faut cliquer sur Admin Login
pour finaliser l'installation. Les fichiers de
Duplicator seront supprimés lors de la première connexion à l'administration.

Gestion des comptes emails
Si des comptes emails étaient attachés au nom de domaine à transférer, alors il est également possible de les transférer et de conserver l'historique des emails.
Cette opération de transfert doit être réalisée avant l'étape de pointage du nom de domaine / reconfiguration du nom de domaine sur l'hébergement de destination.
Pour conserver l'historique des emails, il faut transférer de l'hébergement source vers la destination le contenu
des dossiers mail/nom-du-domaine.fr
qui se trouve à la racine de l'hébergement.
Le transfert peut s'effectuer en FTP, en suivant la même méthode que le transfert des données du site.
Ou de serveur à serveur en SSH. La méthode de transfert de serveur à serveur est recommandée pour les emails car le transfert des fichiers pour les emails est particulièrement long. Il s'agit en effet du pire cas à transférer : un grand nombre de petits fichiers.
Pour transférer le contenu des emails en SSH, vous pouvez utiliser une commande comme celle-ci :
# En étant connecté en SSH ou avec l'outil Terminal sur l'hébergement "source"
# Replacez-vous à la racine de votre hébergement avec la commande "cd" sans argument
cd
# Vérifiez que le dossier existe , remplacez nom-domaine.fr par votre nom de domaine
ls mail/nom-domaine.fr
# Transfert des données avec Rsync de la source vers la destination
rsync -av mail/nom-domaine.fr/ compte2@destination.o2switch.net:/home/compte2/mail/nom-domaine.fr
Cela va transférer l'historique des emails, de serveur à serveur.
Après avoir transférer l'historique des emails et après avoir reconfiguré le nom de domaine sur l'hébergement, vous pouvez recréer les comptes emails avec l'outil Compte de messagerie.
L'historique des emails devraient réapparaitre automatiquement dans sur les adresses emails.