SLBCloud
Débutant10 min de lecture

Installer WordPress sur son VPS

L'installation complète sur une pile nginx, les droits de fichiers corrects, et les cinq réglages à faire avant d'ouvrir le site.

Ce guide suppose que nginx, PHP et MariaDB sont installés — voir le guide précédent. Comptez vingt minutes en tout, dont la moitié à choisir un thème.

  1. 1

    Créer la base

    bash
    sudo mariadb -e "CREATE DATABASE wordpress CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; \
      CREATE USER 'wordpress'@'localhost' IDENTIFIED BY 'mot-de-passe-long'; \
      GRANT ALL PRIVILEGES ON wordpress.* TO 'wordpress'@'localhost'; FLUSH PRIVILEGES;"
  2. 2

    Déposer les fichiers

    bash
    cd /tmp && curl -LO https://fr.wordpress.org/latest-fr_FR.tar.gz
    tar xzf latest-fr_FR.tar.gz
    sudo mkdir -p /var/www/monsite
    sudo cp -a wordpress/. /var/www/monsite/
  3. 3

    Donner les bons droits

    Les fichiers appartiennent au serveur web, les dossiers sont traversables, rien n'est en écriture pour tout le monde.

    bash
    sudo chown -R www-data:www-data /var/www/monsite
    sudo find /var/www/monsite -type d -exec chmod 755 {} \;
    sudo find /var/www/monsite -type f -exec chmod 644 {} \;
  4. 4

    Créer le vhost, puis lancer l'installation

    Ouvrez ensuite votre domaine dans un navigateur : WordPress demande les identifiants de la base et crée son compte administrateur.

Le vhost WordPress

nginx
server {
    listen 80;
    server_name monsite.fr www.monsite.fr;
    root /var/www/monsite;
    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/php-fpm.sock;
    }

    # Le fichier de configuration ne doit jamais être servi
    location = /wp-config.php { deny all; }

    # Ni les fichiers déposés qui seraient exécutables
    location ~* /wp-content/.*\.php$ { deny all; }
}

Les deux règles deny all

La seconde bloque l'attaque la plus courante contre WordPress : déposer un fichier PHP via une extension vulnérable, puis l'appeler depuis le navigateur. Ces deux lignes annulent une bonne partie de ces tentatives.

Les cinq réglages avant d'ouvrir

  • Le certificat HTTPS, avec certbot — et l'adresse du site en https dans Réglages.
  • Désactiver la modification des fichiers depuis l'interface : ajoutez define('DISALLOW_FILE_EDIT', true); dans wp-config.php.
  • Régénérer les clés de sécurité de wp-config.php depuis api.wordpress.org/secret-key/1.1/salt/.
  • Supprimer les thèmes et extensions inutilisés : ce qui n'est pas installé ne peut pas être vulnérable.
  • Activer les mises à jour automatiques pour les versions mineures — elles corrigent les failles.

Les tâches planifiées

WordPress déclenche ses tâches à la visite d'un internaute, ce qui est à la fois lent et peu fiable sur un site peu fréquenté. Confiez-les à cron.

bash
# Dans wp-config.php
define('DISABLE_WP_CRON', true);

# Puis, dans crontab -e :
*/15 * * * * curl -s https://monsite.fr/wp-cron.php > /dev/null 2>&1

Bloqué malgré tout ? Ouvrez un ticket : on répond en français, et on regarde votre machine si besoin.

Ouvrir un ticket