ACLClouds
ACLClouds

Héberger un site WordPress sur un VPS Linux

Nginx, PHP-FPM, base MariaDB, wp-config.php et sauvegardes : ce qu’il faut installer pour héberger WordPress soi-même.

Sur un VPS, WordPress n’est pas une option déjà installée : vous montez la pile vous-même. Un serveur web, PHP et une base de données suffisent. En échange, vous gardez la main sur la configuration, les versions et les sauvegardes.

  • WordPress sur VPS repose sur Nginx, PHP-FPM et MariaDB : vous installez et maintenez les trois.
  • Une base dédiée par site et des droits limités réduisent l’impact d’une faille.
  • Sauvegardez les fichiers et la base ensemble, et copiez les sauvegardes hors du serveur.

Installer la pile logicielle

WordPress a besoin de trois briques : un serveur web (Nginx dans cet exemple), PHP avec son gestionnaire FPM, et une base MariaDB ou MySQL. Sur un VPS, c’est vous qui installez et mettez à jour ces composants.

  • sudo apt update && sudo apt install -y nginx mariadb-server php-fpm php-mysql php-curl php-gd php-mbstring php-xml php-zip php-intl unzip
  • php -v donne la version de PHP, et ls /run/php/ montre le socket FPM, par exemple php8.3-fpm.sock.
  • sudo mysql_secure_installation supprime les accès anonymes et fixe le mot de passe administrateur de la base.

Créer la base et télécharger WordPress

Une base dédiée, avec un utilisateur qui n’a accès qu’à elle, limite les dégâts en cas de faille. Le code se télécharge depuis le site officiel de WordPress et se place dans le dossier web.

  • sudo mysql -e "CREATE DATABASE wp_exemple CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; CREATE USER 'wp_user'@'localhost' IDENTIFIED BY 'mot-de-passe-long'; GRANT ALL ON wp_exemple.* TO 'wp_user'@'localhost';"
  • cd /tmp && curl -O https://wordpress.org/latest.tar.gz && tar xzf latest.tar.gz
  • sudo mv /tmp/wordpress /var/www/exemple.fr && sudo chown -R www-data:www-data /var/www/exemple.fr

Configurer Nginx et wp-config.php

Le bloc serveur indique à Nginx où se trouve le site et transmet les fichiers .php à PHP-FPM. Dans wp-config.php, renseignez la base, puis protégez le fichier et désactivez l’éditeur de fichiers.

  • Dans /etc/nginx/sites-available/exemple.fr : root /var/www/exemple.fr; et un bloc location qui envoie les .php au socket PHP-FPM.
  • sudo ln -s /etc/nginx/sites-available/exemple.fr /etc/nginx/sites-enabled/ && sudo nginx -t && sudo systemctl reload nginx
  • Dans wp-config.php : define('DISALLOW_FILE_EDIT', true); et chmod 640, car le fichier contient les identifiants de la base.

Sauvegarder et mettre à jour

Un site WordPress tient en deux parties : les fichiers et la base. Il faut sauvegarder les deux, car l’une sans l’autre ne restaure pas le site. Sur un VPS, les mises à jour du cœur, des extensions et de PHP vous reviennent.

  • mysqldump wp_exemple > /root/wp_exemple-$(date +%F).sql : copie de la base du jour.
  • tar czf /root/site-$(date +%F).tar.gz /var/www/exemple.fr : archive des fichiers, à copier ensuite hors du VPS.
  • Testez les mises à jour d’extensions sur une copie du site avant de les appliquer en production.

Questions fréquentes

Le plan à 4,99 € suffit-il pour WordPress ?

Pour un site de taille modeste, le plan Mini (8 Go de RAM, 2 vCPU, 4,99 €/mois) laisse de la marge. Le besoin réel dépend des extensions, du trafic et du cache : mesurez avec free -h et htop pendant quelques jours.

Faut-il installer le HTTPS avant WordPress ?

Ce n’est pas obligatoire, mais c’est plus simple : une fois le domaine pointé vers le VPS, certbot ajoute le HTTPS au bloc Nginx. Réglez ensuite l’adresse du site dans les réglages de WordPress.

Peut-on héberger plusieurs sites WordPress sur le même VPS ?

Oui. Un bloc serveur, un dossier et une base par site suffisent, avec son propre utilisateur de base de données et son propre certificat.