Debian est souvent la première réponse quand on pose la question "quelle distribution pour un serveur ?". Ce n'est pas un hasard : stable, légère, bien documentée, et soutenue par une communauté impressionnante depuis plus de 30 ans.
Ce tutoriel couvre l'installation et la configuration de base d'un serveur Debian 13 Trixie (branche stable au 9 août 2025). À la fin, votre machine sera opérationnelle, sécurisée et prête à accueillir les services de votre choix.
Pourquoi Debian Stable sur un serveur ?
Debian Stable est la version "gelée" : les paquets n'évoluent plus sauf pour les correctifs de sécurité. Ce cycle de développement long se traduit concrètement par :
- une stabilité et une fiabilité éprouvées sur la durée
- une empreinte mémoire très faible (idéal sur du matériel modeste)
- un support de nombreuses architectures : Intel/AMD 64 bits, ARM, RISC-V...
- des mises à jour de sécurité soignées et testées
- un noyau Linux Long Term Support
- des mises à niveau entre versions stables fiables et documentées
Pré-requis
Matériel
Debian est remarquablement léger. La configuration minimale absolue tourne autour de 128 Mo de RAM et 2 Go de disque, mais en pratique on recommande au moins 512 Mo de RAM et 10 Go de disque pour tenir la charge.
Téléchargement de l'ISO
Rendez-vous sur la page Official CD/DVD images stable et téléchargez :
- Le fichier
debian-13.4.0-amd64-DVD-1.iso(remplacezamd64par votre architecture si nécessaire,arm64par exemple) - Le fichier
SHA256SUMScorrespondant
amd64 correspond aux processeurs Intel et AMD 64 bits, le cas le plus courant. Pour un processeur ARM 64 bits, choisissez arm64.Vérification de l'intégrité du fichier
Avant de graver ou d'écrire l'ISO, vérifiez qu'il n'est pas corrompu. Depuis un terminal dans votre dossier Téléchargements :
cd ~/Téléchargements
sha256sum -c SHA256SUMS --ignore-missing
Résultat attendu :
debian-13.4.0-amd64-DVD-1.iso: Réussi
Pour plus de détails sur les sommes de contrôle et la vérification de signatures, consultez le tutoriel dédié :

Création du média d'installation
Suivez le tutoriel dédié pour créer une clé USB bootable :

Préparation du serveur
Branchement réseau
Branchez un câble Ethernet entre votre box et le serveur avant de démarrer l'installation. Debian téléchargera ainsi les paquets les plus récents directement depuis les dépôts.
Configuration du BIOS
Vous devez accéder au BIOS pour autoriser le démarrage sur clé USB et, si nécessaire, désactiver le Secure Boot.

En résumé, dans le BIOS :
- Naviguez dans le menu Boot et placez "USB" en priorité n°1
- Dans le menu Security, passez le Secure Boot à "Disabled"
- Sauvegardez et quittez
Démarrage sur clé USB
Insérez la clé USB préparée, démarrez le serveur. L'écran de l'installateur Debian apparaît.
Sélectionnez Install avec les flèches clavier et validez avec Entrée.

Installation de Debian
Langue et localisation
L'installateur vous demande d'abord la langue d'interface.

Sélectionnez ensuite votre pays (pour le fuseau horaire et les dépôts) :
- Choisissez "Other"
- Sélectionnez votre continent (ex. "Europe")
- Sélectionnez votre pays (ex. "France")

Pour la locale, sélectionnez "United States - en_US.UTF-8" : cela évite les problèmes d'encodage dans les sorties de commandes.

Choisissez ensuite votre disposition de clavier (par exemple "French" si vous avez un clavier AZERTY).

Nom d'hôte et domaine
Entrez un nom d'hôte pour votre serveur (le hostname).

Si votre serveur est accessible publiquement et que vous avez un nom de domaine, entrez-le. Sinon, laissez ce champ vide ou mettez local.

Comptes utilisateurs
L'installateur vous demande un mot de passe pour le compte root.
root vide, ce compte sera désactivé. Votre compte utilisateur sera automatiquement ajouté aux sudoers.
Créez ensuite un compte utilisateur classique (nom complet, puis identifiant).

Choisissez un mot de passe fort pour cet utilisateur, différent de celui de root.
Partitionnement du disque
Le partitionnement est un sujet qui dépend fortement de votre usage. Le Wiki d'Arch Linux en détaille très bien les différents cas.
Pour un serveur classique, nous recommandons "Guided - use entire disk and set up LVM" :

