Comment migrer WordPress d'un hébergement partagé vers un serveur cloud sans temps d'arrêt
Statut : Obsolète
Cet article couvre une version d'Ubuntu qui n'est plus prise en charge. Si vous utilisez actuellement un serveur exécutant Ubuntu 12.04, nous vous recommandons fortement de mettre à niveau ou de migrer vers une version prise en charge d'Ubuntu :
- Mise à niveau vers Ubuntu 14.04.
- Mise à niveau d'Ubuntu 14.04 vers Ubuntu 16.04
- Migrer les données du serveur vers une version prise en charge
Raison: Ubuntu 12.04 a atteint sa fin de vie (EOL) le 28 avril 2017 and no longer receives security patches or updates. This guide is no longer maintained.
Voir plutôt :
Ce guide peut toujours être utile comme référence, mais peut ne pas fonctionner sur d'autres versions d'Ubuntu. S'il est disponible, nous vous recommandons fortement d'utiliser un guide écrit pour la version d'Ubuntu que vous utilisez. Vous pouvez utiliser la fonctionnalité de recherche en haut de la page pour trouver une version plus récente.
Passer à un serveur cloud
De nombreux blogueurs commencent par un hébergement mutualisé. Cela peut être bon pour commencer, mais lorsque le trafic augmente (par exemple au-delà de quelques centaines de visiteurs par jour), vous devriez envisager de déplacer le blog vers un serveur cloud personnel. Passer à l'un n'est pas très compliqué, il suffit de suivre les étapes correctement et vous pouvez migrer un blog/site WordPress en quelques heures, sans aucun temps d'arrêt.
Étape 1. Créer une sauvegarde
Vous devez sauvegarder tous vos fichiers, ainsi que la base de données MySQL (à partir de votre serveur d'hébergement mutualisé actuel). La plupart des fournisseurs d'hébergement partagé ont une interface graphique simple pour gérer les serveurs, comme cPanel.
Fichiers de sauvegarde (images, thèmes, plugins)
Vous n'avez pas besoin de sauvegarder les fichiers principaux de WordPress, mais vous devez sauvegarder les images (que vous avez peut-être déjà téléchargées pour un article), les thèmes et les plugins. Pour ce faire, créez d'abord une archive du répertoire wp-contents
(clic droit => compresser en zip), puis téléchargez-la.
Sauvegarder la base de données
Dans cPanel, allez dans "Assistant de sauvegarde => Bases de données MySQL".
Vous' pourrez télécharger la base de données MySQL au format *.sql.gz. Enregistrez-le sous backup_db.sql.gz
sur votre bureau.
Étape 2. Configurer le serveur cloud avec LAMP Stack
Lancez un droplet (serveur cloud) avec Ubuntu 12.04 et suivez ce guide pour le processus de configuration de base : Configuration du serveur Ubuntu. Maintenant que le serveur cloud est configuré, vous devez installer les dépendances WordPress telles que MySQL, PHP et un serveur Web comme Apache. Suivez ce guide pour configurer une pile LAMP.
Étape 3. Installer WordPress
Une fois la pile LAMP configurée, installez la dernière version de WordPress. Pour cela, suivez simplement ce guide : Installation de Wordpress sur Ubuntu.
Étape 4. Créer un hôte virtuel
Créez un hôte virtuel Apache pour gérer votre blog Wordpress. Créez un nouveau fichier dans le répertoire site-available :
sudo nano /etc/apache2/sites-available/yourdomain.com
Ajoutez un hôte virtuel (remplacez votredomaine.com et nom d'utilisateur en conséquence) pour le blog. Chaque bloc VirtualHost
définit un serveur cloud séparé et le nombre 80 indique le port sur lequel Apache écoutera. ServerName
représente votre nom de domaine et DocumentRoot
doit pointer vers la racine du répertoire WordPress.
<VirtualHost *:80> ServerName yourdomain.com DocumentRoot /var/www/ </VirtualHost> <VirtualHost *:80> ServerName www.yourdomain.com Redirect permanent / http://yourdomain.com/ </VirtualHost>
Activez ensuite cet hôte virtuel à l'aide de l'utilitaire Apache a2ensite
. Il prend la configuration ci-dessus et indique à Apache d'écouter yourdomain.com
.
sudo a2ensite yourdomain.com
Rechargez maintenant le serveur Apache. Chaque fois que vous apportez des modifications à la configuration du serveur, vous devez recharger le serveur pour appliquer ces modifications.
sudo service apache2 reload
Étape 5. Restaurer la base de données et les fichiers
L'installation de WordPress est maintenant configurée mais vous n'avez pas importé vos anciens articles, images, thèmes, etc. Commençons par télécharger les fichiers.
Télécharger les fichiers de sauvegarde - base de données MySQL et contenu des fichiers sur VPS
scp
est très pratique pour télécharger des fichiers. Comme FTP, vous pouvez transférer des fichiers, mais SCP le fait en toute sécurité via SSH. Pour télécharger des fichiers, vous devez transmettre deux arguments à la commande. Le premier est l'emplacement du fichier que vous souhaitez télécharger et le second est le serveur cible (sous la forme de [email protected]_ip_address). Pour télécharger les fichiers de sauvegarde, exécutez simplement ces commandes localement (sur votre ordinateur) et il téléchargera les fichiers dans le répertoire personnel du serveur.
scp ~/Downloads/backup_db.sql.gz [email protected]_ip_address: scp ~/Downloads/wp-content.zip [email protected]_ip_address:
Restaurer la base de données
Pour restaurer la base de données, connectez-vous au serveur et tapez (remplacez database_name
, database_user
en conséquence) la commande ci-dessous :
mysql -h localhost -u database_user -p database_name < backup_db.sql.gz
La commande nécessite quelques arguments : l'option -h pour spécifier l'adresse de l'hôte (dans ce cas, il s'agit de localhost, car la base de données s'exécute sur le même serveur), le deuxième argument, -u, fournit le nom d'utilisateur de la base de données, la troisième option, -p signifie que le mot de passe sera fourni à l'invite, la quatrième option spécifie le nom de la base de données WordPress et le dernier argument est l'entrée - la base de données de sauvegarde.
Il vous sera demandé d'entrer le mot de passe de l'utilisateur de la base de données. En quelques secondes, le contenu de la base de données sera importé dans la base de données spécifiée.
Restaurer les fichiers wp-content
Pour restaurer des thèmes, des médias téléchargés (images, vidéos, etc.) et des plug-ins, il vous suffit d'extraire (à l'aide de la commande unzip
) l'archive zip. Il extraira et fusionnera le contenu dans le répertoire wp-contents existant.
sudo unzip wp-content.zip -d /var/www/
Étape 6. Testez votre blog
Pour atteindre zéro temps d'arrêt, cette étape est importante. Vous devez vous assurer que le blog est correctement configuré sur le nouvel emplacement. Pour ce faire, commencez par mettre à jour votre fichier hosts.
sudo nano /etc/hosts
Ajoutez cette ligne au fichier hosts (maintenant, lorsque vous visiterez votredomaine.com, il pointera vers votre nouveau serveur, mais uniquement sur votre ordinateur - cela facilite les tests).
server_ip_address yourdomain.com
Ensuite, videz votre cache DNS (puisque vous avez mis à jour le fichier hosts, vous devez vider le cache DNS pour appliquer les modifications. nscd est un joli petit outil pour vider les résultats du cache DNS)
sudo service nscd restart
Maintenant, si vous visitez yourdomain.com
, il chargera les pages de votre nouveau serveur. Si cela ressemble à ce que vous attendiez (tous vos articles, images, pages, plugins, conceptions personnalisées, etc.), cela signifie que vous êtes prêt et que vous devez passer à l'étape suivante. Sinon, essayez de comprendre ce qui ne va pas. (Après avoir testé avec succès, supprimez la ligne ci-dessus du fichier hosts).
Étape 7. Mettez à jour vos paramètres DNS
Vous devez maintenant mettre à jour les paramètres DNS avec votre registraire de domaine. Pour l'enregistrement A, mettez à jour l'adresse IP avec la nouvelle valeur (adresse IP de votre VPS) ou vous pouvez également déplacer votre DNS vers votre fournisseur VPS (et y ajouter des enregistrements A). Pour DigitalOcean, vous devez mettre ces serveurs de noms :
ns1.digitalocean.com ns2.digitalocean.com ns3.digitalocean.com
Remarque : Votre serveur DNS commencera à propager les nouvelles valeurs, mais cela prendra un certain temps. Ne résiliez donc pas votre ancien hébergement mutualisé immédiatement après la transition (de préférence après une journée).