Aller au contenu

AS213941 · Peering-20 % sur tous les VPS avec le code NVH20 · Livraison en 60 secondes

VPS LinuxDès 2,49 €/moisVPS WindowsDès 3,49 €/moisServeur FiveMDès 0,99 €/moisServeur MinecraftDès 1,99 €/mois
VPS & Cloud

Gammes

VPS Linux NVMeAccès root, Debian, Ubuntu, Alma…VPS Windows RDPBureau à distance, licence incluseServeurs dédiésIntel Xeon Gold, ressources exclusivesVPS PterodactylPanel de jeux préinstallé

Réseau et hébergement

Anti-DDoSHébergement webHousingTransit IPVPN

Professionnels

VPS revendeurProgramme revendeur
Solutions

Bots et automatisation

VPS agents IAUn serveur pour vos assistants de code et agents autonomesVPS OllamaVotre IA privée sans GPU, données en FranceVPS bot TelegramPython ou Node.js, toujours joignableVPS bot DiscordMusique, modération, tickets : sans interruptionVPS n8nWorkflows sans limite d'exécutionsVPS VPNUn tunnel chiffré qui sort par la FranceVPS web scrapingCollecte de données planifiée, IP dédiée

Trading

VPS ForexVos robots gèrent les positions la nuitVPS MetaTrader 4Plusieurs terminaux MT4 sur une machineVPS MetaTrader 5Forex, indices et actions dans MT5VPS NinjaTraderFutures et stratégies NinjaScriptVPS prop firmChallenges et comptes financés, terminal toujours en ligneVPS trading AfriqueMetaTrader à Paris, depuis le Maghreb ou l'Afrique de l'OuestVPS RDPBureau à distance Windows, toujours alluméVPS bot de tradingBots crypto open source, clés API protégées

Bureau Windows

VPS Windows 10Pour vos logiciels qui exigent Windows 10VPS Windows 11Le poste Windows récent, accessible partoutVPS SEOCrawls de gros sites sans bloquer votre PCVPS streamingUn studio OBS qui diffuse depuis le datacenterVPS WordPressSites rapides sur disque NVMe
Marketplace

Intelligence artificielle

OllamaDes modèles de langage locaux, sans API externeOpen WebUIUne interface de discussion pour vos modèles OllamaAnythingLLMAssistant IA privé sur vos documents (PDF, sites, notes) : espaces de travail, recherche…LangflowÉditeur visuel Langflow pour construire agents, flux RAG et API d'IA, protégé par votre…FlowiseCréez visuellement vos agents et chatbots IA (LangChain, RAG, outils) avec Flowise, votre…QdrantBase de données vectorielle Qdrant pour vos projets RAG et de recherche sémantique, API…

Trading

