WordPress Installation · 13 min read · Feb 01, 2026

Installer WordPress 5 avec Apache sur Debian 9

Ce tutoriel vous montrera comment installer et configurer la dernière version de WordPress 5 sur une pile LAMP sous Debian 9 - Stretch. WordPress, sans aucun doute, est l’un des systèmes de gestion de contenu open-source les plus populaires utilisés de nos jours pour la publication sur Internet, qui alimente plus de 60 millions de sites Web dans le monde, qu’il s’agisse de petits blogs ou de grandes marques notables. Basé sur le moteur PHP et MySQL, WordPress est souvent associé à la collection LAMP, soit installé sur des serveurs dédiés, des serveurs privés virtuels ou sur des fournisseurs d’hébergement Web partagé. L’acronyme LAMP décrit une collection de logiciels, également appelée bundle logiciel, qui consiste généralement en un noyau Linux open source, quelle que soit la distribution choisie, un serveur HTTP Apache, qui est l’un des serveurs Web open-source les plus populaires sur Internet en raison de sa stabilité, de sa flexibilité et de ses performances, le langage de programmation interprété côté serveur PHP et le système de gestion de base de données relationnelle (SGBDR) MariaDB, qui est l’un des logiciels de base de données les plus populaires, forké et développé simultanément par la communauté open-source à partir de l’original MySQL.

Exigences

  • Une installation propre du système d’exploitation Debian 9 sur un serveur privé virtuel ou une machine virtuelle ou directement sur une machine bare-metal dédiée.
  • Accès SSH à distance en cas de VPS ou de serveur distant ou accès console direct
  • Au moins une adresse IP statique pour une interface réseau configurée sur le serveur
  • Dans le cas où la page Web doit être accessible publiquement sur Internet, vous aurez besoin d’un nom de domaine public enregistré avec des enregistrements DNS appropriés configurés. Au cours de ce tutoriel, nous utiliserons example.com comme domaine d’exemple et une adresse IP statique de l’espace privé, en NAT, derrière le routeur principal. Le domaine sera accessible depuis Internet en redirigeant les ports 80 et 443 d’Apache depuis le côté routeur vers la machine virtuelle auto-hébergée interne LAN.

Installer le bundle logiciel LAMP

La première chose que vous devez faire avant de commencer à installer tous les composants LAMP est de vous connecter au serveur Debian 9 et d’effectuer une procédure de mise à jour pour tous les composants du système, tels que les mises à jour du noyau, les mises à jour des paquets ou les correctifs de sécurité, en émettant les commandes suivantes avec des privilèges root.

apt-get update
apt-get upgrade
apt-get dist-upgrade

À l’étape suivante, vous devez définir le nom de votre machine en remplaçant la variable hostname par votre propre nom descriptif en exécutant la commande ci-dessous. Soyez conscient que vous devrez peut-être redémarrer le système pour appliquer le nouveau nom d’hôte en conséquence.

hostnamectl set-hostname hostname.votredomaine.com

Vous devez également installer les utilitaires suivants qui seront utiles plus tard pour divers problèmes de dépannage.

apt install net-tools sudo wget curl bash-completion

Après que le nom d’hôte de la machine a été appliqué, reconnectez-vous avec des privilèges root et installez le serveur HTTP Apache, qui est, par défaut, précompilé dans un paquet binaire et fourni par les dépôts Debian 9.

apt install apache2

Ensuite, installez la dernière version de l’interpréteur de langage PHP et tous les modules requis pour le serveur Web Apache afin de déployer le CMS WordPress en émettant la commande suivante.

apt install libapache2-mod-php7.0 php7.0 php7.0-gd php7.0-xml php7.0-curl php7.0-mbstring php7.0-mcrypt php7.0-xmlrpc

Le dernier composant manquant maintenant pour que la pile LAMP soit complète est le serveur de base de données MariaDB. Exécutez la commande suivante pour installer le serveur MariaDB avec le module PHP requis pour accéder à la base de données depuis le serveur HTTP Apache.

apt install php7.0-mysql mariadb-server mariadb-client

Après que la base de données MariaDB a été installée, démarrez le démon et sécurisez la base de données en exécutant le script mysql_secure_installation comme illustré dans l’extrait ci-dessous. Répondez principalement par oui à toutes les questions que le script vous pose. Assurez-vous également de choisir un mot de passe fort pour le compte root. Soyez conscient que le compte root MySQL n’est pas identique au compte root Linux. Le premier est utilisé uniquement pour gérer la base de données MariaDB et le second est le compte superutilisateur dans chaque système Linux. Ces comptes ne se chevauchent jamais dans un système.

