Toute migration de site Web est considérée comme l'une des opérations les plus difficiles. Heureusement, WordPress fournit une pléthore de plugins de sauvegarde pour aider et automatiser l'ensemble du processus de sauvegarde et de migration. Cependant, WordPress est construit de telle manière que la migration manuelle de WordPress ne pourrait pas être plus simple.
Dans ce tutoriel, je vais vous montrer comment migrer un site WordPress manuellement vers un nouvel hôte ou serveur. Ceci est particulièrement utile si le site est hébergé sur un serveur avec des ressources insuffisantes pour activer le plugin de sauvegarde. Les plugins de sauvegarde nécessitent généralement une quantité minimale de ressources pour exécuter la sauvegarde et la migration du site vers un autre serveur. J'ai préparé une liste de plugins de sauvegarde pour WordPress. Donc, si votre serveur est sain et dispose de suffisamment de ressources, je vous recommande d'installer un plug-in de sauvegarde pour la migration WordPress.
Commençons le processus.
Prérequis –
Temps de lecture estimé :8 minutes
- Accès SSH aux deux serveurs
Sauvegarder WordPress
Chaque site WordPress est composé de trois composants principaux :les fichiers principaux de WordPress, les fichiers utilisateur (c'est-à-dire le wp-content
répertoire) et la base de données WordPress. À moins que la version de WordPress ne soit modifiée, les fichiers principaux ne changent pas. wp-content
et la base de données, d'autre part, changent quotidiennement, voire toutes les heures, en fonction du trafic du site Web. Si vous créez régulièrement du nouveau contenu, de nouvelles images, vidéos et textes sont téléchargés chaque jour, ce qui augmente le nombre de fichiers sur le serveur et la taille de la base de données.
La première étape consiste à compresser wp-content
afin de réduire sa taille et de la transférer rapidement vers le nouveau serveur. Deuxièmement, exportez la base de données WordPress, compressez-la avec les fichiers utilisateur et préparez-la pour la migration.
wp-contenu
wp-content
est un sous-répertoire du répertoire WordPress. Il stocke toutes les données que l'utilisateur a téléchargées, telles que les thèmes, les plugins, les pièces jointes, les photos, les vidéos, etc. À moins que l'administrateur du site ne configure le CMS pour le faire, la plupart des sites WordPress ne téléchargent pas le contenu utilisateur dans un autre répertoire. Si vous utilisez un thème fortement personnalisé, effectuez une sauvegarde des répertoires contenant des données pertinentes pour la structure de votre site Web personnalisé.
De nombreux plugins de sauvegarde enregistrent les fichiers de sauvegarde ailleurs que dans wp-content
. Ainsi, si vous souhaitez migrer les fichiers de sauvegarde stockés vers le nouveau serveur, incluez-les également dans l'archive; sinon, téléchargez-les et enregistrez-les dans un endroit sûr. L'ajout de fichiers de sauvegarde stockés peut augmenter considérablement la taille de la sauvegarde complète, veuillez donc les télécharger localement si possible.
.htaccess
Le .htaccess
Le fichier est un fichier de configuration qui permet aux utilisateurs de configurer des paramètres distincts pour chaque répertoire. WordPress héberge plusieurs .htaccess
fichiers dont le principal est situé à la racine de WordPress.
Sauvegardez le .htaccess
car il contient des paramètres de configuration utiles définis par les plugins installés tels que les plugins de pare-feu et de cache.
wp-config.php
wp-config.php
est un fichier de configuration WordPress qui contient les informations les plus critiques pour que WordPress fonctionne. Le wp-config.php
Le fichier fournit des informations de connexion à la base de données. Le wp-config.php
peut également écraser les limites PHP établies par le serveur, entre autres. Si vous migrez votre site vers un nouvel hébergeur, assurez-vous de copier wp-config.php
avec les autres fichiers sur le nouveau serveur.
Base de données WordPress
Lors de la création d'un nouveau site ou du transfert d'un ancien, assurez-vous que la base de données est correctement configurée avec le site. Comme indiqué précédemment, le wp-config.php
Le fichier contient des informations sur la base de données telles que le nom de la base de données, l'utilisateur de la base de données (avec un accès complet à la base de données) et le mot de passe de l'utilisateur.
Pour migrer efficacement WordPress, nous devons exporter l'intégralité de la base de données de l'ancien serveur et la préparer pour le transfert vers le nouvel hébergeur.
Migration manuelle de WordPress vers un nouvel hôte
Pour les besoins de cette démonstration, je suppose que notre ancienne IP de serveur hôte est 192.168.29.5
et notre nouvelle IP de serveur hôte est 192.168.57.8
.
Tout d'abord, connectons-nous en ssh à notre ancien serveur -
ssh [email protected]
Si le port ssh de votre serveur est autre que 22, utilisez -p
suivi du numéro de port.
ssh -p port_number [email protected]
Exporter la base de données
La première étape consiste à exporter la base de données. Si votre site Web reçoit un volume de trafic élevé, vous pouvez soit le mettre en maintenance, soit rediriger les visiteurs vers le serveur de sauvegarde. WordPress écrit constamment des données dans la base de données, et les sites Web plus importants peuvent subir des ralentissements pendant le processus d'exportation de la base de données.
Une fois prêt, utilisez la commande suivante pour vider toute la base de données localement –
mkdir $HOME/site-backup
cd $HOME/site-backup
mysqldump -u root -p wordpress_database > wp_database.sql
Modifier wordpress_database avec le nom de la base de données WordPress. Appuyez sur Entrée et entrez le mot de passe root MySQL. Maintenant, asseyez-vous et détendez-vous. Selon la taille de la base de données, ce processus peut prendre un certain temps. Ne pas appuyer sur + C pendant le processus.
Une fois le processus terminé, vous aurez wp_database.sql
fichier dans le répertoire de travail, c'est-à-dire site-backup.
Sauvegarder wp-content, wp-config.php et .htaccess
Il est maintenant temps de sauvegarder les fichiers utilisateur. Comme indiqué précédemment, je suppose que votre WordPress utilise des thèmes WordPress standard plutôt que des thèmes hautement personnalisés ou personnalisés. Si vous utilisez des thèmes personnalisés, veuillez inclure les répertoires pertinents dans la commande suivante.
Entrez dans le répertoire racine de WordPress et exécutez la commande suivante –
$ tar -czf website-content.tar.gz /path-to-wordpress/wp-content/ path-to-wordpress/wp-config.php path-to-wordpress/.htaccess
Maintenant, asseyez-vous et détendez-vous. Découvrez à quel point il est facile de migrer un site Web. Vous pouvez vous détendre deux fois !
Une fois les fichiers compressés, déplacez le fichier compressé dans le site-backup
mentionné ci-dessus répertoire.
mv website-content.tar.gz $HOME/site-backup/
Nous avons la base de données compressée du site, les données utilisateur WordPress et les personnalisations dans notre $HOME/site-backup/
annuaire. Compressez maintenant l'intégralité du répertoire de sauvegarde du site afin qu'il puisse être facilement transféré vers le nouveau serveur.
tar -zcvf site-backup.tar.gz $HOME/site-backup/
Vous avez maintenant une sauvegarde complète de votre site WordPress. Vous pouvez soit télécharger cette sauvegarde localement et la déplacer vers le nouveau serveur, soit utiliser rsync
pour le transférer directement sur le nouveau serveur.
Téléchargeons cette sauvegarde directement sur le nouveau serveur.
SSH dans le nouveau serveur –
ssh [email protected]192.168.57.8
Utilisez rsync pour télécharger le fichier de sauvegarde –
rsync [email protected]192.168.29.5:/home/site-backup.tar.gz .
Le point à la fin de la commande ci-dessus est le répertoire de destination, c'est-à-dire le répertoire de travail actuel.
Entrez le mot de passe root et attendez la fin du téléchargement.
Installer WordPress sur un nouvel hôte
Maintenant que nous avons nos données de sauvegarde sur le nouveau serveur, nous pouvons configurer un nouveau site WordPress et importer toutes nos données sur ce site.
Créer une base de données pour le nouveau site
Connectez-vous à la ligne de commande mysql et utilisez les commandes suivantes pour créer une nouvelle base de données, un nouvel utilisateur et accorder au nouvel utilisateur tous les privilèges sur la base de données WordPress.
sudo mysql
Créer une nouvelle base de données
create database wordpress;
Créer un nouvel utilisateur de base de données
create user 'username'@'localhost' identified by 'password';
Remplacez le nom d'utilisateur et le mot de passe par vos valeurs préférées. Accorder l'accès à la base de données à un nouvel utilisateur
grant all privileges on wordpress.* to 'username'@'localhost';
flush privileges;
Importer la base de données
Maintenant que notre base de données est créée, nous pouvons exporter la base de données téléchargée.
Décompressez ou décompressez le fichier de sauvegarde –
tar -xvf /home/site-backup.tar.gz
Il exportera deux autres fichiers, wp_database.sql
et website-content.tar.gz
.
Importez la base de données dans wordpress avec la commande suivante –
mysql -u root -p wordpress < /home/site-backup/wp_database.sql
Entrez le mot de passe root et détendez-vous. Encore une fois.
Installer WordPress
Je suppose que vous utilisez le serveur Web Apache. Ainsi, la racine Web par défaut pour le serveur Apache est /var/www/html
. cd dans le répertoire racine et supprimez index.html.
$ cd /var/www/html
$ rm index.html
Télécharger WordPress
wget -O /tmp/wordpress.tar.gz https://wordpress.org/latest.tar.gz
sudo tar -xvf /tmp/wordpress.tar.gz -C /tmp/
sudo mv /tmp/wordpress/* /var/www/html
Importer la sauvegarde WordPress vers un nouveau site
tar -xvf /home/site-backup/website-content.tar.gz
La commande ci-dessus décompressera le wp-content
du site , wp-config.php
, et .htaccess
. Nous pouvons utiliser rsync pour déplacer wp-content/
à la nouvelle installation de WordPress.
$ rsync -avu /home/site-backup/wp-content/ /var/www/html/wp-content/
$ cp /home/site-backup/wp-config.php /home/site-backup/.htaccess /var/www/html/
Modifier wp-config.php
Et l'une de nos dernières étapes consiste à connecter notre site à la base de données nouvellement créée. N'oubliez pas que nous avons déjà importé la base de données de notre site, elle est donc prête. Il n'est pas nécessaire d'exécuter l'installation de WordPress.
$ nano /var/www/html/wp-config.php
Remplacez maintenant l'ancien nom de la base de données, le nom d'utilisateur de la base de données et le mot de passe par la base de données du serveur actuel que nous avons créée ci-dessus, c'est-à-dire wordpress.
Corriger les autorisations de fichiers WordPress
N'oubliez jamais de définir les autorisations de fichiers correctes. Sans cela, WordPress peut ne pas fonctionner correctement et vous pouvez exposer vos données si des autorisations incorrectes sont définies.
$ chown -R www-data:www-data /var/www/html/
$ find /var/www/html/ -type d -exec chmod 755 {} \;
$ find /var/www/html/ -type f -exec chmod 650 {} \;
Modifier 'siteurl' et 'home' dans la base de données
Si vous déplacez votre site sans modifier le nom de domaine, vous pouvez ignorer cette étape. Si vous modifiez le nom de domaine, assurez-vous de mettre à jour la base de données avec le nouveau nom de domaine.
Nous devons mettre à jour les colonnes de la table wp_options. Si vous avez phpMyAdmin, alors vous pouvez ouvrir phpMyAdmin> wordpress> wp_options> siteurl .
Modifier la colonne "siteurl ‘ valeur à ‘https://www.newdomain.com’. Changez également la colonne "accueil ‘ valeur à ‘https://www.nouveaudomaine.com’.
Mettre à jour siteurl et maison en utilisant la ligne de commande mysql –
sudo mysql
use wordpress;
update wp_options set option_value='https://www.newdomain.com' where option_name='siteurl'
update wp_options set option_value='https://www.newdomain.com' where option_name='home'
Enfin, faites pointer votre nom de domaine vers le nouveau serveur. Si votre serveur Web est correctement configuré, vous devriez voir votre ancien site Web sur le nouvel hôte.
Derniers mots
La procédure manuelle semble être assez compliquée, mais croyez-moi quand je dis qu'une fois que vous vous y serez habitué, cela vous fera économiser de l'argent sur un plugin de sauvegarde premium. En suivant les étapes décrites ci-dessus, nous pouvons même créer un script et configurer une tâche cron pour sauvegarder automatiquement notre site Web. Tout cela sans l'utilisation d'un plugin.
Enfin, si vous rencontrez des difficultés ou des erreurs en suivant ce message, veuillez nous en informer dans la section des commentaires ci-dessous. Vous pouvez également rejoindre notre serveur Discord pour des réponses plus rapides.
Lecture recommandéeCorrection de l'erreur WordPress « Erreur lors de l'établissement de la connexion à la base de données »
Migration du blog WordPress vers un nouvel hébergement - Méthodes simples
Hébergement du site Web sur notre propre serveur
Correction de l'erreur WordPress Aucun fichier d'entrée spécifié
Plugins WordPress