Ce tutoriel vous montrera comment installer et configurer la dernière version de WordPress 6.0 sur une pile LAMP dans Debian 11 – Bullseye .Wordpress est sans aucun doute l’un des systèmes de gestion de contenu open source ou CMS les plus populaires actuellement utilisés pour la publication sur Internet. Il alimente plus de 60 millions de sites Web dans le monde, qu’il s’agisse de petits sites de blogging ou de grandes marques. Basé sur les moteurs PHP et MySQL, WordPress est souvent associé à la collection LAMP, soit installé sur des serveurs dédiés ou des serveurs privés virtuels, soit sur des fournisseurs d’hébergement Web partagés.L’acronyme LAMP décrit une collection de logiciels, appelée groupement de logiciels, qui consiste généralement en noyau Linux Open Source, quelle que soit la distribution choisie, le serveur HTTP Apache, qui est l’un des serveurs Web open source les plus populaires sur Internet en raison de sa stabilité, flexibilité et performance, langage de programmation interprété PHP côté serveur et le système de gestion de base de données relationnelle (RDBMS) MariaDB, qui est l’un des logiciels de base de données les plus populaires, développé et développé simultanément par la communauté open source à partir de MySQL d’origine.
Exigences
- Une nouvelle installation du système d’exploitation Debian 10 sur un serveur privé virtuel ou une machine virtuelle ou directement sur une machine dédiée nu-metal.
- Accès à distance SSH en cas d’accès VPS ou serveur distant ou accès direct à la console
- Au moins une adresse IP statique pour une interface réseau configurée sur le serveur
- Si la page Web devait être accessible au public sur Internet, vous auriez besoin d’un nom de domaine public enregistré avec les enregistrements DNS appropriés configurés. Au cours de ce didacticiel, nous utiliserons exemple.com comme exemple de domaine et une adresse IP statique issue d’un espace privé, en NAT, derrière le routeur principal.Le domaine sera accessible depuis Internet en transférant les ports Apache 80 et 443 du côté du routeur vers le réseau local de la machine virtuelle auto-hébergée.
Installer le logiciel LAMP
La première chose à faire avant de commencer à installer tous les composants de LAMP est de vous connecter au serveur Debian 10 et d’exécuter une procédure à jour pour tous les composants du système, tels que les mises à niveau du noyau, les mises à jour de paquets ou les correctifs de sécurité, en lançant la procédure suivante: commandes suivantes avec les privilèges root.
# apt-get update && apt-get upgrade -y && apt-get dist-upgrade -y
Dans l’étape suivante, vous devez configurer le nom de votre serveur en remplaçant la variable hostname par votre propre nom descriptif en exécutant la commande ci-dessous. Sachez que vous devrez peut-être redémarrer le système pour pouvoir appliquer le nouveau nom d’hôte en conséquence.
# hostnamectl set-hostname hostname.yourdomain.com
<p>Vous devez également installer les utilitaires suivants, qui vous seront utiles ultérieurement pour résoudre divers problèmes de dépannage.
# apt install net-tools sudo wget curl bash-completion
Une fois le nom d’hôte de la machine appliqué, reconnectez-vous avec les privilèges root et installez le serveur HTTP Apache, pré-compilé par défaut dans un paquet binaire et fourni par les référentiels Debian 11.
# 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 WordPress CMS en exécutant la commande suivante.
Installation de PHP 7.4
PHP 7.4 est la version qui sera installée par défaut pour Debian 11. Il n’est pas nécessaire, actuellement de rajouter un dépôt particulier.
Installation à proprement parlé
Cette étape consiste à installer PHP 7.4 sur Debian 11. Commencez par exécuter la commande apt update:
# apt-get update && apt-get upgrade -y && apt-get dist-upgrade -y
Puis installez PHP 7.4 sur Debian 11:
# apt -y install php7.4
Vérifier la version installée
$ php -v
Installation des extensions PHP 7.4
Installer les extensions PHP 7.4 en utilisant la syntaxe
# apt install php7.4-entension-name
Voir l’exemple ci-dessous qui installe des extensions PHP standard.
# apt install php7.4-cli php7.4-json php7.4-zip php7.4-gd php7.4-mbstring php7.4-curl php7.4-xml php7.4-bcmath php7.4-xmlrpc php7.4-imagick php7.4-intl
Peu aussi être condensé comme ceci:
# apt install php7.4-{cli,json,zip,gd,mbstring,curl,xml,bcmath,xmlrpc,imagick,intl}
Pour installer Apache Module for PHP, exécutez:
# apt install libapache2-mod-php7.4
Confirmer avec un:
# apt policy php7.4-cli
Installation de la base de données.
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 à partir du serveur HTTP Apache.
# apt install php7.4-mysql mariadb-server mariadb-client
Une fois la base de données MariaDB installée, démarrez le démon et sécurisez-la avec le script mysql_secure_installation, comme illustré dans l’extrait ci-dessous.Répondez principalement par oui à toutes les questions que le script vous invite. Assurez-vous également de choisir un mot de passe fort pour le compte root. Sachez 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 de chaque système Linux. Ces comptes ne se chevauchent jamais dans un système.
# systemctl start mariadb
# mysql_secure_installation
REMARQUE: L’UTILISATION DE TOUTES LES PARTIES DE CE SCRIPT EST RECOMMANDÉE POUR TOUTES LES MariaDB.
LES SERVEURS EN UTILISATION EN PRODUCTION! VEUILLEZ LIRE ATTENTIVEMENT CHAQUE ÉTAPE!
Pour vous connecter à MariaDB afin de le sécuriser, nous avons besoin de la version actuelle.
mot de passe pour l'utilisateur root. Si vous venez d'installer MariaDB, et
vous n'avez pas encore défini le mot de passe root, le mot de passe sera vide,
donc vous devriez juste appuyer sur entrer ici.
Entrez le mot de passe actuel pour root (entrez pour aucun):
OK, mot de passe utilisé avec succès, passe à autre chose ...
La définition du mot de passe root garantit que personne ne peut se connecter à MariaDB
utilisateur root sans l'autorisation appropriée.
Définir un mot de passe root? [Y / n] y
Nouveau mot de passe:
Ré-entrez 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 MariaDB a un utilisateur anonyme, permettant à quiconque
pour vous connecter à MariaDB sans avoir à créer un compte utilisateur pour
leur. Ceci est uniquement destiné aux tests et à l'installation
aller un peu plus lisse. Vous devriez les enlever avant de passer à un
environnement de production.
Supprimer les utilisateurs anonymes? [Y / n] y
... Succès!
Normalement, root ne devrait être autorisé à se connecter qu'à partir de 'localhost'. Ce
s'assure que quelqu'un ne peut pas deviner le mot de passe root du 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' que tout le monde peut
accès. Ceci est également destiné uniquement à des tests, et doit être supprimé
avant de passer dans un environnement de production.
Supprimer la base de données de test et y accéder? [Y / n] y
- Supprimer la base de données de test ...
... Succès!
- Suppression des privilèges sur la base de données de test ...
... Succès!
Le rechargement des tables de privilèges garantira que toutes les modifications apportées jusqu'à présent
entrera en vigueur immédiatement.
Recharger les tables de privilèges maintenant? [Y / n] y
... Succès!
Nettoyer...
Terminé! Si vous avez terminé toutes les étapes ci-dessus, votre MariaDB
l'installation devrait maintenant être sécurisée.
Merci d'avoir utilisé MariaDB!
Nous n’avons pas encore fini de sécuriser la base de données MariaDB. Par défaut, vous pouvez vous connecter à MariaDB à partir de localhost avec le compte racine de la base de données sans demander de mot de passe. Pour éviter d’éventuels problèmes de sécurité, connectez-vous à la base de données avec l’utilisateur root et exécutez les commandes suivantes.
# mysql -u root -p
MariaDB> use mysql;
MariaDB> update user set plugin='' where User='root';
MariaDB> flush privileges;
MariaDB> quit

