Migrer un site WordPress via SSH
Prérequis
Avant de commencer, assurez-vous d'avoir :
Un accès SSH aux deux serveurs (source et destination)
Les identifiants de base de données des deux environnements
Des droits suffisants pour exécuter les commandes nécessaires
Un client SSH installé sur votre machine locale
Vue d'ensemble du processus
La migration d'un site WordPress via SSH se déroule en plusieurs étapes :
Sauvegarde de la base de données
Compression des fichiers du site
Transfert des données vers le nouveau serveur
Importation de la base de données
Extraction et positionnement des fichiers
Étape 1 : Sauvegarde de la base de données
La première étape consiste à créer une sauvegarde complète de votre base de données WordPress. Connectez-vous en SSH à votre serveur source et exécutez :
mysqldump -u nom_utilisateur_db -p nom_base_donnees > sauvegarde_bdd.sqlDécomposition de la commande :
mysqldump: utilitaire permettant d'exporter une base de données MySQL-u nom_utilisateur_db: spécifie l'utilisateur de la base de données-p: demande le mot de passe de manière interactive (plus sécurisé)nom_base_donnees: le nom de votre base de données WordPress> sauvegarde_bdd.sql: redirige la sortie vers un fichier SQL
Lorsque vous exécutez cette commande, le système vous demandera le mot de passe de la base de données. Saisissez-le et appuyez sur Entrée.
Étape 2 : Compression des fichiers
Une fois la base de données sauvegardée, il faut archiver tous les fichiers de votre site WordPress :
tar -czf wordpress_files.tar.gz ~/chemin/vers/site
Explication des options :
tar: outil d'archivage-c: crée une nouvelle archive-z: compresse l'archive avec gzip-f wordpress_files.tar.gz: nom du fichier archive à créer~/chemin/vers/site: répertoire contenant votre site WordPress
Cette commande crée une archive compressée contenant tous vos fichiers WordPress, ce qui facilite le transfert et réduit la bande passante utilisée.
Étape 3 : Transfert vers le nouveau serveur
Maintenant que vous avez vos deux fichiers (base de données et fichiers du site), transférez-les vers le serveur de destination avec SCP (Secure Copy Protocol) :
scp wordpress_files.tar.gz sauvegarde_bdd.sql utilisateur@serveur-destination.com:~/Détails de la commande :
scp: commande de copie sécurisée via SSHLes deux premiers arguments sont les fichiers à transférer
utilisateur@serveur-destination.com:~/: destination (utilisateur, serveur, et répertoire cible)
Cette opération peut prendre quelques minutes selon la taille de votre site et la vitesse de votre connexion.
Étape 4 : Importation de la base de données
Connectez-vous maintenant au serveur de destination via SSH et importez la base de données :
mysql --verbose -u utilisateur_db -p nom_base_donnees -h hote_mysql.com < sauvegarde_bdd.sqlAnalyse de la commande :
mysql: client en ligne de commande MySQL--verbose: affiche les requêtes pendant l'importation (utile pour suivre la progression)-u utilisateur_db: utilisateur de la base de données sur le nouveau serveur-p: demande le mot de passe de manière interactivenom_base_donnees: nom de la base de données de destination-h hote_mysql.com: adresse du serveur MySQL (nécessaire si MySQL n'est pas en local)< sauvegarde_bdd.sql: lit le fichier SQL et l'importe
Étape 5 : Extraction et positionnement des fichiers
L'étape finale consiste à extraire l'archive et à placer les fichiers au bon endroit :
tar -xzf wordpress_files.tar.gz -C ~/destinationOptions utilisées :
-x: extrait les fichiers-z: décompresse l'archive gzip-f wordpress_files.tar.gz: fichier à extraire-C ~/destination: répertoire de destination
Si votre archive contient une structure de répertoires imbriquée, vous devrez peut-être déplacer les fichiers :
mv ~/chemin/source/{*,.*} ~/sites/nouveau-site.com/ 2>/dev/nullCette commande déplace tous les fichiers (y compris les fichiers cachés commençant par .) vers le répertoire final. Le 2>/dev/null supprime les messages d'erreur pour les éléments spéciaux comme . et ...
Configuration post-migration
Une fois les fichiers et la base de données en place, n'oubliez pas de :
Mettre à jour wp-config.php avec les nouvelles informations de connexion à la base de données
Modifier les URLs dans la base de données si le nom de domaine a changé (utilisez Search-Replace-DB ou WP-CLI)
Vérifier les permissions des fichiers (généralement 644 pour les fichiers et 755 pour les dossiers)
Tester le site pour vous assurer que tout fonctionne correctement
Régénérer les permaliens via le tableau de bord WordPress
Bonnes pratiques de sécurité
Quelques recommandations importantes :
Supprimer les fichiers de sauvegarde une fois la migration terminée
Utiliser des connexions SSH sécurisées avec authentification par clé si possible
Vérifier les permissions après extraction pour éviter les problèmes de sécurité
Faire un backup du serveur de destination avant d'écraser des données existantes
Debug
Erreurs d'importation MySQL : Si vous rencontrez des erreurs lors de l'importation, vérifiez que la version de MySQL/MariaDB est compatible et que la taille maximale des paquets est suffisante.
Problèmes de permissions : Assurez-vous que l'utilisateur SSH a les droits nécessaires pour écrire dans les répertoires de destination.
Site inaccessible après migration : Vérifiez votre fichier wp-config.php et les URLs dans la table wp_options de votre base de données.