Migrer manuellement des sites Web vers un nouveau serveur (Linux)
Veuillez utiliser la fonction « Imprimer » au bas de la page pour créer un PDF.
Dans cet article, nous vous montrons comment :
- Déterminer les données nécessaires du site Web et les fichiers de configuration dans Apache et Nginx ;
- Sauvegarder la base de données MySQL utilisée ;
- Sauvegarder localement sur votre ordinateur les fichiers du site Web et la base de données MySQL exportée ;
- Installer des applications telles qu'Apache, Nginx, MySQL/MariaDB, PHP, Plesk et WordPress ;
- Importer les fichiers du site Web ;
- Transférer un blog WordPress.
Attention
Si vous migrez manuellement les données de votre serveur vers un nouveau serveur, vous devez migrer vos domaines et vos boîtes e-mail avant la migration. De plus, vous devez adapter les paramètres DNS après le transfert de vos domaines. Dans le cas contraire, vous risquez de perdre des données.
Vous trouverez des instructions détaillées sur la manière de migrer manuellement les données de votre serveur vers un VPS actuel dans l'article suivant :
Migrer manuellement les données du serveur vers un VPS actuel
Remarques
- La réussite de la migration d'un site Web nécessite une planification et une exécution minutieuses.
- Avant la migration, vérifiez quels paramètres et configurations de sécurité doivent être effectués sur le nouveau serveur. Effectuez ces réglages dans le cadre de la migration. Cela vaut aussi bien pour le système d'exploitation installé que pour les applications installées.
- Après la migration, assurez-vous que la fonctionnalité de vos sites Web, applications et scripts est soigneusement testée. Prévoyez donc suffisamment de temps pour les tests et pour la correction des erreurs.
- Le cas échéant, informez vos utilisateurs des temps d'arrêt prévus.
- Veuillez noter que la migration de sites Web n'est pas comprise dans notre assistance. Si nécessaire, prenez contact avec un développeur Web pour connaître la meilleure façon de migrer votre site Web. Si vous souhaitez faire appel aux services d'un développeur de site Web, veuillez consulter notre réseau de partenaires pour trouver un professionnel approprié.
Identifier les fichiers du site Web
Pour déterminer les fichiers de site Web nécessaires, procédez comme suit :
Apache
Établissez une connexion SSH avec le serveur que vous utilisiez jusqu'à présent et connectez-vous en tant qu'administrateur.
Pour rechercher du texte contenant le nom de votre domaine dans tous les fichiers du répertoire /etc/apache2/sites-enabled et de ses sous-répertoires, remplacez le caractère générique dans la commande ci-dessous. Saisissez ensuite la commande.
[root@localhost ~]# grep -Ril "NOM_DE_DOMAINE" /etc/apache2/sites-enabled
Exemple :[root@localhost ~]# grep -Ril "exemple.com" /etc/apache2/sites-enabled
Ensuite, le chemin d'accès au fichier de configuration de votre site est affiché. Exemple :
/etc/apache2/sites-enabled/exemple.com.conf
Ouvrez le fichier avec l'éditeur vi. Pour ce faire, adaptez la commande ci-dessous et saisissez-la ensuite :
[root@localhost ~]# vi /etc/CHEMIN_DACCES/CHEMIN_DACCES/NOM_DU_FICHIER.conf
Exemple :[root@localhost ~]# vi /etc/apache2/sites-enabled/example.com.conf
Notez le chemin d'accès aux fichiers du site Web, qui est indiqué à la ligne DocumentRoot. Dans l'exemple ci-dessous, il s'agit du répertoire /var/www/html.
[root@localhost ~]# vi /etc/apache2/sites-enabled/example.com.conf
VirtualHost *:80>
...
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
...
ErrorLog ${APACHE LOG DIR}/error.log
CustomLog ${APACHE LOG DIR}/access.log combined- Appuyez sur la touche [ESC].
- Pour quitter vi et enregistrer le fichier, saisissez la commande :wq puis appuyez sur Entrée.
Nginx
- Établissez une connexion SSH avec le serveur que vous utilisiez jusqu'à présent et connectez-vous en tant qu'administrateur.
Ouvrez le répertoire de configuration de Nginx.
[root@localhost ~]# cd /etc/nginx
Ouvrez le fichier de configuration principal de Nginx avec l'éditeur vi. En général, il s'agit du fichier nginx.conf. Pour ce faire, adaptez la commande ci-dessous et saisissez-la ensuite :
[root@localhost ~]# vi /etc/nginx/nginx.conf
- Recherchez dans le fichier de configuration principal les lignes qui contiennent include. Ensuite, vérifiez quels autres fichiers ou répertoires de configuration sont chargés (par exemple, sites-enabled/*).
- Notez les fichiers ou répertoires de configuration nécessaires et leurs chemins d'accès.
Pour trouver la directive root qui indique le chemin d'accès aux fichiers du site, saisissez la commande suivante :
[root@localhost ~]# grep -R 'root' /etc/nginx/
Cette commande recherche la chaîne de caractères root dans tous les fichiers situés sous /etc/nginx. La sortie affiche les fichiers et les lignes correspondantes dans lesquels la directive root est définie.
La sortie de grep peut contenir plusieurs lignes, par exemple si Nginx héberge plusieurs sites Web (server blocks). Chaque ligne indique le chemin du fichier de configuration et la ligne dans laquelle la directive root est définie. Exemple :/etc/nginx/sites-available/exemple.com : root /var/www/exemple.com/html ;
Dans cet exemple, le chemin /var/www/exemple.com/html est utilisé comme répertoire racine pour le site exemple.com.
- Notez le chemin du répertoire racine.
Vérifiez le contenu du répertoire racine. Pour afficher le contenu, saisissez la commande suivante :
[root@localhost ~]# ls -l /PFAD
Par exemple :
[root@localhost ~]# ls -l /var/www/exemple.com/html
Sauvegarder la base de données MySQL
Pour migrer la base de données MySQL de votre site web, vous devez connaître les données d'accès de la base de données MySQL. De plus, vous avez également besoin des informations suivantes :
- Port
- Hôte
- Nom de la base de données
Si vous connaissez les données d'accès de la base de données MySQL, vous pouvez ignorer cette section.
Trouver les données d'accès
Nous expliquons ci-dessous où trouver les données d'accès MySQL :
WordPress
Dans WordPress, vous trouverez les données d'accès MySQL dans le fichier wp-config.php. Celui-ci se trouve dans le répertoire racine de votre installation WordPress.
Les chemins typiques sont par exemple les suivants :
/var/www/html/wp-config.php
ou
/var/www/example.com/wp-config.php
/** Le nom de la base de données pour WordPress */
define('DB_NAME', 'db123456789') ;
/** Nom d'utilisateur de la base de données MySQL */
define('DB_USER', 'dbo123456789') ;
/** Mot de passe base de données MySQL */
define('DB_PASSWORD', 'Mot_de_passe_secret') ;
/** Nom d'hôte MySQL */
define('DB_HOST', 'db123456789.hosting-data.io') ;
/** WordPress Database Table prefix.
$table_prefix = 'abcd' ;
Sites Web sans CMS
Pour les sites Web qui accèdent directement à une base de données et qui n'utilisent pas de CMS, l'enregistrement des données d'accès dépend de la configuration individuelle. Souvent, les données d'accès sont stockées dans des fichiers de configuration utilisés par les scripts correspondants. Pour trouver les données d'accès dans ce cas, vous devez rechercher les paramètres de connexion à la base de données dans les fichiers PHP, Python, Java ou autres fichiers backend.
Exporter la base de données MySQL
Pour sauvegarder une base de données MySQL, utilisez l'outil mysqldump qui est fourni avec la plupart des installations MySQL. Remplacez les caractères génériques dans la commande ci-dessous et saisissez ensuite la commande.
mysqldump --no-tablespaces --port NUMERO_DE_PORT --host=NOM_DHOTE --user=NOM_DUTILISATEUR --password=MOT_DE_PASSE NOM_DE_BASE_DE_DONNEES | gzip > /root/dbdump.sql.gz
Après la saisie de la commande, la base de données est exportée dans le répertoire racine. Le nom du fichier est alors dbdump.sql.gz.
Remarque
Si vos noms de fichiers, mots de passe ou noms d'utilisateur contiennent des caractères spéciaux, vous devez les placer entre guillemets simples (') dans la commande mysqldump ou mysql.
Exemple : mysqldump [...] --password='%gCjmnrmLk!xnSefw'
Enregistrer localement les fichiers du site Web et la base de données MySQL exportée
Enregistrez la copie des fichiers du site Web et la base de données MySQL exportée sur un ordinateur local. Pour ce faire, vous pouvez utiliser le programme FileZilla. FileZilla est proposé pour les ordinateurs équipés de systèmes d'exploitation Windows, MacOS et Linux.
Vous pouvez télécharger le fichier d'installation actuel pour votre système d'exploitation sur la page suivante :
https://filezilla-project.org/download.php?type=client
Pour vous connecter à votre serveur avec FileZilla et télécharger la copie des fichiers du site Web ainsi que la base de données MySQL exportée sur un ordinateur local, procédez comme suit :
- Démarrez FileZilla.
- Dans le champ Serveur, saisissez l'adresse IP du serveur.
- Dans le champ Utilisateur, saisissez le nom d'utilisateur root.
- Dans le champ Mot de passe, saisissez le mot de passe que vous avez défini.
- Dans le champ Port, saisissez le port 22.
- Cliquez sur Connecter.
La connexion au serveur est établie. La zone de gauche affiche les répertoires qui se trouvent sur votre client. La zone de droite affiche les répertoires qui se trouvent sur votre serveur. - Créez un répertoire sur votre ordinateur local.
- Ouvrez le répertoire racine de votre serveur Web.
- Sélectionnez le répertoire racine sur votre serveur et copiez-le ensuite par glisser-déposer dans le répertoire souhaité qui se trouve sur votre ordinateur local.
- Copiez également les fichiers ou répertoires de configuration nécessaires par glisser-déposer dans le répertoire souhaité qui se trouve sur votre ordinateur local.
- Ouvrez le répertoire racine.
- Sélectionnez la base de données exportée. Le nom du fichier est dbdump.sql.gz. Copiez ensuite le fichier par glisser-déposer dans le répertoire souhaité qui se trouve sur votre ordinateur local.
Installer des applications sur le nouveau serveur
Avant d'importer les fichiers du site Web et la base de données exportée, vous devez installer sur votre nouveau serveur les applications que vous utilisez sur votre serveur actuel.
Attention
Vérifiez la configuration requise avant l'installation. Informez-vous en outre sur les sites des fabricants de logiciels sur les éventuels problèmes de compatibilité.
Installer Apache, MySQL/MariaDB et PHP
Vous trouverez des instructions sur la manière d'installer Apache, MySQL/MariaDB et PHP dans les articles suivants :
Installer Nginx
Des instructions sur la manière d'installer Nginx sont présentées dans l'article suivant :
Installer Plesk
Vous trouverez des instructions sur la manière d'installer Plesk dans les articles suivants :
Installer WordPress
Vous trouverez des instructions sur la manière d'installer WordPress sur un serveur dans la documentation WordPress. Vous la trouverez sur la page suivante :
Sécuriser le système d'exploitation et l'application
Adaptez tous les paramètres et configurations de sécurité nécessaires du nouveau serveur. Cela vaut aussi bien pour le système d'exploitation installé que pour les applications installées.
Vous trouverez des informations sur certaines mesures de sécurité fondamentalement importantes dans l'article suivant :
Informations de sécurité importantes pour votre serveur Linux (partie 2 de 2)
Importer les fichiers du site Web
Apache
- Etablissez une connexion SSH avec votre nouveau serveur et connectez-vous en tant qu'administrateur.
- Ouvrez également Filezilla.
- Copiez les données sauvegardées et les fichiers de configuration avec FileZilla par glisser-déposer dans les répertoires correspondants sur votre nouveau serveur.
- Vérifiez les fichiers de configuration ainsi que les chemins et les paramètres qui étaient spécifiques à l'ancien environnement de serveur et adaptez-les le cas échéant.
Pour redémarrer Apache, allez dans le programme avec lequel vous avez établi la connexion SSH et saisissez la commande suivante :
[root@localhost ~]# sudo /etc/init.d/apache2 restart
- Vérifiez les scripts que vous utilisez et adaptez-les si nécessaire.
- Testez le site Web et la configuration.
Nginx
- Etablissez une connexion SSH avec votre nouveau serveur et connectez-vous en tant qu'administrateur.
- Ouvrez également Filezilla.
- Copiez les données sauvegardées et les fichiers de configuration avec FileZilla par glisser-déposer dans les répertoires correspondants sur votre nouveau serveur.
- Vérifiez les fichiers de configuration ainsi que les chemins et les paramètres qui étaient orientés vers l'ancien environnement de serveur et adaptez-les le cas échéant.
Pour redémarrer Nginx, accédez au programme avec lequel vous avez établi la connexion SSH et saisissez la commande suivante :
[root@localhost ~]# sudo systemctl restart nginx
- Vérifiez les scripts que vous utilisez et adaptez-les si nécessaire.
- Testez le site Web et la configuration.
Importer la base de données MySQL
- Ouvrez FileZilla.
- Copiez la base de données exportée par glisser-déposer dans le répertoire correspondant sur votre nouveau serveur.
- Passez au programme avec lequel vous avez établi la connexion SSH.
- Ouvrez le répertoire dans lequel se trouve la base de données exportée.
Pour restaurer vos données, exécutez la commande mysql selon le schéma ci-dessous. Remplacez les caractères génériques en majuscules par les données d'accès de la base de données dans laquelle vous souhaitez restaurer les données.
gunzip -c DATEINAME | mysql --user=NOM_DUTILISATEUR --password=MOT_DE_PASSE BASE_DE_DONNEES
- Vérifiez les paramètres de sécurité de votre base de données MySQL.
Transférer un blog WordPress
Vous trouverez des instructions sur la manière de transférer votre blog WordPress sur la page suivante :
Contenu
- Identifier les fichiers du site Web
- Sauvegarder la base de données MySQL
- Exporter la base de données MySQL
- Enregistrer localement les fichiers du site Web et la base de données MySQL exportée
- Installer des applications sur le nouveau serveur
- Sécuriser le système d'exploitation et l'application
- Importer les fichiers du site Web
- Transférer un blog WordPress
- Haut de page