Importer votre WordPress en local sur WampServer pour vos tests

Sous Windows, il existe différentes plateformes de développement web de type WAMP (Windows, Apache, MySQL, PHP) dont EasyPHP et WampServer. L’intérêt de ces plateformes est de travailler avec le même type d’infrastructure que celui que l’on va retrouver sur la majorité des serveurs web dans le monde, à savoir LAMP (Linux, Apache, MySQL, PHP) sous une distribution Debian par exemple. Personnellement, j’utilise WampServer que je trouve le plus simple et ergonomique, même s’il peut connaitre des petits dysfonctionnements à cause de certaines mises à jour Windows ou d’autres raisons que je vais vous présenter ci-dessous.

Installer et configurer WampServer

WampServer
Tout d’abord, rendez-vous sur wampserver.com pour télécharger la version de Wamp correspondant à votre OS (32 ou 64 bits). Lancez l’installation qui va vous créer un dossier www dans lequel vous retrouverez vos sites en local. Une fois WampServer lancé, il va falloir le configurer pour que WordPress puisse fonctionner correctement en local.

WampServer sur Windows
Il faut déjà activer la réécriture d’URL sur Apache, pour cela faites un clic gauche sur le logo WampServer dans la barre des tâches, puis allez dans Apache > Modules Apache descendez la liste et cliquez sur rewrite_module. Wamp Server va redémarrer tout seul et activer le module. Autre chose à configurer pour être tranquille en local, la taille des fichiers que vous pourrez uploader qui est à modifier dans le php.ini (accessible depuis un clic gauche sur le logo Wamp dans la barre des tâches, puis PHP > php.ini. Dans ce fichier qui va s’ouvrir avec votre bloc note, recherchez upload_max_filesize et passer sa valeur à 10 Mo par exemple :

; Maximum allowed size for uploaded files.
; http://php.net/upload-max-filesize
upload_max_filesize = 10M

Il arrive qu’il y ait des problèmes avec WampServer, généralement il peuvent se régler de la manière suivante :

Les services de Wamp ne se lance pas et l’icône reste rouge au lieu du vert.

Libérer le port 80 (Skype l’utilise par exemple et empêche donc Wamp de fonctionner correctement. Il suffit de fermer Skype le temps de lancer Wamp puis de relancer Skype).

L’exécution d’Aestan Tray Menu ne se fait pas et empêche Wamp de se lancer.

Mettre à jour Microsoft Visual C++ puis réinstaller WampServer.

L’icône de Wamp reste orange malgré les solutions citées ci-dessus.

Désactiver le serveur web de Windows (IIS), pour cela ouvrez l’invite de commandes de Windows en tant qu’administrateur, tapez « net stop WAS » et appuyer sur « Entrée », tapez Y ou O (selon la langue) pour confirmer votre choix et enfin redémarrez tous les services dans Wamp « Redémarrer les services ».

Sur la version 2.5 de WampServer vos projets peuvent rediriger en ligne, cela vient de l’absence de http://localhost/ dans l’URL de vos projets.

Dans C:/wamp/www/index.php passer la variable $suppress_localhost à false.

Rapatrier WordPress en local

Maintenant que notre plateforme de développement web est en place, nous allons rapatrier notre site pour pouvoir effectuer nos tests. Pour l’instant, faites un simple copier/coller de tous les fichiers de votre site en prod dans le dossier www de Wamp dans un dossier nomdusite.com. Faites également un export complet de votre base de données en production au format SQL.
Si vous vous rendez sur http://localhost/nomdusite.com à moment-là, vous aurez un beau message « Erreur lors de la connexion à la base de données ». Nous allons régler ça tout de suite.

Importer sa Base de données dans phpMyAdmin en local

Connexion à phpMyAdmin en root
Pour renseigner les bonnes informations permettant à votre site sous WordPress de tourner en local, rendez-vous dans phpMyAdmin à l’adresse http://localhost/phpmyadmin/. Connectez-vous en root et sans mot de passe (pas besoin, vous êtes en local) et créer une base de données en interclassement utf8_general_ci du même nom que celle en ligne. Puis, importer votre base de données en cliquant sur « importer » et en sélectionnant l’export de la bdd que nous avons fait auparavant depuis votre site en ligne.
Une fois importée, allez dans la table wp_options (si vous n’avez pas touché aux préfixes de vos tables) puis modifier les valeurs de siteurl (ligne 1) et de home (ligne 36) par http://localhost/nomdusite.com

Modifier le fichier wp-config.php

Ensuite, il faut encore modifier le wp-config.php situé à la racine du site pour renseigner les identifiants de connexion à la base de données dans WordPress :
// ** Réglages MySQL - Votre hébergeur doit vous fournir ces informations. ** //
/** Nom de la base de données de WordPress. */
define('DB_NAME', 'nom-de-la-bdd');
define('DB_USER', 'root');
define('DB_PASSWORD', '');

Modifier le .htaccess de WordPress en local

Enfin, il faut modifier le fichier .htaccess situé à la racine du site pour que l’URL rewriting fonctionne en local :
# BEGIN WordPress

RewriteEngine On
RewriteBase /localhost/nomdusite.com/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /nomdusite.com/index.php [L]

# END WordPress

Tout est désormais en place pour vos tests, il ne vous reste plus qu’à travailler avant de remettre en ligne vos fichiers modifiés !

Benjamin Yeurc'h

Consultant Web et SEO à Rennes, je partage ma veille sur les réseaux sociaux dont Twitter, Facebook, Linkedin et Viadeo.

12 commentaires

  1. Merci Benjamin pour ce tutoriel très très utile ! J’aurais deux petites remarques…

    1) Je rajouterais une précision dans le paragraphe « Modifier le fichier wp-config.php » : il est également utile de spécifier define(‘DB_HOST’, ‘localhost’); dans ce fichier.

    2) Je rajouterais un paragraphe au sujet de la réinitialisation du mot de passe de l’administrateur, en précisant que celle-ci peut être faite directement dans la base de données :
    – se connecter avec PHPMyAdmin puis ouvrir la table wp_users ;
    – identifier le compte administrateur (c’est souvent le premier créé) puis l’éditer ;
    – dans le champ user_pass inscrire le nouveau mot de passe ;
    – dans la liste déroulante « Fonction », choisir la valeur MD5 (la plupart du temps) puis sauvegarder ;
    – se connecter au site avec le nouveau mot de passe.

    Qu’en penses-tu ? Encore merci !

    Répondre
    • Merci David pour ta contribution ! C’est vrai qu’il faut modifier le DB_HOST si celui-ci n’est pas déjà en localhost. Pour la réinitialisation du mot de passe directement depuis phpMyAdmin, je crois que ton commentaire fait parfaitement l’affaire si certains veulent le faire 😉

  2. Super ! Grand merci, j’avais des problèmes avec les permalinks… après quelques heures passés sur différents forum / tutoriels. Je viens de trouver la réponse ici !!

    Mots clés : htaccess wordpress wamp, wamp wordpress permalinks, wordpress wamp

    Répondre
  3. Bonjour,
    Voilà deux jours que je tente d’importer un site que je développe (sous wordpress ) en local pour travailler sur wamp.
    Sauf que même en suivant le tuto à la lettre je finis toujours dans le même problème.. Forbidden you dont have permission to access /

    J’ai remarqué que si je supprime le fichier .htaccess j’ai accès au wp-admin et à la page home. Le reste des pages est en 404. J’essaye alors de voir les permaliens mais à ce moment ça recrée un .htaccess et c’est fini je n’ai plus accès à rien.
    Une idée pour m’aider ? J’avoue je désespère !

    Répondre
  4. Bonjour, j’aurais une question. Je viens de faire la manip en suivant bien point par point. Ca ne fonctionne pas, mais je n’ai pas de fichier .htaccess car le site récupéré est sur serveur linux (si j’ai bien compris) . Et mon pc de travail sous windows. Es ce que c’est ce fichier qui pose problème ? si oui une simple création avec le contenu ci-dessus peut régler le problème ? merci

    Répondre
    • Il y a des chances car le fichier .htaccess est capital dans cette procédure. Sur Windows par défaut, vous ne voyez pas les fichiers « cachés », il faut activer Affichage > Options > Modifier les options des dossiers et de recherche > Afficher les fichiers, dossiers et lecteurs cachés puis appliquer votre paramétrage. Ensuite, utilisez le bloc note ou un éditeur comme Notepad pour l’éditer et pouvoir l’enregistrer en .htaccess

  5. Ton tuto est très intéressant. Je ne l’avais jamais fait dans ce sens, et c’est une bonne idée en effet.
    J’avais plus l’habitude de développer des sites web depuis mon local puis de les mettre par la suite en production. Les démarches sont un peu les même mais dans l’autre sens.

    Merci pour ton article !

    Répondre
  6. Super merci !

    J’ai un site, que j’ai mis sur Wamp grâce à votre technique.
    Je dois lui faire une refonte, mais je veux garder sa base telle qu’elle, et faire de la nouvelle version une autre version qui n’écraserait pas la première.
    Comment faire pour avoir les 2 sites en parallèle ?
    Merci d’avance !

    Blandine,

    Répondre
    • Vous pouvez réimporter votre « nouveau » site sur un sous-domaine ou un répertoire (je vous le déconseille car cela va créer de la duplication de contenus aux yeux de Google) mais deux versions d’un même site ne peuvent pas cohabiter sur les mêmes URLs, c’est une version ou l’autre.

  7. Super article !
    Alors là chapeau , Je me suis étonné…j’ai réussi du premier coup en procédant pas à pas en suivant les explications et les commentaires et j’ai réimporté tout mon site pour essayer de changer le thème.
    Après, l’opération inverse d’ici quelque temps…
    Merci,

    Répondre
  8. Bonjour Benjamin.
    Bravo pour ce tuto très complet et très accessible – je me rangerais volontiers dans la catégorie des « bidouilleurs » en informatique -.
    J’ai réussi à importer mon site et à le faire fonctionner grâce aux petites manips à faire sur wp-config / .htaccess
    et surtout celles de la table wp_options que je n’avais pas trouvées sur d’autres tutos et qui me bloquaient.
    Encore merci.

    Répondre

Qu'en pensez-vous ?