Héberger son site sur un VPS (serveur privé virtuel) donne plus de contrôle, de performance et de flexibilité qu'un hébergement mutualisé. Dans ce tutoriel, vous mettez en ligne un site sur un serveur Ubuntu avec Nginx, le serveur web qui propulse une grande partie d'Internet, puis vous l'équipez d'un certificat HTTPS gratuit Let's Encrypt, renouvelé automatiquement.
Niveau : intermédiaire (savoir utiliser un terminal). Durée : environ une heure. Prérequis : un VPS sous Ubuntu 24.04 LTS, un nom de domaine et les fichiers de votre site (HTML, CSS, images). La configuration Nginx de ce tutoriel a été validée avec nginx -t.
Mutualisé ou VPS ?
Un hébergement mutualisé partage un serveur entre des centaines de sites : simple, mais limité. Un VPS vous réserve des ressources et vous donne un accès complet. En contrepartie, vous êtes responsable de la sécurité et des mises à jour. Pour comparer les options, voir héberger son site pour l'Afrique.
Étape 1 : se connecter et sécuriser le serveur
Connectez-vous avec l'adresse IP fournie par votre hébergeur :
ssh root@ADRESSE_IP_DU_SERVEUR
Mettez le système à jour, puis créez un utilisateur administrateur pour ne plus travailler en root :
apt update && apt upgrade -y
adduser deploy
usermod -aG sudo deploy
Depuis votre ordinateur, copiez votre clé SSH vers ce nouvel utilisateur (créez-la d'abord avec ssh-keygen si vous n'en avez pas) :
ssh-copy-id deploy@ADRESSE_IP_DU_SERVEUR
Vérifiez que la connexion par clé fonctionne (ssh deploy@ADRESSE_IP_DU_SERVEUR) avant de désactiver la connexion par mot de passe dans /etc/ssh/sshd_config (PasswordAuthentication no), puis redémarrez le service SSH.
Étape 2 : installer Nginx
sudo apt install -y nginx
sudo systemctl status nginx
Ouvrez http://ADRESSE_IP_DU_SERVEUR dans votre navigateur : la page d'accueil de Nginx s'affiche.
Étape 3 : activer le pare-feu
Le pare-feu UFW n'autorisera que SSH et le web :
sudo ufw allow OpenSSH
sudo ufw allow 'Nginx Full'
sudo ufw enable
sudo ufw status
Autorisez toujours OpenSSH avant d'activer le pare-feu, sinon vous perdez l'accès au serveur.
Étape 4 : déposer les fichiers du site
sudo mkdir -p /var/www/monsite
sudo chown -R deploy:deploy /var/www/monsite
Puis, depuis votre ordinateur, envoyez les fichiers (le dossier site/ contient votre index.html) :
scp -r site/* deploy@ADRESSE_IP_DU_SERVEUR:/var/www/monsite/
Étape 5 : configurer le site dans Nginx
Créez le fichier /etc/nginx/sites-available/monsite (remplacez exemple.ci par votre domaine) :
server {
listen 80;
listen [::]:80;
server_name exemple.ci www.exemple.ci;
root /var/www/monsite;
index index.html;
location / {
try_files $uri $uri/ =404;
}
# Mise en cache des images, styles et scripts par le navigateur
location ~* \.(css|js|png|jpe?g|webp|svg|ico|woff2?)$ {
expires 30d;
add_header Cache-Control "public";
}
}
Activez le site, désactivez la page par défaut, vérifiez la configuration et rechargez Nginx :
sudo ln -s /etc/nginx/sites-available/monsite /etc/nginx/sites-enabled/
sudo rm /etc/nginx/sites-enabled/default
sudo nginx -t
sudo systemctl reload nginx
nginx -t doit répondre syntax is ok et test is successful. Ne rechargez jamais Nginx sans ce test : une erreur de syntaxe pourrait couper tous vos sites.
Étape 6 : pointer le domaine vers le serveur
Dans la zone DNS de votre domaine, chez votre registraire, créez deux enregistrements A : un pour exemple.ci et un pour www, tous deux vers l'adresse IP du serveur. La propagation prend de quelques minutes à quelques heures. Vérifiez avec :
nslookup exemple.ci
Étape 7 : activer le HTTPS gratuit
Installez Certbot, l'outil de Let's Encrypt, avec son extension Nginx :
sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d exemple.ci -d www.exemple.ci
Certbot obtient le certificat, modifie la configuration Nginx pour activer le HTTPS et peut rediriger automatiquement le HTTP vers le HTTPS. Le renouvellement est automatique ; testez-le avec :
sudo certbot renew --dry-run
Votre site est maintenant accessible en https://, avec le cadenas dans le navigateur.
Étape 8 : entretenir le serveur
- Mises à jour de sécurité automatiques :
sudo apt install unattended-upgrades. - Sauvegardes régulières du site et, plus tard, de la base de données, stockées hors du serveur.
- Surveillance : un service de surveillance vous alerte si le site ne répond plus.
Pour la sécurité du site lui-même, lisez sécuriser son site web, et pour la vitesse, rendre son site web plus rapide.
Questions fréquentes
Quelle taille de VPS choisir pour commencer ?
Pour un site vitrine ou un petit site, un VPS d'entrée de gamme (1 à 2 Go de mémoire) suffit largement. La plupart des hébergeurs permettent de l'agrandir plus tard sans tout réinstaller.
Le certificat Let's Encrypt est-il vraiment gratuit ?
Oui. Il est valable 90 jours et Certbot le renouvelle automatiquement avant son expiration.
Puis-je héberger plusieurs sites sur le même VPS ?
Oui : créez un fichier de configuration par site dans sites-available, chacun avec son server_name et son dossier, puis lancez Certbot pour chaque domaine.
Et pour une application Node.js ?
Le principe est le même : Nginx sert alors de « reverse proxy » devant l'application, qui tourne sur un port local. Voir notre tutoriel API avec Node.js et Express.
Déléguer l'hébergement
Vous préférez vous concentrer sur votre activité ? NEWTIV installe, sécurise et maintient votre serveur : déploiement, HTTPS, sauvegardes, mises à jour et surveillance. Demandez un devis, nous vous répondons sous 48 heures ouvrées.

Réagissez
Commentaires