Accueil/Documentation/Web/Comment héberger un site WordPress sur un VPS (Stack LEMP)
WebDifficulté : Intermédiaire14 min de lecture

Comment héberger un site WordPress sur un VPS (Stack LEMP)

Introduction

Héberger WordPress sur votre propre VPS vous offre des performances bien supérieures à un hébergement mutualisé classique et un contrôle total sur votre configuration. Nous utiliserons une stack LEMP — Linux, Nginx (au lieu d'Apache), MariaDB et PHP-FPM — réputée pour sa rapidité et sa faible consommation de ressources. Ce guide couvre l'installation complète sur Debian ou Ubuntu, jusqu'à la sécurisation HTTPS.

1

1. Installer Nginx, MariaDB et PHP-FPM

Mettez à jour le système puis installez les trois composants de la stack LEMP ainsi que les extensions PHP requises par WordPress (mysql, gd, curl, xml, mbstring, zip...).

terminal - bash
sudo apt update && sudo apt upgrade -y

# Installer Nginx, MariaDB et PHP-FPM avec les extensions WordPress
sudo apt install -y nginx mariadb-server php-fpm php-mysql php-curl php-gd php-xml php-mbstring php-zip php-intl

# Activer les services
sudo systemctl enable --now nginx mariadb

Conseil important

Vérifiez la version de PHP installée avec 'php -v'. Notez-la (ex: 8.2) car vous en aurez besoin pour le chemin du socket PHP-FPM à l'étape 4.

2

2. Sécuriser MariaDB et créer la base de données

Lancez l'assistant de sécurisation de MariaDB, puis créez une base de données dédiée à WordPress ainsi qu'un utilisateur disposant des droits sur celle-ci.

terminal - bash
# Assistant de sécurisation (définir un mot de passe root, supprimer les comptes anonymes)
sudo mysql_secure_installation

# Se connecter à MariaDB
sudo mysql -u root -p

# Dans la console SQL :
CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'wp_user'@'localhost' IDENTIFIED BY 'MOT_DE_PASSE_SOLIDE';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wp_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Conseil important

Remplacez 'MOT_DE_PASSE_SOLIDE' par un mot de passe robuste et conservez-le : il sera demandé lors de la configuration de WordPress.

3

3. Télécharger et préparer WordPress

Téléchargez la dernière version de WordPress, extrayez-la dans le répertoire web et attribuez les bonnes permissions à l'utilisateur du serveur web (www-data).

terminal - bash
cd /tmp
curl -O https://fr.wordpress.org/latest-fr_FR.tar.gz
tar -xzvf latest-fr_FR.tar.gz

# Déplacer WordPress dans le dossier web
sudo mv wordpress /var/www/votre-domaine.com

# Attribuer les permissions à Nginx
sudo chown -R www-data:www-data /var/www/votre-domaine.com
sudo find /var/www/votre-domaine.com -type d -exec chmod 755 {} \;
sudo find /var/www/votre-domaine.com -type f -exec chmod 644 {} \;

Conseil important

Pour la version anglaise, remplacez 'fr.wordpress.org/latest-fr_FR.tar.gz' par 'wordpress.org/latest.tar.gz'.

4

4. Configurer le bloc serveur Nginx

Créez un fichier de configuration Nginx (virtual host) pour votre site. Il indique la racine du site, gère les permaliens WordPress et transmet les fichiers PHP à PHP-FPM.

terminal - bash
sudo nano /etc/nginx/sites-available/votre-domaine.com

# Collez la configuration suivante (adaptez le domaine et la version PHP) :
server {
    listen 80;
    server_name votre-domaine.com www.votre-domaine.com;
    root /var/www/votre-domaine.com;
    index index.php index.html;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php8.2-fpm.sock;
    }

    location ~ /\.ht {
        deny all;
    }
}

Conseil important

Adaptez 'php8.2-fpm.sock' à la version de PHP installée à l'étape 1. Vérifiez le nom exact du socket avec 'ls /run/php/'.

5

5. Activer le site et tester Nginx

Activez votre configuration via un lien symbolique, désactivez le site par défaut, testez la syntaxe de Nginx puis rechargez le service.

terminal - bash
# Activer le site
sudo ln -s /etc/nginx/sites-available/votre-domaine.com /etc/nginx/sites-enabled/

# Désactiver le site par défaut
sudo rm -f /etc/nginx/sites-enabled/default

# Tester la configuration et recharger
sudo nginx -t
sudo systemctl reload nginx

Conseil important

Si 'nginx -t' renvoie une erreur, relisez votre fichier de configuration : une accolade ou un point-virgule manquant en est souvent la cause.

6

6. Sécuriser avec un certificat SSL et finaliser

Installez Certbot pour obtenir un certificat SSL Let's Encrypt gratuit avec redirection HTTPS automatique. Terminez ensuite l'installation depuis votre navigateur.

terminal - bash
sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d votre-domaine.com -d www.votre-domaine.com

# Ouvrez ensuite votre site dans le navigateur :
# https://votre-domaine.com
# et suivez l'assistant d'installation WordPress.

Conseil important

L'assistant WordPress vous demandera le nom de la base ('wordpress'), l'utilisateur ('wp_user') et le mot de passe créés à l'étape 2.

En conclusion

Votre site WordPress tourne désormais sur une stack LEMP rapide et sécurisée, entièrement sous votre contrôle. Vous bénéficiez de la puissance du stockage NVMe et du réseau de votre VPS UnioHost pour offrir une expérience fluide à vos visiteurs.

WordPress sans la maintenance ?

Notre hébergement web Plesk installe WordPress en 1 clic avec SSL et emails pro inclus, dès 0,50€/mois.

Voir l’hébergement web

Foire Aux Questions (FAQ)

Nginx gère mieux les fortes charges et la concurrence avec une empreinte mémoire réduite. Couplé à PHP-FPM et à un cache, il offre d'excellents temps de réponse, idéal pour un VPS où les ressources sont précieuses.
Installez un plugin de cache (W3 Total Cache, WP Super Cache ou LiteSpeed Cache), activez la compression Gzip/Brotli dans Nginx, utilisez un CDN et maintenez PHP à jour (8.2 ou 8.3 sont nettement plus rapides que les versions 7.x).
Vérifiez que les identifiants saisis dans wp-config.php correspondent exactement à ceux créés dans MariaDB, et que le service MariaDB est bien actif ('sudo systemctl status mariadb').