Installer Ubuntu Server 24.04 LTS : Guide complet pour débutants
Ubuntu Server 24.04 LTS est la base de l'infrastructure que j'utilise chez BOTUM. Que ce soit pour une VM Proxmox, un VPS en nuage ou un serveur physique, c'est le point de départ de tout. Dans ce guide, je vous emmène de zéro — téléchargement de l'ISO jusqu'à votre première connexion SSH sécurisée.
Pourquoi Ubuntu Server plutôt qu'Ubuntu Desktop ?
Quand on parle de serveur auto-hébergé, le choix de la distribution n'est pas anodin. Ubuntu Server 24.04 LTS s'impose pour plusieurs raisons :
- Pas d'interface graphique — moins de RAM consommée, moins de surface d'attaque
- LTS (Long Term Support) — 5 ans de mises à jour de sécurité (jusqu'en 2029)
- Écosystème immense — la majorité des tutoriels Docker, Kubernetes, cloud-init sont écrits pour Ubuntu
- Snap + APT — deux gestionnaires de paquets, accès à des milliers d'outils
- cloud-init intégré — parfait pour les VMs Proxmox ou les instances cloud (Hetzner, OVH, AWS)
Versus ses concurrents : Debian (plus stable, packages plus anciens), Rocky Linux (entreprise, RPM), Ubuntu Desktop (trop lourd — GNOME ~800 MB RAM). Mon infra BOTUM tourne entièrement sur Ubuntu Server 22.04/24.04.

Télécharger l'ISO Ubuntu Server 24.04 LTS
Téléchargez toujours depuis la source officielle : https://ubuntu.com/download/server. Sélectionnez Ubuntu Server 24.04.2 LTS (Noble Numbat) — fichier d'environ 2,7 GB.
Vérifier l'intégrité de l'ISO (recommandé)
# Vérifier le hash SHA256
sha256sum ubuntu-24.04.2-live-server-amd64.iso
# Comparer avec le hash officiel sur :
# https://releases.ubuntu.com/24.04/SHA256SUMS
Créer une clé USB bootable
Vous avez besoin d'une clé USB de minimum 4 GB (8 GB recommandé).
Avec Rufus (Windows — recommandé)
- Télécharger Rufus : https://rufus.ie
- Brancher votre clé USB
- Ouvrir Rufus → sélectionner la clé USB dans "Périphérique"
- Cliquer "SÉLECTIONNER" → choisir l'ISO Ubuntu Server
- Mode de partition : GPT (UEFI) ou MBR (BIOS/Legacy)
- Cliquer DÉMARRER → choisir "Écrire en mode image ISO" → OK
- Attendre la fin (2-5 minutes)
Avec Balena Etcher (Windows / Mac / Linux)
- Télécharger : https://etcher.balena.io
- "Flash from file" → sélectionner l'ISO
- "Select target" → choisir la clé USB
- Flash! → attendre la fin
⚠️ Attention : La clé USB sera entièrement formatée. Sauvegardez vos données avant.
Installation pas à pas
Démarrez votre machine depuis la clé USB (F2/F12/DEL au boot selon votre BIOS).

Étape 1 — Langue et clavier
- Language : choisissez English (recommandé — documentation technique en anglais)
- Keyboard layout : French → French (ou votre disposition)
- Type of install : Ubuntu Server (laisser par défaut)
Étape 2 — Configuration réseau
L'installeur détecte automatiquement votre interface réseau (eth0, ens18, etc.). Pour une IP statique (recommandée pour un serveur) : Edit IPv4 → Manual → renseignez Subnet, Address, Gateway et Name servers.
Étape 3 — Partitionnement avec LVM
Sélectionnez le disque cible, choisissez "Use an entire disk" + cochez "Set up this disk as an LVM group". LVM permet d'agrandir les partitions facilement plus tard.
/dev/sda (disque principal)
+-- /boot/efi 512 MB (EFI)
+-- /boot 1 GB (Kernel)
+-- ubuntu-vg reste du disque (LVM)
+-- ubuntu-lv 100 GB (montage /)
Étape 4 — Compte utilisateur
Créez votre compte admin. Ne jamais utiliser "root" comme nom d'utilisateur. Définissez un hostname mémorisable (ex: ubuntu-srv-01) et un mot de passe fort (16+ caractères).
Étape 5 — Activer OpenSSH Server ✅
C'est l'étape la plus importante. Cochez "Install OpenSSH server" pour pouvoir vous connecter à distance. Vous pouvez aussi importer vos clés SSH depuis GitHub.
Étape 6 — Packages supplémentaires
L'installeur propose des snaps populaires (Docker, Microk8s...). Recommandation : tout laisser décoché et installer manuellement après. Puis : Done → Reboot Now → retirer la clé USB.
Configuration post-installation
Mises à jour système
# Mettre à jour la liste des paquets et installer les mises à jour
sudo apt update && sudo apt upgrade -y
# Installer les outils essentiels
sudo apt install -y curl wget git htop net-tools unzip
# Redémarrer si le kernel a été mis à jour
sudo reboot
Configurer le pare-feu UFW
# Autoriser SSH (OBLIGATOIRE avant d'activer le pare-feu !)
sudo ufw allow ssh
sudo ufw allow 22/tcp
# Autoriser HTTP et HTTPS
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
# Activer le pare-feu
sudo ufw enable
# Vérifier les règles actives
sudo ufw status verbose
⚠️ Important : Autorisez toujours SSH AVANT d'activer ufw pour ne pas vous verrouiller hors du serveur.
Installer fail2ban — Protection brute force
sudo apt install -y fail2ban
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo nano /etc/fail2ban/jail.local
Configuration recommandée dans jail.local :
[DEFAULT]
bantime = 3600 # 1 heure de ban
findtime = 600 # Fenêtre de détection : 10 minutes
maxretry = 5 # 5 tentatives max avant ban
[sshd]
enabled = true
port = ssh
logpath = %(sshd_log)s
backend = %(sshd_backend)s
sudo systemctl enable fail2ban
sudo systemctl start fail2ban
sudo fail2ban-client status sshd
Créer un utilisateur sudo (ne jamais utiliser root)

# Créer un nouvel utilisateur
sudo adduser newuser
# Ajouter au groupe sudo
sudo usermod -aG sudo newuser
# Vérifier les groupes
groups newuser
# Désactiver la connexion root via SSH
sudo nano /etc/ssh/sshd_config
# Modifier : PermitRootLogin no
sudo systemctl restart ssh
Pourquoi ne pas utiliser root ? Root peut tout faire y compris des erreurs catastrophiques, les logs sont moins traçables, et les attaques par brute force ciblent principalement le compte root. Principe du moindre privilège.
Connexion SSH sécurisée
Générer une paire de clés SSH
Sur votre machine LOCALE (pas le serveur) :
# Générer une clé ED25519 (algorithme moderne, recommandé)
ssh-keygen -t ed25519 -C "faical@botum-infra" -f ~/.ssh/botum_key
# Résultat :
# ~/.ssh/botum_key <- clé PRIVÉE (ne jamais partager)
# ~/.ssh/botum_key.pub <- clé PUBLIQUE (à copier sur le serveur)
Copier la clé publique sur le serveur
# Méthode recommandée
ssh-copy-id -i ~/.ssh/botum_key.pub faical@192.168.1.100
# Tester la connexion par clé
ssh -i ~/.ssh/botum_key faical@192.168.1.100
Désactiver l'authentification par mot de passe
# Sur le serveur
sudo nano /etc/ssh/sshd_config
# Modifier :
PasswordAuthentication no
PubkeyAuthentication yes
# Redémarrer SSH
sudo systemctl restart ssh
Configurer un alias SSH local
# Fichier ~/.ssh/config sur votre machine locale
Host botum-srv
HostName 192.168.1.100
User faical
IdentityFile ~/.ssh/botum_key
Port 22
# Connexion simplifiée
ssh botum-srv
Commandes essentielles — Référence rapide
# === Informations système ===
uname -a # Infos kernel et OS
lsb_release -a # Version Ubuntu
hostname -I # Adresses IP du serveur
df -h # Espace disque
free -h # RAM utilisée/disponible
htop # Processus en temps réel
# === Gestion des services ===
sudo systemctl status ssh
sudo systemctl restart <service>
sudo systemctl enable <service> # Démarrer au boot
# === Gestion des paquets ===
sudo apt update && sudo apt upgrade -y
sudo apt install <paquet>
sudo apt autoremove
# === Réseau ===
ip addr show # Interfaces réseau + IPs
ss -tlnp # Ports ouverts en écoute
# === Logs ===
journalctl -f # Logs système en temps réel
journalctl -u ssh # Logs d'un service
sudo fail2ban-client status # Statut fail2ban
Et maintenant ? Votre serveur est opérationnel. Prochaines étapes : installer Docker, configurer Proxmox VE, ou déployer un reverse proxy SSL avec Zoraxy.
Téléchargez ce guide en PDF pour le consulter hors ligne.
⬇ Télécharger le guide (PDF)🚀 Aller plus loin avec BOTUM
Ce guide couvre les bases. En production, chaque environnement a ses spécificités. Les équipes BOTUM accompagnent les organisations dans le déploiement, la configuration avancée et la sécurisation de leur infrastructure. Si vous avez un projet, parlons-en.
Discuter de votre projet →