Installation de WordPress sur une pile LAMP

Installation d’Apache, PHP et MariaDB sur Debian, création d’une base dédiée, déploiement de WordPress, hôte virtuel et sécurisation de base.

  • Publié le
  • Mis à jour
  • Lecture3 min
  • ContexteCentre de formation
  • NiveauDébutant
  • Durée45 min
  • EnvironnementDebian · Apache · PHP · MariaDB

Installation d’Apache, PHP et MariaDB sur Debian, création d’une base dédiée, déploiement de WordPress, hôte virtuel et sécurisation de base.

1. Objectif

Héberger un site WordPress sur une pile LAMP (Linux, Apache, MariaDB, PHP) maîtrisée de bout en bout, avec un compte de base de données limité au site.

2. Prérequis

  • Une Debian à jour avec une adresse IP fixe et un accès root.
  • Un nom DNS pointant vers le serveur (exemple : site.lab.lan).

3. Pile LAMP

apt update
apt install -y apache2 mariadb-server php libapache2-mod-php php-mysql php-cli php-curl php-gd php-mbstring php-xml php-zip php-intl
systemctl enable --now apache2 mariadb

Vérifier que la page par défaut d’Apache s’affiche sur http://<ip_du_serveur>, puis sécuriser MariaDB :

mysql_secure_installation

4. Base de données

mysql -u root -p
CREATE DATABASE wordpress CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'wpuser'@'localhost' IDENTIFIED BY '<mot_de_passe>';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'localhost';
FLUSH PRIVILEGES;
Note

Le compte wpuser n’a de droits que sur la base du site et ne peut se connecter qu’en local : c’est le principe du moindre privilège.

5. Déploiement de WordPress

cd /tmp
wget https://fr.wordpress.org/latest-fr_FR.tar.gz
tar -xzf latest-fr_FR.tar.gz
mkdir -p /var/www/site
cp -r wordpress/* /var/www/site/
chown -R www-data:www-data /var/www/site
find /var/www/site -type d -exec chmod 755 {} \;
find /var/www/site -type f -exec chmod 644 {} \;

6. Hôte virtuel

Fichier /etc/apache2/sites-available/site.conf :

<VirtualHost *:80>
    ServerName site.lab.lan
    DocumentRoot /var/www/site
    <Directory /var/www/site>
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>
a2enmod rewrite
a2ensite site
a2dissite 000-default
systemctl reload apache2

7. Assistant d’installation

  1. Lancer l’assistant

    Ouvrir http://site.lab.lan.

  2. Base de données

    Nom wordpress, utilisateur wpuser, mot de passe défini à l’étape 4, hôte localhost.

  3. Compte administrateur

    Choisir un identifiant qui n’est pas « admin » et un mot de passe robuste.

8. Sécurisation

  • Passer le site en HTTPS (Let’s Encrypt ou autorité interne).
  • Activer les mises à jour automatiques du cœur et garder extensions et thèmes à jour.
  • Supprimer les extensions et thèmes inutilisés.
  • Mettre en place une sauvegarde régulière des fichiers et de la base.

9. Vérifications

Contrôle Critère attendu
Services systemctl status apache2 mariadb : active (running)
Site La page d’accueil s’affiche sur le nom prévu
Administration Connexion possible à /wp-admin
Santé du site Outils → Santé du site : aucune erreur critique
Retour en haut