HELPER VPS

Installer WordPress sur un VPS : méthodes par image WordPress, LEMP et Docker

En installant WordPress vous-même sur votre serveur, vous décidez de tout : extensions, thèmes et réglages du serveur. Choisissez la méthode d'installation la mieux adaptée à l'image sélectionnée lors de la création du serveur, et suivez-la.

Choisir parmi trois méthodes

Chez HELPER VPS, le simple choix de l'image à la création du serveur réduit fortement la préparation de WordPress. Choisissez la méthode qui correspond à votre situation.

  • Image WordPress : Nginx, MySQL, PHP et WordPress sont installés sur Ubuntu 24.04. Il ne reste qu'à terminer l'écran d'installation dans le navigateur : c'est la façon la plus rapide d'ouvrir un blog.
  • Image LEMP : installez vous-même WordPress sur un serveur où Nginx, MySQL et PHP sont prêts. Idéal pour placer plusieurs sites sur un serveur ou définir vous-même l'arborescence et les réglages.
  • Image Docker : lancez WordPress et sa base de données en conteneurs. Pratique pour déplacer le site vers un autre serveur ou recréer plusieurs fois le même environnement.

Un petit blog démarre très bien avec le plus petit plan général de 12GB, tandis que les boutiques en ligne ou les sites très fréquentés ouvrent les pages plus légèrement sur un serveur NVMe haute performance avec un disque rapide. Les recommandations de taille sont sur la page VPS WordPress.

Relier d'abord le domaine

Si vous prévoyez d'utiliser un domaine, reliez-le avant l'installation pour obtenir le certificat HTTPS en une fois. Dans l'interface DNS de votre registraire, créez les deux enregistrements ci-dessous.

  • Enregistrement A : nom @ (et www), valeur l'adresse IPv4 du serveur
  • Enregistrement AAAA : nom @ (et www), valeur l'adresse IPv6 du serveur

La propagation des enregistrements prend généralement de quelques minutes à quelques heures. Lancez ping -c 3 example.com sur le serveur : si l'IP de votre serveur apparaît, c'est prêt. Dans les commandes ci-dessous, remplacez example.com par votre domaine.

Méthode 1. Démarrer directement avec l'image WordPress

  • Sur l'écran de création, choisissez la région et la taille, puis WordPress dans la liste des images.
  • Quand le serveur passe à En marche, ouvrez http://YOUR_SERVER_IP dans le navigateur.
  • Choisissez la langue, puis définissez le titre du site, l'identifiant administrateur, le mot de passe et l'e-mail : l'installation est terminée.
  • Accédez à l'administration via http://YOUR_SERVER_IP/wp-admin.

Choisissez un mot de passe administrateur long et complexe, et un identifiant connu de vous seul plutôt que admin : vous serez mieux protégé contre les tentatives de connexion. Pour le domaine et le HTTPS, suivez simplement l'étape HTTPS ci-dessous.

Méthode 2. Installation manuelle sur un serveur LEMP

L'image LEMP inclut déjà Nginx, MySQL et PHP-FPM. Il suffit d'ajouter les extensions PHP nécessaires à WordPress, la base de données et la configuration du site. Les étapes sont données pour Ubuntu 24.04 et restent les mêmes sur les autres versions d'Ubuntu et sur Debian.

Étape 1. Installer les extensions PHP

Terminal
apt update
apt install -y php-mysql php-curl php-gd php-mbstring php-xml php-zip php-intl php-imagick
php -v
ls /run/php/

php -v affiche la version de PHP et ls /run/php/ le nom du socket PHP-FPM. Ubuntu 24.04 utilise PHP 8.3 et affiche php8.3-fpm.sock ; Debian 13 utilise PHP 8.4 et affiche php8.4-fpm.sock. Reprenez ce nom tel quel dans la configuration Nginx ci-dessous.

Étape 2. Créer la base de données et l'utilisateur

Connecté en root, lancez mysql pour entrer dans MySQL sans mot de passe. Les quatre lignes ci-dessous créent une base de données et un utilisateur dédiés à WordPress. Remplacez le mot de passe par un mot de passe long et notez-le.

mysql
CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'change_this_long_password';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Étape 3. Télécharger WordPress

Terminal
cd /var/www
curl -O https://wordpress.org/latest.tar.gz
tar xzf latest.tar.gz && rm latest.tar.gz
chown -R www-data:www-data /var/www/wordpress

En attribuant le dossier à l'utilisateur du serveur web (www-data), l'écran d'installation du navigateur crée lui-même le fichier de configuration, et extensions et thèmes s'installent directement depuis l'administration.

Étape 4. Configuration du site Nginx

