Linux / Systèmes

📚 Installation Debian 12 Bookworm — Guide Complet Serveur

Guide complet installation Debian 12 : partitionnement LVM, réseau statique, configuration post-install, sécurisation SSH/UFW/fail2ban, sources APT et paquets serveur.

Debian 12BookwormLVMRéseau statiqueSSHUFWFail2banAPT

Prérequis et téléchargement

UsageISO recommandéeTaille
Serveur (CLI, recommandé)debian-12.x.x-amd64-netinst.iso~400 Mo
Poste / Bureaudebian-12.x.x-amd64-DVD-1.iso~3,7 Go
Installation hors-ligne complètedebian-12.x.x-amd64-DVD-1+2+3.iso~8 Go

Télécharger sur debian.org/download et vérifier la somme SHA512 :

verify-iso.sh
# Vérifier l'intégrité de l'ISO Debian
sha512sum debian-12.6.0-amd64-netinst.iso
# Comparer avec le fichier SHA512SUMS disponible sur debian.org

Étape 1 — Installation guidée

1
Démarrer sur l'ISO
Créer une clé USB bootable avec Rufus (Windows) ou dd if=debian.iso of=/dev/sdX bs=4M status=progress (Linux). Booter sur la clé.
2
Langue et localisation
Sélectionner : Français → France → fr_FR.UTF-8 → Clavier français AZERTY.
3
Réseau
Configurer le nom d'hôte (ex: srv-debian) et le domaine (entreprise.local). DHCP ou IP statique si serveur.
4
Mot de passe root et utilisateur
Définir un mot de passe root fort. Créer un utilisateur standard (éviter de travailler en root directement).
5
Partitionnement
Voir le tableau ci-dessous selon l'usage. Le partitionnement assisté avec LVM est recommandé pour la flexibilité.
6
Sélection des paquets
Décocher "environnement de bureau" pour un serveur. Garder uniquement "utilitaires usuels du système" et "serveur SSH".
7
GRUB
Installer GRUB sur le disque principal (sélectionner /dev/sda ou le bon disque).

Partitionnement recommandé

PartitionPoint de montageTailleSystème de fichiersUsage
EFI/boot/efi512 MoFAT32Démarrage UEFI
/boot/boot1 Goext4Noyaux Linux
swapswap2x RAM (max 8 Go)swapMémoire virtuelle
//20-30 Goext4Système OS
/var/var20+ Goext4Logs, BDD, cache
/tmp/tmp2-5 Goext4 (noexec)Fichiers temporaires
/home/homeResteext4Données utilisateurs
💡
Pour un serveur de production, utiliser LVM (Logical Volume Manager) : le partitionnement assisté Debian propose "Partitionnement assisté avec LVM". Cela permet d'étendre les volumes à chaud plus tard.

Étape 2 — Configuration post-installation

post-install-debian.sh
#!/bin/bash
set -euo pipefail

echo "=== Configuration post-installation Debian 12 ==="

# ── Mise à jour complète ──────────────────────────────────────
apt update && apt full-upgrade -y
echo "[OK] Système à jour"

# ── Paquets essentiels ────────────────────────────────────────
apt install -y     sudo curl wget git vim htop tree     net-tools dnsutils iputils-ping     rsync ncdu unzip ufw     fail2ban logwatch     apt-transport-https ca-certificates gnupg

# ── Ajouter l'utilisateur au groupe sudo ──────────────────────
usermod -aG sudo technicien
echo "[OK] Utilisateur technicien ajouté au groupe sudo"

# ── Fuseau horaire ────────────────────────────────────────────
timedatectl set-timezone Europe/Paris
timedatectl set-ntp true
echo "[OK] Fuseau horaire : Europe/Paris"

# ── SSH sécurisé ──────────────────────────────────────────────
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
sed -i 's/^#PermitRootLogin.*/PermitRootLogin no/' /etc/ssh/sshd_config
sed -i 's/^#PasswordAuthentication.*/PasswordAuthentication yes/' /etc/ssh/sshd_config
sed -i 's/^#MaxAuthTries.*/MaxAuthTries 3/' /etc/ssh/sshd_config
sshd -t && systemctl restart ssh
echo "[OK] SSH sécurisé (root désactivé, max 3 tentatives)"

# ── Pare-feu UFW ──────────────────────────────────────────────
ufw default deny incoming
ufw default allow outgoing
ufw allow ssh
ufw --force enable
echo "[OK] UFW activé (SSH autorisé)"

# ── Fail2ban ─────────────────────────────────────────────────
systemctl enable --now fail2ban
echo "[OK] Fail2ban activé"

# ── Mises à jour automatiques de sécurité ────────────────────
apt install -y unattended-upgrades
dpkg-reconfigure -plow unattended-upgrades
echo "[OK] Mises à jour automatiques configurées"

echo ""
echo "=== Post-installation terminée ==="
echo "Redémarrer avec : reboot"

Étape 3 — Réseau statique (serveur)

/etc/network/interfaces
# Configuration réseau statique Debian 12
# Fichier : /etc/network/interfaces

source /etc/network/interfaces.d/*

auto lo
iface lo inet loopback

# Interface principale
auto enp3s0
iface enp3s0 inet static
    address   192.168.1.20
    netmask   255.255.255.0
    gateway   192.168.1.254
    dns-nameservers 192.168.1.10 8.8.8.8
    dns-search entreprise.local

# Appliquer la configuration réseau
# systemctl restart networking
# ou : ifdown enp3s0 && ifup enp3s0

Étape 4 — Sources APT et paquets utiles

/etc/apt/sources.list
# Sources APT Debian 12 Bookworm — Edition complète
deb http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware
deb http://deb.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware
deb http://deb.debian.org/debian bookworm-updates main contrib non-free non-free-firmware
paquets-serveur.sh
# Paquets selon l'usage du serveur

# Serveur web
apt install -y apache2 php8.2 libapache2-mod-php8.2

# Serveur base de données
apt install -y mariadb-server mariadb-client

# Serveur de fichiers Samba
apt install -y samba samba-common-bin

# Serveur NFS
apt install -y nfs-kernel-server

# Serveur mail (Postfix)
apt install -y postfix dovecot-imapd

# Monitoring
apt install -y zabbix-agent prometheus-node-exporter

# Virtualisation
apt install -y qemu-kvm libvirt-daemon-system virt-manager

# Outils réseau avancés
apt install -y nmap tcpdump iperf3 traceroute mtr-tiny

Commandes Debian essentielles

CommandeDescription
apt update && apt upgradeMettre à jour la liste et les paquets
apt search Rechercher un paquet
apt show Informations détaillées sur un paquet
apt install -y Installer un paquet (sans confirmation)
apt remove / apt purgeSupprimer un paquet (avec/sans config)
apt autoremoveSupprimer les paquets orphelins
dpkg -l | grep Vérifier si un paquet est installé
dpkg -L Lister les fichiers d'un paquet installé
systemctl list-units --type=serviceLister tous les services
journalctl -xeLogs système récents avec contexte d'erreur
timedatectlFuseau horaire et synchronisation NTP
hostnamectl set-hostname srv-debianChanger le nom d'hôte
💡
Astuce : Pour installer Debian en mode non-interactif sur un réseau (PXE), utiliser un fichier preseed.cfg — voir la page Déploiement de Postes pour la configuration complète.
Ajouter Les Fibrés à mes sources préférées
Retrouvez plus souvent nos guides dans vos résultats Google