Wordpress

Un jour une amie m’a demandé si je pouvais lui créer un site internet. N’ayant pas le temps de m’occuper de la gestion/maintenance du site, l’idée d’un CMS me semblait alors être l’option idéale. Mais alors quel CMS choisir parmi les multitudes qui existent ? J’ai choisi le très populaire Wordpress, un CMS open source qui a fait ses preuves, avec quelques thèmes gratuits facilement customisables. Je voulais alors pouvoir le tester rapidement en local pour voir ce qu’il a dans le ventre.

Docker

Wordpress est un CMS PHP qui utilise une base de donnée MySql. Il faudrait donc installer un serveur web, une version de PHP et de MySql compatible avec la version de Wordpress souhaitée. Je me rends compte que tester plusieurs CMS sera fastidieux s’il faut à chaque fois installer tout l’environnement nécessaire. Et c’est là qu’intervient notre ami Docker, un logiciel conteneur de logiciel 🤔 que nous utilisons également à Deepki, qui répond exactement à mon besoin.

L’idée principale est alors d’installer chacun des logiciels nécessaire à Wordpress dans un docker. Cependant, étant donné que je souhaite uniquement tester les fonctionnalités de Wordpress sans nécessairement toucher à son code, je peux me passer d’une installation dépendante d’un serveur web et de PHP. En effet, une image Wordpress est disponible sur le hub.Docker, elle embarque directement une version de PHP et d’apache.

Installation

Commençons par installer Docker. L’installation est simple, il vous sera peut-être nécessaire de créer un compte, mais vous trouverez la version adaptée à votre machine sur docker.com/products/docker-desktop . Une fois installée, vous pouvez tester si l’installation s’est bien passée et que Docker tourne correctement. Pour ce faire, on peut lancer une image d’exemple disponible sur le Hub, l’image “hello-world”. Sur la ligne de commande: docker run hello-world

docker run hello-world

Cette commande va tout simplement télécharger depuis le hub.docker (si vous ne l’aviez pas encore) et lancer un petit programme appelé hello-world. Le programme nous indique que notre installation fonctionne correctement.

N.B: L’installation de docker-desktop installe aussi docker-compose. Si on veut installer sur une machine Linux, il faudra installer docker-compose après avoir installé docker: docs.docker.com/compose/install

Nous allons alors pouvoir maintenant installer les images qui nous intéressent: Wordpress et MySql.

Il y a plusieurs façon de procéder à l’installation de ces images, mais la plus simple est de passer par docker-compose. Docker-compose permet de dire à Docker de nous lancer plusieurs images en même temps. Créons notre fichier de configuration docker-compose.yml, dans lequel on va renseigner les images qui nous intéressent, ainsi qu’un minimum de paramétrage.

docker-compose.yml

Dans ce fichier, on indique:

  • la version du yaml
  • les différentes images nécessaires à notre Wordpress, qu’on met dans des services
  • dans le service que nous avons appelé ici wordpress, on va indiquer qu’on souhaite faire tourner une image Wordpress à la version 5.0.3. On y spécifie aussi directement des variables d’environnement utilisées par l’image pour configurer la connexion à la base de données.

Et voilà, nous avons tout pour tester un Wordpress en local 😃 Il suffit maintenant de demander à docker-compose de démarrer nos services. Rien de plus simple, depuis la console, on va se mettre dans le dossier où on a créé notre unique fichier de configuration docker-compose.yml et lancer la commande docker-compose up -d:

docker-compose up -d

l’option -d permet de lancer en mode deamon.

On peut voir que nos deux services ont bien été démarrés. On a donc maintenant accès à Wordpress depuis le navigateur, sur le port qu’on a spécifié:

localhost:8888/wp-admin

That’s all folks ! Vous avez maintenant un moyen simple et rapide de tester une ou différentes versions de Wordpress facilement et rapidement en local ✌️