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.