L’hébergement mutualisé est facile, mais un VPS vous apporte vitesse, accès root et aucun voisin bruyant. Ce guide amène un serveur Ubuntu 24.04 ou 22.04 tout neuf à un site web HTTPS en ligne avec Nginx, en vingt minutes environ. Chaque commande peut être copiée telle quelle.
Ce dont vous avez besoin
- Un VPS avec au moins 1 vCPU et 1 Go de RAM (nos offres de base suffisent pour la plupart des petits sites).
- Un nom de domaine pointant vers l’adresse IP du serveur (voir notre guide sur faire pointer un domaine vers un VPS).
- Un accès SSH en tant qu’utilisateur sudo. Si le serveur est tout neuf, faites d’abord le durcissement de base.
1. Installer Nginx
sudo apt update
sudo apt install -y nginx
sudo systemctl enable --now nginx
Ouvrez l’adresse IP de votre serveur dans un navigateur. Vous devriez voir la page d’accueil par défaut de Nginx. Sinon, vérifiez que votre pare-feu autorise les ports 80 et 443 :
sudo ufw allow "Nginx Full"
sudo ufw status
2. Créer le dossier du site
sudo mkdir -p /var/www/example.com/html
sudo chown -R $USER:$USER /var/www/example.com
echo "<h1>It works</h1>" > /var/www/example.com/html/index.html
Remplacez example.com par votre propre domaine partout.
3. Ajouter un bloc server
sudo nano /etc/nginx/sites-available/example.com
server {
listen 80;
listen [::]:80;
server_name example.com www.example.com;
root /var/www/example.com/html;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
Activez-le, testez la configuration et rechargez :
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
4. Ajouter un HTTPS gratuit avec Let's Encrypt
sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d example.com -d www.example.com
Certbot modifie votre bloc server, redirige HTTP vers HTTPS et installe un timer qui renouvelle automatiquement le certificat. Vérifiez le timer avec systemctl list-timers | grep certbot.
5. L’accélérer
Activez la compression et la mise en cache du navigateur pour les fichiers statiques. Ajoutez ceci dans le bloc server :
gzip on;
gzip_types text/css application/javascript application/json image/svg+xml;
location ~* \.(css|js|png|jpg|jpeg|webp|svg|woff2)$ {
expires 30d;
add_header Cache-Control "public";
}
Rechargez ensuite Nginx. Pour les sites dynamiques comme WordPress, installez PHP-FPM et transmettez-lui les requêtes .php, ou placez un plugin de cache devant.
Problèmes courants
- 403 Forbidden : Nginx ne peut pas lire le dossier. Vérifiez le propriétaire et que chaque répertoire parent est exécutable (
chmod o+x). - Certbot échoue : le domaine ne pointe pas encore vers le serveur, ou le port 80 est bloqué.
- La page par défaut s’affiche toujours : supprimez
/etc/nginx/sites-enabled/defaultet rechargez.