systemctl start mariadb
mysql_secure_installation
*NOTE: L'EXÉCUTION DE TOUTES LES PARTIES DE CE SCRIPT EST RECOMMANDÉE POUR TOUS LES SERVEURS MariaDB EN UTILISATION DE PRODUCTION ! VEUILLEZ LIRE CHAQUE ÉTAPE ATTENTIVEMENT !

Pour se connecter à MariaDB pour le sécuriser, nous aurons besoin du mot de passe actuel pour l'utilisateur root. Si vous venez d'installer MariaDB, et que vous n'avez pas encore défini le mot de passe root, le mot de passe sera vide, donc vous devriez simplement appuyer sur entrer ici.

Entrez le mot de passe actuel pour root (appuyez sur entrer pour aucun) :
OK, mot de passe utilisé avec succès, passage à la suite...

Définir le mot de passe root garantit que personne ne peut se connecter à l'utilisateur root de MariaDB sans l'autorisation appropriée.
Définir le mot de passe root ? [Y/n] y
Nouveau mot de passe :
Ressaisir le nouveau mot de passe :
Mot de passe mis à jour avec succès !
Rechargement des tables de privilèges..
... Succès !
Par défaut, une installation de MariaDB a un utilisateur anonyme, permettant à quiconque de se connecter à MariaDB sans avoir à avoir un compte utilisateur créé pour eux. Cela est destiné uniquement aux tests, et pour rendre l'installation un peu plus fluide. Vous devriez les supprimer avant de passer à un environnement de production.
**Supprimer les utilisateurs anonymes ? [Y/n] y
... Succès !
Normalement, root ne devrait être autorisé à se connecter que depuis 'localhost'. Cela garantit que quelqu'un ne peut pas deviner le mot de passe root depuis le réseau.
**Interdire la connexion root à distance ? [Y/n] y
... Succès !
Par défaut, MariaDB est livré avec une base de données nommée 'test' à laquelle quiconque peut accéder. Cela est également destiné uniquement aux tests, et devrait être supprimé avant de passer à un environnement de production.
**Supprimer la base de données de test et l'accès à celle-ci ? [Y/n] y
 - Suppression de la base de données de test...
... Succès !
 - Suppression des privilèges sur la base de données de test...
... Succès !
Recharger les tables de privilèges garantira que tous les changements effectués jusqu'à présent prendront effet immédiatement.
Recharger les tables de privilèges maintenant ? [Y/n] y
... Succès !
Nettoyage...
Tout est fait ! Si vous avez complété toutes les étapes ci-dessus, votre installation de MariaDB devrait maintenant être sécurisée.
Merci d'utiliser MariaDB !*

Nous n’avons pas encore terminé de sécuriser la base de données MariaDB. Par défaut, vous pouvez vous connecter à MariaDB depuis localhost avec le compte root de la base de données sans qu’on vous demande un mot de passe. Pour éviter d’éventuels problèmes de sécurité, connectez-vous à la base de données avec l’utilisateur root et émettez les commandes suivantes.

mysql -u root -p
MariaDB> use mysql;
MariaDB> update user set plugin='' where User='root';
MariaDB> flush privileges;
MariaDB> quit

Supprimer le plugin de l'utilisateur root MySQL

Maintenant, testez la base de données en essayant de vous connecter avec le compte root sans le mot de passe. Vous devriez être refusé l’accès à la base de données MariaDB.

À l’étape suivante, nous allons activer et configurer les modules TLS et de réécriture pour le serveur Web Apache, qui sont par défaut désactivés. Exécutez les commandes ci-dessous pour activer les deux modules.

a2enmod rewrite ssl
a2ensite default-ssl.conf

Ensuite, ouvrez les fichiers de configuration d’Apache pour les deux sites activés et ajoutez le bloc suivant sous la directive DocumentRoot comme illustré dans la capture d’écran suivante.

nano /etc/apache2/sites-enabled/000-default.conf
nano /etc/apache2/sites-enabled/default-ssl.conf

Dans les deux fichiers de configuration, ajoutez le bloc de code suivant :

*      
       Options Indexes FollowSymLinks MultiViews  
       AllowOverride All  
       Require all granted  
    *

Accorder l'accès au répertoire /var/www/html et permettre les remplacements

Dans le fichier de configuration TLS default-ssl.conf d’Apache, vous pouvez également ajouter le contenu ci-dessous, s’il n’existe pas, afin d’améliorer la sécurité du protocole SSL d’Apache. Ces lignes de code devraient corriger les vulnérabilités SSL courantes.

