Retourner sur le site

Installer WordPress sur VPS

Déployer WordPress sur un VPS HolyCloud avec Nginx, MariaDB et PHP-FPM ; option WP-CLI.

Installer WordPress sur VPS

Ce guide déploie WordPress sur un VPS Linux HolyCloud avec Nginx, MariaDB et PHP-FPM. WP-CLI accélère l'installation et les mises à jour en ligne de commande.

Prérequis

  • VPS HolyCloud (2 Go RAM minimum recommandé)
  • Nom de domaine pointant vers l'IP du VPS (A record)
  • Ubuntu 22.04/24.04 ou Debian 12, accès sudo
  • Ports 80 et 443 ouverts (UFW + panel HolyCloud)

Conseil : créez un snapshot HolyCloud avant la mise en production.

Étape 1 : paquets de base

sudo apt update
sudo apt upgrade -y
sudo apt install -y nginx mariadb-server php8.3-fpm php8.3-mysql php8.3-xml php8.3-curl \
  php8.3-mbstring php8.3-zip php8.3-gd php8.3-intl certbot python3-certbot-nginx

Si PHP 8.3 n'est pas disponible, ajoutez le dépôt Sury/ondrej (voir le guide PHP/Composer) puis relancez apt install.

Étape 2 : sécuriser MariaDB

sudo mysql_secure_installation

Créez la base et l'utilisateur WordPress :

sudo mysql <<'EOF'
CREATE DATABASE wordpress CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'MotDePasseBDDFort!';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'localhost';
FLUSH PRIVILEGES;
EOF

Étape 3 : télécharger WordPress

cd /tmp
curl -LO https://wordpress.org/latest.tar.gz
sudo tar -xzf latest.tar.gz -C /var/www/
sudo chown -R www-data:www-data /var/www/wordpress
sudo find /var/www/wordpress -type d -exec chmod 755 {} \;
sudo find /var/www/wordpress -type f -exec chmod 644 {} \;

Configurez wp-config.php :

cd /var/www/wordpress
sudo -u www-data cp wp-config-sample.php wp-config.php
sudo -u www-data sed -i "s/database_name_here/wordpress/" wp-config.php
sudo -u www-data sed -i "s/username_here/wpuser/" wp-config.php
sudo -u www-data sed -i "s/password_here/MotDePasseBDDFort!/" wp-config.php

Clés de sécurité (générez sur https://api.wordpress.org/secret-key/1.1/salt/) :

curl -s https://api.wordpress.org/secret-key/1.1/salt/ | sudo -u www-data tee /tmp/salts.txt
# Insérez le contenu dans wp-config.php à la place des define('AUTH_KEY'...)

Étape 4 : virtual host Nginx

sudo nano /etc/nginx/sites-available/wordpress
server {
    listen 80;
    server_name blog.example.com;
    root /var/www/wordpress;
    index index.php;

    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 ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ {
        expires max;
        log_not_found off;
    }

    location = /favicon.ico { log_not_found off; access_log off; }
    location = /robots.txt  { log_not_found off; access_log off; }
}

Activez le site :

sudo ln -s /etc/nginx/sites-available/wordpress /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

Certificat Let's Encrypt :

sudo certbot --nginx -d blog.example.com

Étape 5 : WP-CLI (optionnel)

curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
chmod +x wp-cli.phar
sudo mv wp-cli.phar /usr/local/bin/wp
wp --info

Installation complète en CLI :

cd /var/www/wordpress
sudo -u www-data wp core install \
  --url="https://blog.example.com" \
  --title="Mon site HolyCloud" \
  --admin_user="admin" \
  --admin_password="MotDePasseAdminFort!" \
  --admin_email="[email protected]"

Mises à jour :

sudo -u www-data wp core update
sudo -u www-data wp plugin update --all

Étape 6 : durcissement rapide

sudo -u www-data wp config set DISALLOW_FILE_EDIT true --raw
sudo apt install -y fail2ban

Permissions uploads :

sudo -u www-data mkdir -p /var/www/wordpress/wp-content/uploads

Vérification

  • Ouvrez https://blog.example.com — assistant ou site installé
  • sudo -u www-data wp option get siteurl (avec WP-CLI)
  • sudo systemctl status nginx mariadb php8.3-fpm

Besoin d'aide ?

Le support HolyCloud aide sur la connectivité et le VPS ; le thème/plugins WordPress restent côté éditeur.