WordPress est le CMS le plus utilisé du marché aujourd’hui, avec plus de 33% du marché mondial.
Cet outil est installé principalement via l’interface graphique, et pourtant, peu d’utilisateurs de WordPress savent qu’il est possible d’installer cet outil d’autres manières.
L’installation de base
Comme je disais dans l’introduction, l’installation de base de WordPress se fait via l’interface graphique.
Cette installation est divisé en 5 pages, mais on peut considérer qu’il n’y a que 2 pages intéressantes par rapport aux données importantes à enregistrer pour la bonne fonctionnalité du CMS.
Comme vous pouvez le voir ci-dessous, les images des 2 pages les plus importantes.
Installer WordPress en ligne de commande
En ligne de commande, l’installation se fait via wp-cli, qui est une interface créée spécifiquement pour WordPress.
Avec cette interface, il est possible de faire beaucoup de chose via la ligne de commande. On peut gérer la configuration, le core, les cron, la base de donnée, etc…
Voici les commandes pour installer l’outil.
wp core download --locale=fr_FR
wp core config --dbname=wordpress --dbuser=root --dbpass=admin --dbprefix=wp_
wp db create
wp core install --url=$url --title="Exemple Site Dev" --admin_name=guillaume --admin_email=$email --admin_password=password
wp rewrite structure '/%postname%/' --hard
wp rewrite flush --hard
C’est le script minimal pour avoir un site fonctionnel. En quelques mots, voici ce que fait ce script :
- Téléchargement de la dernière version de WordPress, dans la langue choisi
- Configuration de la BDD avec les infos des paramètres donné. On génère en parallèle le fichier wp-config.php
- Exécution du processus d’installation standard de WordPress
- URL et titre du projet,
- informations du compte administrateur
- Définition de la structure des permaliens du projet. Dans notre exemple, le format /%postname%/ est choisi
- Met à jour la structure de permalien, et génère aussi le fichier .htaccess
A partir d’un fichier de configuration YAML
Quand on utilise wp-cli, et que l’on a l’habitude d’installer du WordPress. Il est possible d’aller un cran plus loin que l’étape précédente.
Je m’explique.
En cas d’utilisation répétée, wp-cli peut lire les options d’un fichier de configuration YAML, par défault wp-cli.yml. WP-CLI lit automatiquement ces fichiers de configuration Ces fichiers de configuration permettent de spécifier des valeurs par défaut pour les paramètres globaux et les arguments spécifiques aux sous-commandes.
Le script d’installation de WordPress deviendrai celui-ci :
wp core download
wp core config
wp db create
wp core install
wp rewrite structure --hard
wp rewrite flush --hard
Voici un exemple de fichier wp-cli.yml,
# Global parameter for the dev environnement
color: true
apache_modules:
- mod_rewrite
rewrite structure:
- /%postname%/
scaffold _s:
author: Guillaume RICHARD
author_uri: https://guillaume-richard.fr/
scaffold plugin:
plugin_description: My sample-plugin description
plugin_author: Guillaume RICHARD
plugin_author_uri: https://guillaume-richard.fr/
plugin_uri: https://jf-blog.fr/
theme install:
- oblique
post generate:
post_author: guillaume
core download:
locale: fr_FR
core install:
admin_user: guillaume
admin_password: guillaume
admin_email: g.jf.richard@gmail.com
title: WordPress Development
url: http://local.wordpress/
core config:
dbuser: root
dbpass: admin
dbhost: localhost
dbname: wordpress
dbprefix: wp_
extra-php: |
define('WP_DEBUG', true);
if (WP_DEBUG) {
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
@ini_set('display_errors',0);
}
define('WP_CACHE', false); // on enlève le cache
define('WP_POST_REVISIONS', false);
define('DISALLOW_FILE_EDIT',true);
define('SAVEQUERIES', true);
Pour en savoir plus, n’hésitez pas à aller sur la documentation de WordPress, sur le sujet de la configuration de WP-CLI.
Installer wordpress en tant que dépendances
Je n’ai jamais utilisé cette technique pour installer le CMS, mais cette technique a été testé et approuvé.
Je vous propose de découvrir cette technique via une conférence que j’ai vu lors du WP TECH 2018 de Lyon.