WordPress : installation sur un serveur Nginx

Présentation

Dans ce tutoriel, je vais vous expliquer comment installer WordPress sur un serveur Web Nginx.

Avant de commencer, vous allez avoir besoin d’un serveur Web avec Nginx / PHP / MariaDB d’installés. Si vous avez besoin tout est expliqué dans ce tutoriel : Ubuntu : installer un serveur Web – NGINX / PHP / MariaDB – RDR-IT

Le moteur Web Nginx ne lit pas les fichiers .htaccess.

Préparation de l’environnement

Avant d’attaquer l’installation de WordPress sur le serveur, nous allons préparer l’environnement :

  • Créer le virtual host (vhost)
  • Créer une base de données et un utilisateur
  • Télécharger WordPress
  • Configurer un enregistrement DNS qui va pointer sur le serveur Web.

Configuration du virtual host

Avant de s’occuper de la configuration, on va créer les dossiers du virtuel host.

Depuis une connexion SSH ou dans la console entrer les commandes suivantes :

Les 3 premières lignes vont créer les dossiers pour les fichiers de WordPress et la dernière ligne change le propriétaire.

On va utiliser le fichier default.conf pour créer la configuration du virtual host WordPress. Copier le fichier à l’aide de la commande ci-après :

Ouvrir le fichier pour modifier la configuration :

Voici mon fichier de configuration :

J’ai ajouté des commentaires pour vous aidez à adapter le fichier de configuration. Vous pourrez aussi trouver de l’aide sur le forum.

Activer le virtual host de WordPress :

Vérifier la configuration Nginx :

Recharger la configuration pour activer le virtual host :

Configuration de la base de données

Pour fonctionner, WordPress a besoin d’une base de données MariaDB ou MySQL. Dans cette partie, nous allons créer un utilisateur et une base de données dédiés à l’installaton de WordPress.

Depuis phpMyAdmin, cliquer sur Comptes utilisateurs 1.

Cliquer sur Ajouter un compte d’utilisateur 1.

Entrer le nom de l’utilisateur 1 (wordpress), saisir un mot de passe (x2) 2, cocher la case Créer une base portant son nom et donner à cet utilisateur tous les privilèges sur cette base 3 et cliquer sur Exécuter 4.

La base de données 1 est créée ainsi que l’utilisateur.

Téléchargement de WordPress

On va maintenant télécharger l’archive de WordPress et copier les fichiers dans le répertoire /home/wordpress/public_html.

Aller dans le dossier tmp à l’aide commande ci-après :

cd /tmp

Télécharger la dernière version de WordPress à l’aide de la commande wget :

sudo wget https://wordpress.org/latest.tar.gz

Une fois l’archive téléchargée, décompresser la :

sudo tar -zxvf latest.tar.gz

Déplacer le cotenu (les fichiers WordPress) dans le dossier du virtual host :

