Chargement de Smiley Hoster
Aller au contenu

Installer WordPress sur un VPS Ubuntu avec Nginx et HTTPS

Équipe support · · 2 min de lecture
Trois étages Nginx, PHP-FPM et MariaDB conduisent à WordPress en HTTPS.

Le guide LEMP de Vultr fournit un point de départ pour installer WordPress. Voici un parcours pour un VPS vierge sous Ubuntu 24.04, avec MariaDB, un compte sudo et un domaine dont vous contrôlez le DNS.

1. Préparer les services et la base

Remplacez partout example.com par votre domaine. Faites pointer son enregistrement A vers le VPS ; un éventuel AAAA doit aussi atteindre ce serveur. Autorisez TCP 80 et 443 dans les pare-feu local et fournisseur, tout en conservant votre accès SSH. Ne publiez pas MariaDB sur Internet.

Exemple
sudo apt updatesudo apt install nginx mariadb-server php8.3-fpm \ php8.3-mysql php8.3-curl php8.3-gd php8.3-xml \ php8.3-mbstring php8.3-zip php8.3-intl curl \ certbot python3-certbot-nginxsudo systemctl enable --now nginx mariadb php8.3-fpmsudo mariadb

Dans MariaDB, remplacez le mot de passe d'exemple par un secret unique conservé dans votre gestionnaire de mots de passe :

Exemple
CREATE DATABASE wp CHARACTER SET utf8mb4;CREATE USER 'wpapp'@'localhost' IDENTIFIED BY 'CHANGE_ME_UNIQUE';GRANT ALL PRIVILEGES ON wp.* TO 'wpapp'@'localhost';EXIT;

2. Installer les fichiers et configurer Nginx

Téléchargez dans un dossier temporaire neuf. Le code reste détenu par root ; seuls les téléversements seront modifiables par PHP.

Exemple
cd "$(mktemp -d)"curl -fLO https://wordpress.org/latest.tar.gztar -xzf latest.tar.gzsudo mkdir -p /var/www/wpsudo cp -a wordpress/. /var/www/wp/sudo chown -R root:www-data /var/www/wpcd /var/www/wpsudo cp wp-config-sample.php wp-config.phpsudoedit wp-config.php

Renseignez DB_NAME=wp, DB_USER=wpapp, votre DB_PASSWORD et DB_HOST=localhost dans les appels define existants. Remplacez les huit clés et sels d'authentification d'exemple par huit valeurs uniques ; openssl rand -hex 32 peut générer chacune d'elles. N'enregistrez jamais ces secrets dans un dépôt.

Exemple
sudo chown root:www-data wp-config.phpsudo chmod 640 wp-config.phpsudo mkdir -p wp-content/uploadssudo chown www-data:www-data wp-content/uploadssudoedit /etc/nginx/sites-available/wp

Enregistrez cette configuration :

Exemple
server { listen 80; listen [::]:80; server_name example.com; root /var/www/wp; index index.php; location / { try_files $uri $uri/ /index.php?$args; } location = /wp-config.php { deny all; } location ~* /uploads/.*\.php$ { deny all; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php8.3-fpm.sock; } location ~ /\. { deny all; }}

Activez le site, puis testez avant tout rechargement :

Exemple
sudo ln -s /etc/nginx/sites-available/wp \ /etc/nginx/sites-enabled/wpsudo nginx -t && sudo systemctl reload nginx

Ce modèle impose de gérer les mises à jour du cœur, des thèmes et des extensions avec votre compte d'administration du serveur. Ne rendez pas tout le dossier accessible en écriture pour contourner cette séparation.

3. Passer en HTTPS et vérifier

Avant de saisir les identifiants WordPress dans le navigateur :

Exemple
sudo certbot --nginx -d example.com --redirectcurl -I https://example.comsudo certbot renew --dry-runsystemctl list-timers --all | grep certbot

Terminez l'assistant sur https://example.com avec un administrateur unique. Vérifiez ensuite la connexion, l'ouverture d'un article avec permalien et l'ajout d'une image. Le certificat doit être valide, HTTP rediriger vers HTTPS et le renouvellement simulé réussir.

Erreurs courantes : un 502 invite à vérifier le service PHP-FPM et son socket ; une erreur de base demande de revoir les quatre valeurs de configuration ; un échec Certbot demande de contrôler A, AAAA et le port 80. En cas de demande FTP lors d'une mise à jour, utilisez votre procédure serveur : ne passez pas les permissions à 777.

Sources : Vultr, MariaDB.

Cet article a-t-il répondu à votre question ?
Vos retours orientent ce qu'on écrit ensuite.

Votre site en ligne aujourd'hui

Migration gratuite* · remboursé 30 jours

Commencer* Un site de moins de 30 Go, offres cPanel, WordPress et VPS.