Maintenant, testez la base de données en essayant de vous connecter avec un compte root sans le mot de passe. L’accès à la base de données MariaDB devrait vous être refusé.
Dans l’étape suivante, nous activerons et configurerons TLS et réécrirons les modules du serveur Web Apache, qui sont désactivés par défaut. Exécutez les commandes ci-dessous pour activer les deux modules.
# sudo a2enmod rewrite ssl
# sudo a2ensite default-ssl.conf
Ensuite, ouvrez les fichiers de configuration 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:
<Directory /var/www/html>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted
</Directory>

Dans le fichier de configuration TLS apache default-ssl.conf, vous pouvez également ajouter le contenu ci-dessous, s’il n’existe pas, afin d’améliorer la sécurité du protocole SSL Apache. Ces lignes de code devraient corriger les vulnérabilités SSL courantes.
SSLProtocol all -SSLv2 -SSLv3
# Add SSL Cipher in one long line
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

Si les lignes illustrées dans l’extrait ci-dessus existent déjà dans le fichier de configuration SSL Apache, veillez à les modifier pour qu’elles ressemblent à celles décrites ci-dessus. Pour appliquer ces paramètres, activez le module d’entêtes Apache et redémarrez le service en exécutant les commandes suivantes:
# sudo a2enmod headers
# systemctl restart apache2
Pour un site Web de production, l’activation du module Apache TLS doit être obligatoire, car WordPress CMS génère principalement du contenu dynamique via une 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 intervenant peut intercepter le trafic mais ne peut pas déchiffrer le contenu, car les informations ne sont pas fournies en texte brut.
Une fois que vous avez apporté toutes les modifications ci-dessus, testez la configuration d’Apache afin de détecter les erreurs de syntaxe potentielles. Si tout va bien, redémarrez les démons LAMP afin de refléter toutes les modifications apportées jusqu’à présent et d’activer les services à l’échelle du système en exécutant les commandes suivantes.
# sudo apache2ctl -t
# systemctl restart apache2 mariadb
# systemctl enable apache2 mariadb
Enfin, vérifiez si les services Apache et MariaDB ont ouvert des ports en état d’écoute en lançant la commande netstat et en filtrant la sortie à l’aide de egrep. À présent, le serveur Web Apache devrait disposer des ports 80 et 443 (correspondant aux protocoles HTTP et https) généralement exposés et MariaDB devrait être ne lie que sur localhost: socket 3306. Utilisez la commande
-n avec netstat pour supprimer l’affichage des noms de services.
$ netstat -tlp| egrep 'http|mysql'