*SSLProtocol all -SSLv2 -SSLv3  
*# Ajouter le chiffrement SSL en une seule ligne  
*SSLCipherSuite          ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA*  
*SSLHonorCipherOrder     on*  
*SSLOptions +StrictRequire*  
*  
*Header always set Strict-Transport-Security "max-age=63072000; includeSubdomains"*  
*Header always set X-Frame-Options DENY*  
*Header always set X-Content-Type-Options nosniff*

Définir des paramètres SSL stricts dans apache2

Si les lignes illustrées dans l’extrait ci-dessus existent déjà dans le fichier de configuration SSL d’Apache, assurez-vous de les modifier pour qu’elles ressemblent à ce qui est décrit ci-dessus. Pour appliquer ces paramètres, activez le module headers d’Apache et redémarrez le service en exécutant les commandes suivantes :

a2enmod headers
systemctl restart apache2.service

Pour un site Web de production, il devrait être obligatoire d’activer le module TLS d’Apache car le CMS WordPress génère principalement du contenu dynamique via la passerelle PHP et gère également le processus d’authentification pour ses utilisateurs internes. L’utilisation de la technologie TLS garantit que les informations transférées sont cryptées aux deux extrémités et que la connexion est sécurisée. Un tiers ou un homme du milieu peut intercepter le trafic mais ne peut pas déchiffrer le contenu, car les informations ne sont pas livrées en texte clair.

Après avoir effectué tous les changements ci-dessus, testez la configuration d’Apache afin de détecter d’éventuelles erreurs de syntaxe et si tout est en ordre, redémarrez les démons LAMP afin de refléter tous les changements effectués jusqu’à présent et d’activer les services à l’échelle du système en émettant les commandes suivantes.

apache2ctl -t
systemctl restart apache2.service mariadb.service
systemctl enable apache2.service mariadb.service

Enfin, vérifiez si les services Apache et MariaDB ont ouvert des ports en état d’écoute en émettant la commande netstat et en filtrant la sortie à l’aide de egrep. D’ici là, le serveur Web Apache devrait avoir les ports 80 et 443 (correspondant aux protocoles HTTP et https) généralement exposés et MariaDB devrait uniquement se lier au socket localhost:3306. Utilisez le drapeau -n contre la commande netstat pour supprimer l’affichage des noms de service.

netstat -tlp| egrep 'http|mysql'

**Vérifier si MariaDB est démarré

Pour vous assurer que votre serveur Web est accessible depuis Internet via les protocoles HTTP et HTTPS, ouvrez un navigateur et naviguez jusqu’à votre nom de domaine. En naviguant via le protocole HTTPS, une erreur de certificat sera affichée dans le navigateur. Cela est dû au fait que le fichier de configuration TLS par défaut d’Apache est configuré pour utiliser des certificats auto-signés. Vous devriez accepter l’erreur TLS et continuer à naviguer vers la page Web par défaut comme illustré ci-dessous.

http://www.votredomaine.com

Page de test Apache2

https://www.votredomaine.com

Page de test Apache 2 en mode SSL

Dans le cas où vous ne pouvez pas visiter la page Web par défaut de votre domaine depuis Internet, vous devriez d’abord vérifier si certaines règles de pare-feu dans le système bloquent les demandes ou vous assurer que les ports appropriés sur le routeur sont redirigés vers votre LAN interne dans le cas où le serveur se trouve derrière un réseau NAT. Vous voudrez également vérifier les enregistrements DNS dans le panneau de votre registraire de domaine et vous assurer qu’ils pointent vers votre IP WAN et que les enregistrements ont terminé leur propagation sur Internet.

* Afin de tester si PHP fonctionne comme prévu côté serveur, créez un fichier PHP php* dans le chemin système /var/www/html/, qui est le chemin par défaut du document racine Web du serveur Apache, en émettant la commande ci-dessous et naviguez vers l’URI suivante depuis le navigateur pour obtenir le résultat : *http://www.votredomaine.com/info.php*

echo '' > /var/www/html/info.php

**Page de test PHP info

Installer WordPress 5.0

Maintenant que la pile LAMP est entièrement configurée, l’installation du CMS WordPress est relativement simple. Tout d’abord, connectez-vous à la base de données MariaDB et créez une base de données d’installation pour WordPress et un utilisateur avec le mot de passe approprié pour installer et gérer le CMS WordPress, en émettant les commandes ci-dessous. N’hésitez pas à remplacer le nom de la base de données et les identifiants de la base de données pour correspondre à vos propres exigences.