MetaTrader 5Terminal MetaTrader 5 officiel (MetaQuotes) installé en mode portable, raccourci sur le…MetaTrader 4Terminal MetaTrader 4 officiel (MetaQuotes) installé en mode portable, raccourci sur le…Pack VPS Forex (MT4 + MT5)MetaTrader 4 et MetaTrader 5 installés ensemble, chacun dans son dossier portable, VPS…NinjaTrader 8Plateforme NinjaTrader 8 avec ses prérequis (.NET 4.8, WebView2) : installée à partir du…FreqtradeRobot de trading crypto open source avec son interface FreqUI, installé en mode…Interactive Brokers TWS / IB GatewayTrader Workstation ou IB Gateway (pour l'API et les robots) d'Interactive Brokers…

Bots et agents

Claude CodeL'agent de code d'Anthropic, dans votre terminalCodex CLIL'agent de code d'OpenAI en ligne de commandeBot TelegramHébergez votre bot Telegram (Python, Node.js ou Bun) : votre code depuis Git ou une…Bot DiscordHébergez votre bot Discord (discord.py, discord.js, Bun…) : votre code depuis Git ou une…OpenClawAssistant IA personnel open source OpenClaw, actif 24 h/24 : discutez avec lui sur…Hermes AgentAgent IA autonome open source de Nous Research, avec mémoire et compétences qui…

Déploiement et automatisation

DockerLe moteur de conteneurs et Docker Composen8nVos automatisations, sans limite d'exécutionsPortainerGérez vos conteneurs Docker depuis le navigateurCoolifyDéployez vos applications depuis Git, sur votre serveurUptime KumaSurveillez vos sites et serveurs, alertes comprises

Sites et bases de données

WordPressLe CMS le plus utilisé, sur une pile Nginx rapideApache + PHP + MySQLServeur web prêt à héberger vos sites : Apache2, PHP et ses extensions courantes, MariaDB…MySQL (MariaDB)Serveur de base de données MariaDB compatible MySQL, avec votre base et votre…PleskPanel d'hébergement Plesk Obsidian installé avec ses composants recommandés : sites…NextcloudVotre cloud de fichiers, agenda et contacts

Réseau et sécurité

WireGuardVotre VPN chiffré, préinstallé en option payanteVaultwardenUn gestionnaire de mots de passe auto-hébergé

Serveurs de jeu

FiveMServeur FiveM (FXServer + txAdmin), MariaDB et phpMyAdmin installés et configurés, sous…MinecraftServeur Minecraft Java Edition clé en main : Paper, Purpur, Fabric, NeoForge, Forge ou…RustServeur Rust (Facepunch) avec LinuxGSM : mises à jour automatiques, redémarrage après…Counter-Strike 2Serveur Counter-Strike 2 dédié avec LinuxGSM (environ 60 Go à télécharger), jeton GSLT…PalworldServeur Palworld dédié avec LinuxGSM : nom, mot de passe, nombre de joueurs et mot de…ValheimServeur Valheim dédié avec LinuxGSM, protégé par mot de passe (exigé par le jeu)…
Gaming

Serveurs de jeux

Serveur FiveMtxAdmin, ESX, QBCoreServeur MinecraftJava, Bedrock, modpacksServeur RustOxide, Carbon, wipesServeur Nova-LifeRP Nova-Life: Amboise

Protection et outils

Anti-DDoS FiveMOutils gratuits
Ressources

Apprendre

DocumentationBlog

Assistance

ContactEngagement SLA
Voir les offres Espace client Peering · AS213941

Installation

Installer WordPress sur un VPS avec Nginx, MariaDB et PHP 8.3

Par Équipe NVHCloud 2026-09-18 Lecture : 5 min

Ce guide installe WordPress sur un VPS vierge avec la pile la plus performante à ressources égales : Nginx, PHP-FPM 8.3 et MariaDB. Comptez une vingtaine de minutes. Les commandes sont écrites pour Ubuntu 24.04 LTS, qui fournit PHP 8.3 par défaut ; les différences avec Debian 12 sont signalées.

Vous préférez une interface graphique ? Un hébergement avec Plesk installe WordPress en un clic : voyez notre hébergement web. Et si vous hésitez sur la taille du serveur, lisez d'abord quel VPS pour héberger WordPress.

1. Prérequis

  • Un VPS avec au moins 2 Go de RAM (4 Go conseillés pour un site professionnel), fraîchement installé.
  • Un accès root en SSH. Si ce n'est pas encore fait, suivez les premiers pas sur votre VPS.
  • Un nom de domaine dont l'enregistrement A pointe vers l'adresse IP du VPS. Voir configurer les DNS.

Dans tout le guide, remplacez monsite.fr par votre domaine.

2. Installer Nginx, MariaDB et PHP 8.3

apt update && apt upgrade -y
apt install -y nginx mariadb-server \
  php8.3-fpm php8.3-mysql php8.3-curl php8.3-gd php8.3-intl \
  php8.3-mbstring php8.3-xml php8.3-zip php8.3-bcmath php-imagick

Ces extensions couvrent ce que WordPress demande dans son écran « Santé du site » : intl pour les langues, gd et imagick pour les images, zip pour installer des extensions depuis l'administration.

💡 Sur Debian 12, la version fournie est PHP 8.2 : remplacez php8.3 par php8.2 partout dans ce guide, ou ajoutez le dépôt de Sury pour obtenir PHP 8.3. WordPress recommande PHP 8.3 ou plus récent.

Sécurisez ensuite MariaDB : cette commande supprime les comptes anonymes et la base de test.

mariadb-secure-installation

Répondez Y à toutes les questions. Sur Ubuntu, le compte root de MariaDB s'authentifie par le système : mariadb lancé en root ne demande pas de mot de passe, et c'est voulu. Pour aller plus loin, voir sécuriser MariaDB.

3. Créer la base de données

Générez d'abord un mot de passe robuste, puis créez une base et un utilisateur dédiés à ce site :

openssl rand -base64 24
mariadb
CREATE DATABASE monsite CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'monsite'@'localhost' IDENTIFIED BY 'LE_MOT_DE_PASSE_GENERE';
GRANT ALL PRIVILEGES ON monsite.* TO 'monsite'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Un utilisateur par site : si un site est compromis, l'attaquant n'accède pas aux bases des autres.

4. Télécharger et configurer WordPress

cd /var/www
wget https://wordpress.org/latest.tar.gz
tar xzf latest.tar.gz && rm latest.tar.gz
mv wordpress monsite.fr
cd monsite.fr
cp wp-config-sample.php wp-config.php

Ouvrez wp-config.php et renseignez DB_NAME, DB_USER et DB_PASSWORD. Remplacez ensuite le bloc des clés de sécurité (les lignes AUTH_KEY à NONCE_SALT) par des valeurs uniques, générées par le service officiel :

curl -s https://api.wordpress.org/secret-key/1.1/salt/

Ajoutez aussi ces deux lignes au-dessus de /* That's all, stop editing! */ :

define('DISABLE_WP_CRON', true);   // remplace par un vrai cron, voir étape 8
define('DISALLOW_FILE_EDIT', true); // pas d'éditeur de code dans l'administration

Donnez enfin les fichiers à l'utilisateur du serveur web :

chown -R www-data:www-data /var/www/monsite.fr
find /var/www/monsite.fr -type d -exec chmod 755 {} \;
find /var/www/monsite.fr -type f -exec chmod 644 {} \;
chmod 640 /var/www/monsite.fr/wp-config.php

5. Configurer Nginx

Créez le fichier /etc/nginx/sites-available/monsite.fr :

server {
    listen 80;
    listen [::]:80;
    server_name monsite.fr www.monsite.fr;
    root /var/www/monsite.fr;
    index index.php;
    client_max_body_size 64M;
    location / {
        try_files $uri $uri/ /index.php?$args;
    }
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php8.3-fpm.sock;
    }
    # fichiers sensibles
    location ~ /\.(?!well-known) { deny all; }
    location = /xmlrpc.php { deny all; }
    location ~* /(?:uploads|files)/.*\.php$ { deny all; }
    location ~* \.(?:css|js|jpe?g|png|gif|webp|avif|svg|ico|woff2?)$ {
        expires 30d;
        add_header Cache-Control "public";
        access_log off;
    }
}