Pour vous assurer que votre serveur Web est accessible depuis Internet via les protocoles HTTP et HTTPS, ouvrez un navigateur et accédez à 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 devez accepter l’erreur TLS et continuer à naviguer vers la page Web par défaut, comme illustré ci-dessous.


Si vous ne pouvez pas accéder à la page Web par défaut de votre domaine sur Internet, vous devez tout d’abord vérifier si certaines règles de pare-feu du système bloquent les demandes ou assurez-vous que les ports appropriés du routeur sont transférés dans votre réseau local interne au cas où le serveur est installé derrière un ordinateur. Réseau NAT-ed. Vous pouvez é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 si les enregistrements ont fini de se propager sur Internet.
Afin de vérifier si PHP fonctionne comme prévu sur le serveur, créez un PHP php dans /var/www/html/ system path, qui est le chemin racine du document Web par défaut du serveur Web Apache, en exécutant la commande ci-dessous et accédez à l’URI suivant à partir du navigateur pour obtenir le résultat:http://www.votredomaine.com/info.php
$ echo '<?php phpinfo(); ?>' > /var/www/html/info.php

Installer WordPress 6.0
Maintenant que la pile LAMP est entièrement configurée, l’installation de WordPress CMS 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 disposant du mot de passe approprié pour installer et gérer le CMS WordPress, en exécutant les commandes ci-dessous. N’hésitez pas à remplacer le nom de la base de données et les informations d’identification de la base de données pour répondre à vos propres besoins.
$ mysql -u root -p
MariaDB> CREATE DATABASE wordpress;
MariaDB> GRANT ALL PRIVILEGES ON wordpress.* TO 'wordpress-user'@'localhost' IDENTIFIED BY 'wordpress-pass';
MariaDB> FLUSH PRIVILEGES;

Ensuite, téléchargez la dernière archive WordPress à partir du site officiel à l’aide de l’utilitaire wget extrayez l’archive compressée à l’aide de l’utilitaire tar. Copiez les fichiers d’installation dans le chemin racine du document du serveur Web Apache en exécutant les commandes ci-dessous. Assurez-vous également de supprimer la page Web index.html par défaut.
$ cd /tmp
Pour la dernière version en français (version 6.0)
$ wget https://fr.wordpress.org/latest-fr_FR.tar.gz
$ tar xfz latest-fr_FR.tar.gz
$ cp -rf wordpress/* /var/www/html/
$ rm /var/www/html/index.html

Modifiez les autorisations du chemin d’accès à la racine Web Apache comme décrit ci-dessous afin d’octroyer des autorisations d’écriture complètes au groupe de données www du serveur Web 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 sont le répertoire de téléchargement et le fichier
.htaccess, qui peuvent être utilisés pour contrôler et étendre les fonctionnalités d’Apache.
$ chmod -R 775 /var/www/html/
$ chgrp -R www-data /var/www/html/
ls -al /var/www/html

Maintenant que tout est en place, commençons par installer WordPress. Le processus d’installation sera effectué à partir du navigateur. Ouvrez un navigateur et visitez votre domaine via le protocole HTTPS. Sur le premier écran de l’installation ** cliquez sur le** bouton Let’s go pour lancer l’installation.

Dans l’écran d’installation suivant, ajoutez le nom de la base de données, les informations d’identification d’accès à la base de données et l’hôte de base de données que vous avez créé précédemment pour l’installation de WordPress, puis 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 le fichier manuellement à une date ultérieure à des fins spéciales pour WordPress.

Sur l’écran suivant, cliquez sur Exécuter le bouton d’installation et indiquez le titre de votre site Web, les informations d’identification de l’administrateur du site Web et l’adresse électronique. Un mot de passe fort doit ê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.


Enfin, une fois l’installation terminée, connectez-vous au tableau de bord WordPress avec les informations d’identification créées au cours du processus d’installation et commencez à gérer votre propre site Web.


Connectez-vous à WordPress backend.


Modification d’un article dans le nouvel éditeur WordPress Gutenberg.

WordPress 6.0 Frontend avec le nouveau thème TwentyNineteen.
Toutes nos félicitations! Vous avez correctement installé la dernière version de WordPress CMS sur le paquet de logiciels LAMP dans Debian 11, nom de code Stretch.
Traduction de: https://www.howtoforge.com/tutorial/install-wordpress-5-with-apache-on-debian-
Traduction de : https://computingforgeeks.com/how-to-install-php-7-3-on-debian-9-debian-8/