/etc/nginx/sites-available/wordpress
server {
    listen 80;
    listen [::]:80;
    server_name example.com www.example.com;
    root /var/www/wordpress;
    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;
    }
    location ~ /\.ht {
        deny all;
    }
}
Terminal
ln -s /etc/nginx/sites-available/wordpress /etc/nginx/sites-enabled/
nginx -t && systemctl reload nginx

Si nginx -t affiche syntax is ok, test is successful, la configuration est correcte. Si vous n'avez pas encore de domaine, mettez _ dans server_name et supprimez le lien du site par défaut (/etc/nginx/sites-enabled/default) : le site s'ouvre alors par l'adresse IP.

Étape 5. Terminer l'installation dans le navigateur

Ouvrez http://example.com : l'écran d'installation s'affiche. Saisissez le nom de base de données wordpress, l'utilisateur wpuser, le mot de passe défini à l'étape 2 et l'hôte localhost, puis définissez le titre du site et le compte administrateur, et c'est terminé.

Méthode 3. Installation avec Docker Compose

Sur un serveur créé avec l'image Docker ou sur lequel vous avez installé Docker vous-même, un seul fichier lance ensemble WordPress et MariaDB. Remplacez les deux mots de passe par des mots de passe longs.

Terminal
mkdir -p /opt/wordpress && cd /opt/wordpress
cat > compose.yaml <<'EOF'
services:
  db:
    image: mariadb:11
    restart: unless-stopped
    environment:
      MARIADB_DATABASE: wordpress
      MARIADB_USER: wpuser
      MARIADB_PASSWORD: change_this_long_password
      MARIADB_ROOT_PASSWORD: change_this_other_password
    volumes:
      - db:/var/lib/mysql
  wordpress:
    image: wordpress:latest
    restart: unless-stopped
    depends_on:
      - db
    ports:
      - "80:80"
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: wpuser
      WORDPRESS_DB_PASSWORD: change_this_long_password
      WORDPRESS_DB_NAME: wordpress
    volumes:
      - wp:/var/www/html
volumes:
  db:
  wp:
EOF
docker compose up -d

Ouvrez http://YOUR_SERVER_IP : l'écran d'installation s'affiche. Les informations de base de données figurent déjà dans le fichier : il suffit de définir le titre du site et le compte administrateur. Les articles et fichiers envoyés restent dans le volume wp et la base de données dans le volume db : ils sont conservés même quand vous passez les conteneurs à une nouvelle version.

Pour ajouter le HTTPS à un site déployé avec Docker, placer un proxy inverse devant est la solution propre. Encore plus simple : les images Coolify ou Dokploy, qui posent automatiquement le certificat dès que vous saisissez le domaine dans l'interface.

Ajouter un certificat HTTPS

Sur l'image WordPress et les serveurs LEMP, Certbot obtient un certificat gratuit Let's Encrypt et l'applique directement à Nginx. Le domaine doit pointer vers l'IP du serveur.

Terminal
apt install -y certbot python3-certbot-nginx
certbot --nginx -d example.com -d www.example.com

Saisissez votre e-mail et acceptez les conditions : le certificat est émis et le HTTPS est ajouté à la configuration Nginx. Certbot renouvelle le certificat automatiquement. Ensuite, dans Réglages > Général de l'administration WordPress, passez l'adresse de WordPress et l'adresse du site en https. Si vous utilisez un pare-feu, ouvrez les deux ports avec ufw allow 80,443/tcp.

Réglages utiles après l'installation

  • Permaliens : dans Réglages > Permaliens, choisissez le format nom de l'article pour des adresses plus lisibles. La ligne try_files de la configuration Nginx ci-dessus prend en charge ces adresses.
  • Taille d'envoi : pour envoyer de grandes images ou des fichiers de thème, augmentez à la même taille client_max_body_size de Nginx ainsi que upload_max_filesize et post_max_size dans /etc/php/8.3/fpm/php.ini, puis lancez systemctl restart php8.3-fpm.
  • Envoi d'e-mails : pour les e-mails d'inscription, de mot de passe oublié ou de notification de commande, reliez une extension SMTP au port 587 ou 465 d'un service d'envoi. La méthode est dans le guide d'envoi d'e-mails.
  • Mises à jour : maintenez régulièrement à jour le cœur de WordPress, les extensions et les thèmes depuis l'administration, et le serveur avec apt update && apt upgrade -y.
  • Sauvegardes : articles et base de données sont des biens irremplaçables. Activez la sauvegarde automatique à la création du serveur, ou gardez des copies avec les méthodes du guide des sauvegardes et instantanés.

Pour tout réinstaller depuis le début, choisissez à nouveau l'image WordPress dans la réinstallation de la page du serveur pour revenir à un état propre. Le disque est réinstallé : exportez d'abord vos articles avec Outils > Exporter, et suivez la marche à suivre du guide de réinstallation.

Guides complémentaires

Des réglages qu'il est bon de faire à la suite de ce guide.

Voir tous les guides