Trois règles méritent une explication. Le \. dans \.php$ est important : sans l'antislash, le point accepte n'importe quel caractère. Le blocage de xmlrpc.php coupe une porte d'entrée très utilisée pour les attaques par force brute ; retirez-le seulement si vous utilisez l'application mobile WordPress ou Jetpack. Enfin, aucun fichier PHP ne doit pouvoir s'exécuter depuis le dossier des médias envoyés.

ln -s /etc/nginx/sites-available/monsite.fr /etc/nginx/sites-enabled/
rm -f /etc/nginx/sites-enabled/default
nginx -t && systemctl reload nginx

6. Régler PHP

Les limites par défaut de PHP bloquent l'envoi de médias de plus de 2 Mo. Créez un fichier de surcharge plutôt que de modifier php.ini : il survit aux mises à jour.

cat > /etc/php/8.3/fpm/conf.d/99-wordpress.ini <<'EOF'
upload_max_filesize = 64M
post_max_size = 64M
memory_limit = 256M
max_execution_time = 120
EOF
systemctl restart php8.3-fpm

Gardez upload_max_filesize aligné avec client_max_body_size dans Nginx, sinon c'est la plus petite des deux valeurs qui s'applique.

7. Activer HTTPS

apt install -y certbot python3-certbot-nginx
certbot --nginx -d monsite.fr -d www.monsite.fr --redirect