L'installateur crée automatiquement trois partitions :
- /boot : fichiers d'amorçage (noyau Linux...)
- SWAP : espace d'échange mémoire
- / : racine du système de fichiers
Sélectionnez votre disque principal (généralement sda) :

Choisissez "All files in one partition (recommended for new users)" :

Validez avec "Yes" pour appliquer les changements.

Laissez la valeur par défaut et continuez. Confirmez avec "Yes" pour appliquer :

L'installation du système de base démarre.
Miroir et dépôts
Choisissez "No" pour ne pas analyser d'autre média :

Sélectionnez un miroir proche géographiquement (ex. "France") pour de meilleures vitesses de téléchargement :

Vous pouvez laisser le champ proxy vide dans la plupart des cas.
apt installe et met à jour le système.
Sélection des logiciels
Participez ou non aux statistiques Debian (popcon) selon vos préférences de vie privée. Pour une installation minimale, désélectionnez tout sauf SSH Server avec la barre Espace :

GRUB et redémarrage
Choisissez "Yes" pour installer GRUB, puis sélectionnez votre disque principal (sda) :

Votre serveur redémarre. L'écran du chargeur GRUB s'affiche brièvement avant que Debian démarre automatiquement.
Configuration initiale
Première connexion console
Sur l'écran de connexion, saisissez root puis votre mot de passe.