sudo mv wordpress/* /home/www-data/wordpress/public_html

Modifier le propriétaire des dossiers et fichiers :

sudo chown www-data /home/www-data/wordpress -R

Installation de WordPress

Nous sommes maintenant prêts à installer WordPress.

Lancer un navigateur Internet et entrer l’url du site WordPress. A la première étape, sélectionner la langue 1 et cliquer sur Continuer 2.

Une page s’affiche, indiquant de quoi vous avez besoin pour installer WordPress, cliquer sur C’est partie 1.

Il faut entrer les informations de connexion à la base de données, celle-ci seront ensuite écrite dans le fichier wp-config.php qui se trouve à la racine du site Internet. Entrer le nom de la base de données 1, l’identifiant 2 et le mot de passe 3 puis l’adresse du serveur 4 et cliquer sur bouton Envoyer 5.

Il est possible de modifier le préfixe des tables (wp_ par défaut), ceci est surtout utile si vous faites plusieurs installer de WordPress sur la même base de données. Dans un environnement dédié comme ici, si vous souhaitez installer plusieurs sites WordPress, je vous conseille de faire une base de données par installation.

Une fois le test de connexion à la base de données réussi, cliquer sur Lancer l’installation 1.

Configurer le titre du site 1, l’identifiant 2 et le mot de passe 3 du compte admin et une adresse e-mail 4. Cliquer sur Installer WordPress 5.

WordPress est installé, cliquer sur Se connecter 1.

Entrer les identifiants 1 du compte créé lors de l’installation et cliquer sur Se connecter 2.

Votre site WordPress est prêt, il ne vous reste plus qu’à le personnaliser et ajouter du contenu.

Optimiser WordPress avec Memcached / Redis

Afin de compléter ce tutoriel, je vais vous expliquer comment optimiser ou plutôt accélérer votre site WordPress en utilisant Memcached ou Redis.

Memcached et Redis sont deux services de « base de données » qui utilisent la mémoire RAM pour stocker des informations que votre site WordPress utilisent souvent.

Ces deux services sont utilisés en parallèle de la base de données MariaDB/MySQL pour avoir un système de cache haute-performance.

Il est possible d’utiliser la partie qui suit du tutoriel pour un serveur Apache.

Installer le plugin Query Monitor

Avant de mettre en place les services de cache, nous allons installer un plugin WordPress qui va nous permettre d’évaluer l’efficacité.

Depuis l’interface d’administration, passer le curseur de la souris sur Extensions 1 et cliquer sur Ajouter 2.

Placer votre curseur dans la zone de recherche 1.

Dans la zone de recherche entrer query monitor 1, une fois la recherche effectuée, cliquer sur le bouton Installer maintenant 2 du plugin.

Une fois l’extension installée, cliquer sur le bouton Activer 1.

L’extension est activée 1, on peut voir aussi dans la barre d’administration, les informations de génération 2 de la PHP et notamment le nombre de requêtes.

En valeur de référence, je vais prendre le nombre de requêtes sur la page d’accueil, comme on peut le voir sur la capture ci-dessous, je suis à 39 requêtes.

Memcached

On va commencer avec Memcached, dans un premier temps, il faut installer le service sur le serveur, puis installer l’extension PHP et pour finir une extension sur WordPress pour la prise en charge sur le CMS.

Installation de Memcached

Depuis un terminal enter la commande suivante pour l’installation sur Ubuntu / Debian :

sudo apt install memcached -y

Une fois l’installation terminée, pour la valider le bon fonctionnement entrer la commande suivante pour se connecter au service Memcached :

telnet 127.0.0.1 11211

Pour sortir entrer la commande quit.

quit

Installer l’extension Memcached pour PHP

Toujours en SHELL, entrer la commande suivante pour installer l’extension php-memcached :

sudo apt install php-memcached -y

Redémarrer le service PHP utilisé par WordPress :

sudo systemctl restart php7.3-fpm

Afin de vérifier que l’extension est active, le plus simple est de passer par un fichier avec la fonction phpinfo() et vérifier que la section memcached est présente.

Utiliser Memcached avec WordPress

La partie qui va suivre est pour démontrer l’utilisation de Memcached avec WordPress dans ce tutoriel, pour une utilisation en production, je vous conseille l’utilisation d’un plugin de cache gérant le cache Objet comme LsCache ou W3 Total Cache.

Le plugin utilisé ci-après ne permet pas de purger le cache.

Depuis l’administration WordPress, aller à la page d’ajout d’extensions, rechercher memcached 1 et cliquer sur Installer maintenant 2 sur le plugin Object Cache 4 everyone.

Une fois l’installation terminée, cliquer sur Activer 1.

Une fois l’activation terminée, vérifier dans les extensions Avancées 1, d’avoir object-cache.php 2.

Retourner sur la page d’accueil du site et actualiser la (2 fois pour construire le cache) et on peut voir que pour générer la page seulement 8 requêtes ont été effectuées contre 39 requêtes sans Memcached.

Le résultat est assez impressionnant, le gain de performance sur un site WordPress sans plugins et sans contenu à peu d’influence sur le temps de génération. Le cache d’objets permet d’améliorer grandement ce temps de génération sur un site avec plusieurs dizaines de plugins et des articles en limitant le nombre de requêtes. Et cela se sent pour les visiteurs.

Redis

Comme Memcached, il faut installer les paquets sur le serveur, l’extensions PHP et l’extensionw WordPress.

Installation de REDIS

Entrer la commande suivante pour installation REDIS sur le serveur :

apt install redis-server -y

Pour tester le service REDIS, il y a plusieurs solutions.

Avec TELNET entrer la commande suivante :

telnet 127.0.0.1 6379

Pour sortie de telnet entrer quit.

Avec redis-cli

Entrer les commandes suivantes :

redis-cli
ping

Si tout fonctionne la réponse est PONG.

Pour sortie du client Redis enter : quit

Installer l’extension Redis pour PHP

Pour installer l’extension Redis pour PHP entrer la commande ci-dessous en remplaçant X par la version de PHP qui est utilisé.

apt install php7.X-redis -y

Pour vérifier que le module Redis est bien installé, vérifier depuis la fonction phpinfo() que la section est redis est présente.

Utiliser Redis avec WordPress

Si vous avez installé une extension Memcached, celle-ci doit être désactivé avant d’installer l’extension Redis.

La partie qui va suivre est pour démontrer l’utilisation de Memcached avec WordPress dans ce tutoriel, pour une utilisation en production, je vous conseille l’utilisation d’un plugin de cache gérant le cache Objet comme LsCache ou W3 Total Cache.

Depuis l’administration WordPress, aller à la page d’ajout d’extensions, rechercher redis 1 et cliquer sur Installer maintenant 2 sur le plugin Redis Object Cache.

Une fois l’installation terminée, cliquer sur le bouton Activer 1.

Une fois le plugin installé et redirigé vers la page des extensions, au niveau du plugin Redis Object Cache, cliquer sur Settings 1.

Cliquer sur Enable Object Cache 1.

Une fois le cache objet d’activé, on peut voir que la connexion au serveur Redis est effectué. Avec cette extension, il est possible de purger le cache en cliquant sur Flush Cache.

Retourner sur la page d’accueil du site et actualiser la (2 fois pour construire le cache) et on peut voir que pour générer la page seulement 6 requêtes ont été effectuées contre 39 requêtes sans Redis.

Memcached ou Redis ?

Maintenant que vous avez vu les deux solutions, vous vous posez certainement la question du choix … les deux solutions sont équivalentes, le mieux est de tester les deux et de faire vous-même le choix.

Il n’est pas possible d’utiliser les deux en même pour la cache Objet, par contre si vous utilisez le plugin W3 Total Cache, il est possible d’utiliser les deux services simultanément pour des fonctions différentes, par exemple le cache des pages HTML sur Memcached et le cache Objet sur Redis.

Conclusion

J’espère que ce tutoriel va vous aidez à installer WordPress sur un environnement Nginx.


Si vous avez besoin d’aide ou des questions le forum est à votre disposition.




Laisser un commentaire