Installation de LAMP + WordPress
Prérequis :
Machine sous Debian 12
Un accès internet
Objectif :
Installer la suite Linux, Apache, Mariadb, PHP et WordPress sur notre machine.
Date de réalisation :
Novembre 2023
Compétence concernées :
Développer la présence en ligne de l’organisation
Travailler en mode projet
Mettre à disposition des utilisateurs un service informatique
Organiser son développement professionnel
Mises à jours des paquets
Avant l'installation, nous mettons à jours tous les paquets de la machine hôte.


Installation de Apache2
Installations du paquet Apache2 afin de pouvoir accueillir une page web au sein de notre réseau local.


Lancement d'Apache2
Exécution d'une commande qui active Apache2 à chaque démarrage de la machine.


IP de la machine
Nous récupérons l'adresse IP de notre machine. Celle-ci servira à se connecter à l'interface web de la machine.


Navigateur web
Dans un navigateur web nous entrons l'IP en suivant le schéma suivant : http://IP_de_l'hôte Si notre configuration est opérationnelle nous obtenons cette page.


Activation du mode rewrite
Activation du mode rewrite de Apache2 qui sert à créer et appliquer des règles dynamiques pour gérer les routes. Par exemple réécrire une URL pour la rendre plus lisible (/article/42 au lieu de /index.php?id=42)


Activation du mode deflate
Activation du mode deflate de Apache2 qui sert à compresser certains fichier avant de les envoyer aux navigateurs (HTML,CSS) et réduis la taille des réponses HTTP afin d'économiser de la bande passante.


Activation du mode headers
Activation du mode headers de Apache2 qui sert à sécuriser les entêtes des requêtes HTTP.


Activation du mode SSL
Activation du mode SSL de Apache2 qui sert à activer le protocole HTTPS sur notre serveur avec un certificat. Les échanges seront alors chiffrés entre les clients et l'hôte.


Redémarrer Apache2
Après avoir activé plusieurs modes d'Apache2, nous devons relancer celui-ci afin qu'ils soient pris en compte.


Installation de PHP
Installation du paquet PHP qui va permettre de traiter les scripts intégrés aux pages ".php".


Installation de paquets liés à PHP
Ces paquets permettent d’étendre les fonctionnalités de PHP, notamment pour faire tourner des applications web comme WordPress. Ils ajoutent le support pour interagir avec des bases de données (Mariadb), manipuler des fichiers, gérer les encodages de texte.


Création de phpinfo.php
Ce fichier va nous permettre de nous assurer que le moteur de script PHP est bien actif.


Rédaction du fichier phpinfo.php
Dans ce fichier, nous indiquons le code suivant. Celui-ci va permettre d'afficher sur notre page web toute la configuration PHP de notre serveur.


Vérification
Dans notre navigateur, nous entrons l'URL suivante http://IP_de_la_machine/phpinfo.php Cette page devrait alors s'afficher.


Installation de Mariadb-server
Installation du paquet Mariadb-server, celui-ci va permettre de créer une base de données dédiées à notre site WordPress.


Sécurisation de notre installation
Afin de sécuriser un minimum notre installation, nous effectuons la commande suivante.


Configuration de Mariadb
Nous définissons les paramètres de sécurités pour Mariadb, nous allons par exemple pouvoir définir un mot de passe pour le compte "root" de MariaDB, empêcher les connexions distantes sur votre instance à l'aide du compte "root", empêcher les connexions anonymes et supprimer la base de test.


Création d'une base de données
Nous nous connectons au service Mariadb en root afin de créer une base de données qui sera dédiée au service WordPress.


Création d'un utilisateur
Création d'un utilisateur qui sera lié à la base de données fraichement créée.


Attributions des droits
Attributions des droits du nouvel utilisateur sur la base de données dédiée à WordPress.


Recharger les droits
À l'aide de la commande suivante, nous allons recharger les droits d'accès des utilisateurs sans avoir à redémarrer le service Mariadb.


Répertoire temporaire
Nous nous rendons dans le répertoire /tmp pour télécharger la dernière version de WordPress. Ainsi, lors d'un prochain redémarrage de la machine, le .zip de WordPress sera supprimé automatiquement.


Téléchargement de WordPress
Nous téléchargeons WordPress à l'aide de la dernière version disponible sur GitHub.


Décompression de WordPress
Nous décompressons WordPress dans /var/www/html en lui indiquant le répertoire de destination avec -d.


Changement de répertoire
Tous les fichiers ont été extraits dans le répertoire /var/www/html/wordpress, comme le montre la capture d'écran précédente. Cela pose un problème, car pour accéder à notre site, il faudrait utiliser l'URL http://IP_de_la_machine/wordpress/. Pour corriger cela, nous déplaçons donc l'ensemble des fichiers contenus dans le dossier ./wordpress directement dans /var/www/html/.


Changement de propriétaire
Cette commande donne la propriété complète du site web à Apache2 pour s’assurer qu’il puisse lire (et écrire si besoin) tous les fichiers dans /var/www/html/.


Première connexion
Nous nous rendons à nouveau sur http://IP_de_la_machine et sélectionnons la langue qui sera utilisée dans WordPress.


Lien entre Mariadb et WordPress
Nous indiquons à WordPress les informations de notre base de données créée avec Mariadb afin qu'ils se lient.


Lancer l'installation
Une fois les informations de la base de données indiqués, nous pouvons lancer l'installation.


Création de l'admin WordPress
Nous sommes invité à créer l'administrateur de WordPress ainsi que le nom de notre site internet.


Fin de l'installation
L'installation est presque finit. Nous allons pouvoir nous connecter sur notre nouveau compte administrateur.


Première connexion
Nous sommes invité à notre connecter pour la première fois avec les identifiants administrateur de WordPress.


Interface administrateur
Nous arrivons sur l'interface administrateur.


Suppression fichier
Nous supprimons le fichier "wp-config-sample.php" qui est un exemple de configuration WordPress. Celui-ci n'a plus d'intérêt.


Changement de permissions
Cette commande change les permissions du fichier "wp-config-php" pour le rendre accessible en lecture uniquement par le propriétaire et inaccessible pour le reste des utilisateurs. Cette action est primordiale car ce fichier contient les identifiants de l'administrateur de la base de données ainsi que des paramètres critiques du site.