Adresse IP du serveur
Votre box a attribué une adresse IP automatiquement (DHCP). Pour la connaître :
ip addr
Résultat typique :
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 ...
inet 192.168.1.134/24 brd 192.168.1.255 scope global noprefixroute eth0
Notez l'adresse IP (ici 192.168.1.134) et l'adresse MAC affichée après link/ether : vous en aurez besoin pour la réservation DHCP.
lo (loopback, 127.0.0.1) est interne à la machine, ignorez-le.eth0, enp0s3, enp3s0... selon votre matériel. Sur certains serveurs, c'est ens3 ou enp1s0. Adaptez les commandes en conséquence.Réservation d'une IP fixe
Sur serveur, une adresse IP fixe est indispensable : les clients et services s'y connectent, et une IP changeante imposerait de reconfigurer tout le réseau.
Deux approches possibles :
| Méthode | Avantages | Inconvénients |
|---|---|---|
| Réservation DHCP (sur la box) | Simple, pas de connaissance réseau requise | Dépend de la box |
IP statique dans /etc/network/interfaces |
Indépendante de la box | Nécessite de connaître IP, masque, passerelle |
Nous recommandons la réservation DHCP pour commencer.
Depuis votre PC, connectez-vous à l'interface de votre box :
- FreeBox : http://mafreebox.freebox.fr
- Orange LiveBox : http://192.168.1.1
- SFR Box : http://192.168.1.1
- Bouygues Box : http://192.168.1.1
Dans la section DHCP (souvent "Baux DHCP" ou "Réservation DHCP"), associez l'adresse MAC de votre serveur à l'IP fixe souhaitée (ex. 192.168.1.101).
192.168.1.101 et l'adresse MAC sont des exemples. Entrez les valeurs de votre propre réseau.Sauvegardez, puis depuis le serveur, forcez le renouvellement de l'IP.
Sur Debian 13, si votre réseau est géré par ifupdown (cas typique d'une install serveur minimale) :
ifdown eth0 && ifup eth0
eth0 par le nom de votre interface réseau.Depuis votre PC, vérifiez que le serveur répond sur la nouvelle IP :
ping 192.168.1.101
PING 192.168.1.101 (192.168.1.101) 56(84) bytes of data.
64 bytes from 192.168.1.101: icmp_seq=1 ttl=64 time=1 ms
Stoppez avec Ctrl+C.
Première connexion SSH
SSH est l'outil incontournable pour administrer un serveur à distance de façon sécurisée.
apt install -y openssh-serverDepuis votre PC, connectez-vous en SSH sur le serveur (terminal, Ctrl+Alt+T) :
ssh root@192.168.1.101
À la première connexion, ce message s'affiche :
The authenticity of host '192.168.1.101 (192.168.1.101)' can't be established.
ED25519 key fingerprint is SHA256:m65eoXR7/NGxhE169ey8YjE3pwYAR3O4vs0bc3Keyh5.
Are you sure you want to continue connecting (yes/no/[fingerprint])?
Tapez yes pour valider. La clé du serveur est enregistrée dans ~/.ssh/known_hosts sur votre PC.
Entrez votre mot de passe root. Vous êtes connecté.
Logiciels utiles
L'installation minimale est... vraiment minimale. Voici les outils que nous ajoutons systématiquement sur un serveur :
apt install -y bash-completion plocate wget nano htop
| Paquet | Usage |
|---|---|
bash-completion |
Autocomplétion des commandes avec Tab |
plocate |
Recherche rapide de fichiers (remplace mlocate sur Debian 12+) |
wget |
Téléchargement de fichiers depuis le terminal |
nano |
Éditeur de texte simple (alternative à vi) |
htop |
Moniteur de performance interactif |
plocate remplace mlocate à partir de Debian 12. Le nom de la commande reste locate.Indexez les fichiers pour que locate fonctionne :
updatedb
Exemple : chercher le fichier de version de Debian :
locate debian_version
/etc/debian_version
Personnalisation du shell
Le shell par défaut est austère. Ajoutons couleurs et alias pour gagner en confort.
Éditez le fichier .bashrc de root :
nano /root/.bashrc
Dé-commentez les lignes suivantes (retirez le # en début de ligne) :
export LS_OPTIONS='--color=auto'
eval "`dircolors`"
alias ls='ls $LS_OPTIONS'
alias ll='ls $LS_OPTIONS -l'
alias l='ls $LS_OPTIONS -lA'
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
Ajoutez cette ligne pour coloriser le prompt :
PS1='\[\e[01;31m\]\u\[\e[m\]@\[\e[01;33m\]\h\[\e[m\]: \[\e[01;33m\]\w\[\e[m\]\$ '
Sauvegardez avec Ctrl+X, confirmez avec Y, puis Entrée.
Rechargez le shell :
exec bash
rm, mv et cp demanderont maintenant une confirmation avant d'agir. Pratique pour éviter les suppressions accidentelles.root. Pour l'appliquer à votre compte utilisateur, répétez les mêmes modifications dans /home/votre-utilisateur/.bashrc.Mises à jour
Mise à jour manuelle
Mettez à jour la liste des paquets disponibles :
apt update
Installez les mises à jour :
apt upgrade
apt liste les paquets à mettre à jour, la taille à télécharger, et demande confirmation. Tapez Y puis Entrée (ou juste Entrée si Y est en majuscule, c'est la valeur par défaut).
Mises à jour automatiques de sécurité
Soyons honnêtes : peu de gens se connectent régulièrement sur leur serveur pour mettre à jour manuellement.
Installez unattended-upgrades :
apt install -y unattended-upgrades
Éditez la configuration :
nano /etc/apt/apt.conf.d/50unattended-upgrades
Décommentez les lignes suivantes :
Unattended-Upgrade::Mail "root";
Unattended-Upgrade::MailOnlyOnError "true";
Unattended-Upgrade::Remove-Unused-Dependencies "true";
Unattended-Upgrade::Automatic-Reboot "true";
Unattended-Upgrade::Automatic-Reboot-Time "05:00";
Acquire::http::Dl-Limit "500";
Ces lignes activent : notification par email en cas d'erreur, suppression des dépendances inutiles, redémarrage automatique à 5h du matin si nécessaire, et limitation de la bande passante à 500 kbps.
Créez et éditez le fichier d'activation :
nano /etc/apt/apt.conf.d/20auto-upgrades
Contenu à ajouter :
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Download-Upgradeable-Packages "1";
APT::Periodic::Unattended-Upgrade "1";
APT::Periodic::AutocleanInterval "7";
apt autoremove pour nettoyer les paquets inutilisés, et à surveiller le cycle de vie Debian pour planifier les mises à niveau de version.Installation de sudo
root vide lors de l'installation, sudo est déjà installé et votre compte utilisateur est déjà configuré. Passez à la section suivante.À partir de maintenant, nous allons travailler avec notre compte utilisateur plutôt qu'avec root.
Installez sudo :
apt install -y sudo
Ajoutez votre compte utilisateur (remplacez john par le vôtre) dans le groupe sudoers :
usermod -aG sudo john
Fermez la session root :
exit
Reconnectez-vous avec votre compte utilisateur.
Sécurisation SSH
Le service SSH est votre porte d'entrée sur le serveur. Il convient de le sécuriser sérieusement.
Nous allons : - interdire la connexion directe avec root via SSH - interdire l'authentification par mot de passe (en faveur des clés) - interdire la redirection X11 (inutile sur serveur)
root après connexion avec votre compte utilisateur via sudo su -.Génération de la paire de clés SSH
Depuis votre PC, générez une paire de clés. Nous recommandons l'algorithme Ed25519, plus moderne et tout aussi sûr que RSA 4096 :
ssh-keygen -f ~/.ssh/serveur -t ed25519
L'installateur vous propose d'ajouter une passphrase (mot de passe protégeant la clé privée). C'est recommandé.
Generating public/private ed25519 key pair.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/votre-pseudo/.ssh/serveur
Your public key has been saved in /home/votre-pseudo/.ssh/serveur.pub
Deux fichiers sont créés : - serveur : la clé privée, à ne jamais communiquer - serveur.pub : la clé publique, à copier sur le serveur
Copie de la clé publique sur le serveur
Depuis votre PC, copiez la clé publique sur le serveur (le mot de passe de votre compte utilisateur vous sera demandé) :
ssh-copy-id -i ~/.ssh/serveur.pub john@192.168.1.101
La clé est maintenant dans /home/john/.ssh/authorized_keys sur le serveur.
Configuration du démon SSH
Connectez-vous en SSH avec votre compte utilisateur, puis éditez la configuration SSHd :
sudo nano /etc/ssh/sshd_config
Ajustez ou ajoutez ces lignes :
PermitRootLogin no
PasswordAuthentication no
X11Forwarding no
Sauvegardez avec Ctrl+X, puis rechargez SSH :
sudo systemctl reload sshd
Testez depuis votre PC dans une nouvelle fenêtre de terminal :
ssh -i ~/.ssh/serveur john@192.168.1.101
Pare-feu avec UFW
UFW (Uncomplicated FireWall) est un outil qui simplifie la gestion du pare-feu.
Installez-le :
sudo apt install ufw
Configurez les règles par défaut :
sudo ufw default deny incoming
sudo ufw default allow outgoing
Autorisez SSH (port 22) :
sudo ufw allow ssh
sudo ufw allow 80/tcp et sudo ufw allow 443/tcp.Vérifiez les règles avant d'activer :
sudo ufw status verbose
Status: inactive
Default: deny (incoming), allow (outgoing)
To Action From
-- ------ ----
22/tcp ALLOW IN Anywhere
22/tcp (v6) ALLOW IN Anywhere (v6)
Activez le pare-feu :
sudo ufw enable
Sécurisation du BIOS
Maintenant que le serveur est opérationnel, retournez dans le BIOS pour :
- désactiver le démarrage sur clé USB, CD/DVD et réseau
- activer un mot de passe BIOS fort (attention au clavier QWERTY souvent utilisé en BIOS)
- stocker ce mot de passe dans KeePassXC
Bonnes pratiques d'administration
Sauvegardes
Les sauvegardes sont votre filet de sécurité. Elles doivent être :
- régulières (quotidiennes pour les données importantes)
- chiffrées
- stockées sur une machine différente du serveur (externalisation)
- testées en restauration périodiquement
Les éléments à sauvegarder en priorité :
- /etc/ : fichiers de configuration
- /var/www/ : données de vos sites web
- /srv/ : données partagées sur le réseau
- /home/ : dossiers utilisateurs
- /root/ : dossier de root
Pour les bases de données (MySQL, MariaDB, PostgreSQL), utilisez toujours un export propre plutôt que les fichiers bruts :
mysqldump ou automysqlbackup. Ne sauvegardez jamais directement /var/lib/mysql/ : vous ne pourrez pas restaurer des données cohérentes depuis des fichiers bruts.Mots de passe
- Utilisez des mots de passe forts et différents pour chaque compte
- Pour SSH, préférez les clés avec passphrase
- Stockez tout dans un gestionnaire de mots de passe
Consultez l'article sur les gestionnaires de mots de passe pour plus de détails :
Documentation personnelle
Notez au fur et à mesure les étapes de configuration de votre serveur. Ça paraît fastidieux, mais c'est invaluable le jour où vous devez tout réinstaller ou déboguer six mois plus tard.
Administration quotidienne
- Administrez depuis un PC sous GNU/Linux via SSH avec des clés
- Évitez d'administrer depuis Windows ou macOS, plus exposés aux malwares
- Cockpit peut sembler pratique pour les débutants, mais il augmente la surface d'attaque et ne vous aide pas à comprendre votre système
Et maintenant ?
Il ne fait encore rien de particulier. La suite dépend des services que vous souhaitez y héberger.
Pour aller plus loin dans la sécurisation, consultez le tutoriel Serveur Hardening :
