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.
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;
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
- Lancer l’assistant
Ouvrir
http://site.lab.lan. - Base de données
Nom
wordpress, utilisateurwpuser, mot de passe défini à l’étape 4, hôtelocalhost. - 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 |