Certbot obtient le certificat, ajoute la configuration HTTPS et redirige le HTTP. Le renouvellement est automatique. Détails et dépannage dans Nginx et Let's Encrypt.

8. Finaliser l'installation

Ouvrez https://monsite.fr : l'assistant WordPress vous demande le nom du site et le compte administrateur. Choisissez un identifiant qui n'est pas admin et un mot de passe long.

Mettez ensuite en place le cron système, déclaré à l'étape 4. Par défaut, WordPress lance ses tâches planifiées pendant les visites, ce qui ralentit certaines pages et ne s'exécute pas quand le site n'a pas de trafic.

echo '*/5 * * * * www-data /usr/bin/php /var/www/monsite.fr/wp-cron.php >/dev/null 2>&1' > /etc/cron.d/wordpress-monsite

Enfin, dans Réglages → Permaliens, choisissez « Titre de la publication » : des adresses lisibles sont meilleures pour le référencement.

9. Sécuriser et optimiser

Le site fonctionne. Voici ce qui le rend durable, par ordre de priorité :

  1. Pare-feu : seuls les ports SSH, 80 et 443 ouverts. Voir configurer UFW.
  2. SSH par clé et connexion root désactivée. Voir sécuriser SSH.
  3. Fail2ban sur SSH et sur wp-login.php. Voir Fail2ban avancé.
  4. Sauvegardes quotidiennes hors du serveur, fichiers et base. Voir sauvegardes avec Borg.
  5. Performances : OPcache, cache de pages Nginx et Redis. Voir optimiser PHP-FPM et le cache Nginx.
💡 Vous déménagez un site existant plutôt que d'en créer un ? Suivez notre procédure migrer WordPress vers un VPS sans coupure à la place des étapes 4 et 8.

Questions fréquentes

Faut-il MySQL ou MariaDB pour WordPress ?

Les deux fonctionnent. WordPress recommande MySQL 8.0 ou plus, ou MariaDB 10.11 ou plus. MariaDB est la base fournie par défaut sur Debian et Ubuntu, elle est compatible avec WordPress sans aucune modification, et c'est le choix le plus simple sur un VPS.

Pourquoi Nginx plutôt qu'Apache ?

Nginx consomme moins de mémoire par connexion et sert les fichiers statiques plus efficacement, ce qui compte sur un VPS de petite taille. Apache reste un bon choix si vous dépendez de fichiers .htaccess, que Nginx ne lit pas : avec Nginx, les règles de réécriture se placent dans la configuration du serveur.

Combien de sites WordPress peut-on installer sur un VPS ?

Autant que la mémoire le permet. Répétez les étapes 3 à 7 pour chaque site, avec une base, un utilisateur, un dossier et un fichier Nginx distincts. Un VPS de 4 Go accueille confortablement plusieurs petits sites avec un cache actif.

Comment mettre à jour WordPress sur un VPS ?

Depuis l'administration, comme sur n'importe quel hébergement, puisque les fichiers appartiennent à l'utilisateur du serveur web. Faites une sauvegarde avant chaque mise à jour majeure. Pour gérer plusieurs sites en ligne de commande, l'outil WP-CLI permet de tout mettre à jour avec une seule commande.

VPS Windows

Bureau à distance et licence incluse, dès 3,49 €/mois.