Cloner un site WordPress
Si vous devez cloner un site WordPress, prod -> local, l’idée est d’avoir un environement le plus proche possible de l’environement de prod. Il va donc falloir récupérer :
- les fichiers du site
- la base de données
- les éventuels fichiers de configuration
Les pré-requis
Section titled “Les pré-requis”- Installer DDEV : https://ddev.com/get-started/ (suivre les instructions)
- Avoir les accès ssh et phpmyadmin du site à cloner.
- Avoir la version de PHP et MySQL de la prod.
DDEV vous permet de simuler un serveur local, vous donne accès à des commandes utiles que vous verrez par la suite et permet un set-up rapide des projets.
Les étapes
Section titled “Les étapes”1. Créer le projet DDEV
Section titled “1. Créer le projet DDEV”ddev config --project-type=wordpressddev startddev wp core download2. Récupérer la base de données prod
Section titled “2. Récupérer la base de données prod”Accéder à phpmyadmin ou autre et faites un export de la DB.
3. Importer la base dans DDEV
Section titled “3. Importer la base dans DDEV”ddev import-db --file=prod.sql4. Télécharger le dossier wp-content
Section titled “4. Télécharger le dossier wp-content”Pour les petits sites, il est possible de récupérer l’intégralité du dossier wp-content via FileZilla. Pour les sites volumineux, il est recommandé de ne pas télécharger le dossier uploads afin de gagner du temps, de l’espace disque et d’accélérer les clones locaux.
sftp user@servercd www/wp-content
# Se placer dans le dossier wp-content locallcd wp-content
# Télécharger l'intégralité du dossier wp-content (pour les petits sites)get -r wp-content# Télécharger uniquement les fichiers nécessaires :get -r pluginsget -r themesget -r mu-plugins5. Mettre à jour les urls
Section titled “5. Mettre à jour les urls”Une fois la DB importée, il faut effectuer un search-replace (DBSR) pour mettre à jour les liens.
ddev wp search-replace "https://monsite.fr" "https://monsitelocal.ddev.site" --all-tables
# Puis flush des permaliensddev wp rewrite flushLes commandes utiles
Section titled “Les commandes utiles”# Démarrer un projet DDEVddev launch
# Restart un projet DDEVddev restart
# Afficher les infos du projet (urls, status des services, version de PHP ...)ddev describe
# Active le débugger de performances (XHGui)ddev xhgui onddev restart
# Desactiver les debugddev config --web-environment-add=WP_DEBUG=falsePetit point d’attention avec DDEV
Section titled “Petit point d’attention avec DDEV”Si vous changer des configs directement au niveau du wp-config.php, elles seront écrasées lors du prochain ddev start.
La source de vérité est donc : .ddev/config.yaml. C’est ce fichier qui est lu par DDEV au démarrage.