L'hébergement WordPress géré facture chaque site et cache les réglages. Sur votre propre VPS, vous avez tout le serveur, autant de sites qu'il peut en porter et un contrôle total sur PHP et le cache. La pile classique — Nginx, PHP-FPM, MariaDB — s'installe en une quinzaine de minutes sur Ubuntu 24.04.
Avant de commencer : il vous faut une offre avec IP dédiée (les visiteurs se connectent aux ports 80/443 ; les offres NAT n'acceptent pas de trafic web entrant) et un domaine dont l'enregistrement A pointe vers le serveur. Le Micro-IP à 10 $/mois est un foyer confortable pour un site classique.
1. Installer la pile
apt update
apt install -y nginx mariadb-server php8.3-fpm php8.3-mysql php8.3-curl \
php8.3-gd php8.3-intl php8.3-mbstring php8.3-xml php8.3-zip
2. Créer la base de données
Sous Ubuntu, MariaDB laisse entrer root par le socket local, sans mot de passe :
mariadb <<'SQL'
CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8mb4;
CREATE USER 'wp'@'localhost' IDENTIFIED BY 'use-a-long-random-password';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wp'@'localhost';
FLUSH PRIVILEGES;
SQL
3. Télécharger WordPress
cd /tmp && curl -O https://wordpress.org/latest.tar.gz
tar xzf latest.tar.gz
mv wordpress /var/www/example.com
chown -R www-data:www-data /var/www/example.com
4. Configurer Nginx
cat > /etc/nginx/sites-available/example.com <<'EOF'
server {
listen 80;
server_name example.com www.example.com;
root /var/www/example.com;
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 ~ /\.(?!well-known) { deny all; }
}
EOF
ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
rm -f /etc/nginx/sites-enabled/default
nginx -t && systemctl reload nginx
C'est la ligne try_files qui fait fonctionner les jolis permaliens — l'équivalent Nginx des règles .htaccess de WordPress.
Relevez la limite d'envoi de PHP pour l'aligner sur client_max_body_size :
sed -i 's/^upload_max_filesize.*/upload_max_filesize = 64M/; s/^post_max_size.*/post_max_size = 64M/' /etc/php/8.3/fpm/php.ini
systemctl restart php8.3-fpm
5. HTTPS gratuit
apt install -y certbot python3-certbot-nginx
certbot --nginx -d example.com -d www.example.com
Certbot modifie la configuration Nginx pour le HTTPS et met en place le renouvellement automatique.
6. Terminer dans le navigateur
Ouvrez https://example.com, saisissez le nom de la base (wordpress), l'utilisateur (wp) et le mot de passe de l'étape 2, puis créez votre compte administrateur. Choisissez un identifiant administrateur autre que « admin ».
Rapide et sûr
- Pare-feu :
ufw allow 22/tcp && ufw allow 'Nginx Full' && ufw enable. - Mises à jour : activez dans le tableau de bord les mises à jour automatiques du cœur de WordPress, et pour le serveur les mises à jour de sécurité automatiques.
- Cache : une extension de cache de pages fait plus de différence que n'importe quel réglage serveur sur une petite machine.
- Sauvegardes : les Managed Backups conservent des points de restauration quotidiens de tout le serveur (2 $/mois, gratuites dans les offres annuelles). Pour une copie portable, ajoutez
mysqldump wordpress > wp.sqlet le dossierwp-content. - Mémoire : sur les serveurs de 1 Go, ajoutez un fichier swap de 2 Go.
Pour aller plus loin
- VPS pour un site web
- Reverse proxy Nginx avec HTTPS
- VPS pour Plausible Analytics — des statistiques sans cookies pour votre site
Commentaires
Pas encore de commentaires. Soyez le premier.