Skip to content
VDS · Premiers pas

Démarrage rapide : un site web en 15 minutes

D'une machine vierge à un site nginx fonctionnel avec certificat HTTPS : installation, répertoire du site, domaine, pare-feu et vérification.

Mis à jour le 23 août 2026

Scénario : une installation fraîche de Debian ou Ubuntu, votre propre domaine, et l'objectif de voir votre page en HTTPS. Toutes les commandes sont exécutées en root via SSH.

1. Installer nginx

apt update && apt install -y nginx
systemctl enable --now nginx

Ouvrez http://your-address dans votre navigateur — vous devriez voir une page d'accueil. Si elle n'apparaît pas, vérifiez le pare-feu (étape 3).

Sur AlmaLinux, utilisez dnf au lieu de apt ; voir AlmaLinux.

2. Pointer le domaine

Dans le panneau de votre registrar, ajoutez un enregistrement A avec l'adresse de la machine depuis l'onglet « Overview » :

example.com.      A     203.0.113.10
www.example.com.  A     203.0.113.10

Vérifiez que le domaine résout vers la bonne adresse :

apt install -y dnsutils
dig +short example.com

La mise à jour des enregistrements prend d'une minute à plusieurs heures. Tant que dig renvoie l'ancienne adresse, vous ne pourrez pas émettre de certificat.

3. Ouvrir les ports

apt install -y ufw
ufw allow OpenSSH
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable

D'abord allow OpenSSH, ensuite enable. L'ordre inverse coupera votre accès, et vous devrez vous connecter via la console texte.

4. Créer un site

mkdir -p /var/www/example.com
echo '<h1>Works</h1>' > /var/www/example.com/index.html
chown -R www-data:www-data /var/www/example.com

Configuration dans /etc/nginx/sites-available/example.com :

server {
    listen 80;
    server_name example.com www.example.com;
    root /var/www/example.com;
    index index.html;

    location / {
        try_files $uri $uri/ =404;
    }
}

Activez et appliquez :

ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
nginx -t
systemctl reload nginx

nginx -t est obligatoire : cette commande vérifie la configuration avant le redémarrage. Si la sortie ne se termine pas par syntax is ok et test is successful, ne redémarrez pas le service — corrigez d'abord l'erreur.

5. Émettre un certificat

apt install -y certbot python3-certbot-nginx
certbot --nginx -d example.com -d www.example.com

Certbot vous demandera un e-mail, ajoutera un bloc listen 443 ssl et configurera une redirection HTTP. Le renouvellement est configuré automatiquement ; vous pouvez le vérifier ainsi :

certbot renew --dry-run

Ce qui échoue le plus souvent

SymptômeCause
Le navigateur n'ouvre pas le siteLe port 80 ou 443 est fermé dans ufw
Certbot : Timeout during connectLe domaine ne pointe pas encore vers la machine, ou le port 80 est fermé
502 Bad Gatewaynginx fait un proxy vers une application qui ne tourne pas — vérifiez systemctl status pour votre service
403 ForbiddenAucune permission sur le répertoire, ou index.html est absent
Page nginx par défaut au lieu de la vôtre/etc/nginx/sites-enabled/default n'a pas été supprimé

Journaux pour chacun de ces problèmes :

tail -n 50 /var/log/nginx/error.log
journalctl -u nginx -n 50 --no-pager

Ensuite, vous devriez vous occuper de la sécurité de base à l'aide de la checklist de la première heure si vous ne l'avez pas encore parcourue.