mysql -u root -p
CREATE DATABASE wordpress;
GRANT ALL PRIVILEGES ON wordpress.* TO 'wordpress-user'@'localhost' IDENTIFIED BY 'wordpress-pass';
FLUSH PRIVILEGES;

**Créer la base de données MySQL WordPress et l'utilisateur de la base de données

Ensuite, téléchargez le dernier tarball de WordPress depuis le site officiel en utilisant l’utilitaire wget et extrayez l’archive compressée avec l’utilitaire tar. Copiez les fichiers d’installation dans le chemin racine du serveur Web Apache en émettant les commandes ci-dessous. Assurez-vous également de supprimer la page Web par défaut index.html.

cd /tmp
wget http://wordpress.org/latest.tar.gz
tar xfz latest.tar.gz
cp -rf wordpress/* /var/www/html/
rm /var/www/html/index.html

Télécharger et décompresser WordPress sur votre serveur

Modifiez les permissions du chemin racine du Web d’Apache comme décrit ci-dessous afin d’accorder au groupe www-data du serveur Web des permissions d’écriture complètes sur le répertoire d’installation. Cette configuration permettra au serveur Web Apache de créer ou de modifier des fichiers et des répertoires sous ce chemin système spécifique. Les plus importants seraient le répertoire uploads et le fichier *.htaccess*, qui peuvent être utilisés pour contrôler et étendre la fonctionnalité d’Apache.

chmod -R 775 /var/www/html/
chgrp -R www-data /var/www/html/
ls -al /var/www/html

Fichiers WordPress

Maintenant que tout est en place, commençons à installer WordPress. Le processus d’installation sera effectué depuis le navigateur. Ouvrez un navigateur et visitez votre domaine via le protocole HTTPS. Sur le premier écran de l’installation, cliquez sur le bouton Allons-y pour commencer l’installation.

Installateur Web WordPress

À l’écran d’installation suivant, ajoutez le nom de la base de données, les identifiants d’accès à la base de données et l’hôte de la base de données que vous avez créés précédemment pour l’installation de WordPress et cliquez sur le bouton Soumettre pour continuer. La configuration de la base de données sera enregistrée dans /var/www/html/wp-config.php. Vous pouvez modifier manuellement le fichier ultérieurement à des fins spéciales de WordPress.

Paramètres de la base de données

À l’écran suivant, cliquez sur le bouton Exécuter l’installation et remplissez le titre de votre site Web, les identifiants d’administration du site Web et l’adresse e-mail. Un mot de passe fort devrait être généré automatiquement par les scripts d’installation. Vous pouvez choisir de sauvegarder ce mot de passe ou de fournir votre propre mot de passe fort. Lorsque vous avez terminé, cliquez sur le bouton Installer WordPress pour terminer le processus d’installation.

Exécuter l'installation

Informations sur le site WordPress

Enfin, après que l’installation soit terminée avec succès, connectez-vous au tableau de bord WordPress avec les identifiants créés lors du processus d’installation et commencez à gérer votre propre site Web.

Succès de l'installation WordPress

Connexion admin WordPress

Connectez-vous au backend de WordPress.

Backend WordPress

Tableau de bord Admin WordPress.

Édition d’un article dans le nouvel éditeur Gutenberg de WordPress.

WordPress 5.0 Frontend avec le nouveau thème TwentyNineteen.

Félicitations ! Vous avez réussi à installer la dernière version du CMS WordPress sur la pile logicielle LAMP sous Debian 9, nom de code Stretch.

Téléchargement de l’image de machine virtuelle de ce tutoriel

Ce tutoriel est disponible sous forme d’image de machine virtuelle prête à l’emploi au format ovf/ova compatible avec VMWare et Virtualbox. L’image de la machine virtuelle utilise les détails de connexion suivants :

Connexion SSH / Shell

Nom d’utilisateur : administrateur
Mot de passe : howtoforge

Cet utilisateur a des droits su.

Nom d’utilisateur : root
Mot de passe : howtoforge

Connexion WordPress

Nom d’utilisateur : admin
Mot de passe : howtoforge

Connexion MySQL

Nom d’utilisateur : root
Mot de passe : howtoforge

L’IP de la VM est 192.168.1.100, elle peut être changée dans le fichier /etc/network/interfaces. Veuillez changer tous les mots de passe ci-dessus pour sécuriser la machine virtuelle.

Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.