Transformer un vieux PC en serveur : de la poussiere au cloud personnel
Tu as un vieux PC qui traine ? Il peut devenir ton propre serveur, gratuit, chez toi. Voici comment j'ai fait.
Pourquoi j'ai fait ca
J'en avais marre de payer pour des VPS cloud. J'avais un vieux PC HP qui prenait la poussiere. Aujourd'hui, il heberge mon portfolio, mes APIs, mes side projects — accessibles depuis n'importe ou dans le monde. Cout mensuel ? 0 FCFA (hors electricite et internet que je paie deja).
Dans cette serie en 4 parties, je te montre exactement comment reproduire mon setup. Pas de blabla theorique : des commandes, des captures, et les erreurs que j'ai faites pour que tu les evites.
Ce qu'on va accomplir dans cette serie
- Partie 1 (cet article) — Installer Ubuntu Server + fixer l'IP locale
- Partie 2 — Securiser SSH + acceder au serveur depuis n'importe ou avec Cloudflare Tunnel
- Partie 3 — Installer Docker + Coolify pour deployer ses projets
- Partie 4 — Deployer une vraie app avec deploiement continu (CI/CD automatique)
Prerequis materiel
Voici ce que j'utilise :
- Processeur : Intel Core i5 6e gen (minimum : n'importe quel CPU 64-bit)
- RAM : 12 Go (minimum : 4 Go)
- Stockage : 500 Go HDD (recommande : 120 Go SSD)
- Connexion : Ethernet vers CanalBox (Internet stable requis)
- Cle USB : 8 Go ou plus
- Autre PC : pour se connecter en SSH (obligatoire)
Note : un SSD rendra tout beaucoup plus rapide, mais un HDD fonctionne.
Phase 1 — Preparer la cle USB bootable
Telecharger Ubuntu Server 24.04 LTS
Rendez-vous sur ubuntu.com/download/server et telecharger la version 24.04 LTS (Long Term Support = mises a jour pendant 5 ans).

Creer la cle bootable
Sur Windows : utiliser Rufus
- Inserer la cle USB
- Selectionner l'ISO Ubuntu Server
- Partition scheme : GPT
- Systeme de fichiers : FAT32
- Cliquer sur START
Sur Mac/Linux : utiliser Balena Etcher

Erreur frequente : la cle ne boot pas. Reformater en FAT32 avant de reflasher. Verifier aussi que l'ISO n'est pas corrompue (comparer le SHA256).
Phase 2 — Installer Ubuntu Server
Demarrer sur la cle USB
- Brancher la cle USB sur le vieux PC
- Allumer et appuyer sur F9 (HP) ou F12 (Dell) ou F2 (Acer) pour le menu de boot
- Selectionner la cle USB
- Choisir "Install Ubuntu Server"
Les etapes d'installation (video)
J'ai filme tout le processus d'installation. Tu peux suivre la video en parallele :
Les choix importants pendant l'installation :
- Langue : Francais ou Anglais (je recommande Anglais pour les messages d'erreur plus faciles a chercher sur Google)
- Clavier : French si tu as un AZERTY
- Reseau : selectionner l'interface ethernet si connecte par cable
- Partitionnement : "Use an entire disk" pour les debutants
- OpenSSH Server : COCHER ABSOLUMENT — c'est ce qui permet de se connecter a distance
- Utilisateur : creer un utilisateur non-root avec un mot de passe solide
Creer un utilisateur et desactiver root
Pendant l'installation, tu crees un utilisateur normal (pas root). C'est volontaire : on ne se connectera jamais en root directement. Pourquoi ?
- Root a tous les pouvoirs — une erreur de frappe peut detruire le systeme
- Les bots sur Internet tentent constamment de se connecter en root
- Avec sudo, tu as les memes pouvoirs mais avec une couche de protection
Apres l'installation, verifier que root est bien desactive pour SSH :
# Verifier que root ne peut pas se connecter en SSH
sudo grep PermitRootLogin /etc/ssh/sshd_config
# Doit afficher : PermitRootLogin no
# Si ce n'est pas le cas :
sudo sed -i 's/#PermitRootLogin yes/PermitRootLogin no/' /etc/ssh/sshd_config
sudo sed -i 's/PermitRootLogin yes/PermitRootLogin no/' /etc/ssh/sshd_config
sudo systemctl restart ssh
Piege classique : oublier d'installer OpenSSH. Si c'est ton cas, pas de panique : sudo apt install openssh-server
Une fois l'installation terminee, retirer la cle USB et redemarrer.
Phase 3 — Premier contact et mise a jour
Le serveur demarre et affiche un ecran noir avec un login. Bienvenue dans le monde du terminal ! Connecte-toi avec l'utilisateur cree pendant l'installation.
Premiere mise a jour
sudo apt update && sudo apt upgrade -y
Installer les outils essentiels
sudo apt install ufw fail2ban curl git net-tools -y
- ufw : pare-feu simple et efficace
- fail2ban : bloque automatiquement les IP qui tentent du brute force
- curl/git : outils indispensables pour la suite
- net-tools : utilitaires reseau (ifconfig, etc.)
Configurer le pare-feu (UFW)
Le pare-feu est indispensable. Il bloque tout le trafic entrant sauf ce qu'on autorise explicitement :
# Autoriser SSH (port 22) - INDISPENSABLE avant d'activer le pare-feu !
sudo ufw allow OpenSSH
# Autoriser HTTP et HTTPS (pour les sites web plus tard)
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
# Autoriser le port 8000 (pour Coolify plus tard)
sudo ufw allow 8000/tcp
# Activer le pare-feu
sudo ufw enable
# Verifier le statut
sudo ufw status verbose
ATTENTION : active ufw allow OpenSSH AVANT ufw enable. Sinon tu te bloques dehors et tu devras te connecter physiquement au serveur pour corriger.
Ports importants a retenir :
- 22 : SSH (connexion a distance)
- 80 : HTTP (sites web non securises)
- 443 : HTTPS (sites web securises)
- 8000 : Coolify (interface d'administration)
Activer Fail2ban
Fail2ban surveille les tentatives de connexion echouees et bannit les IP suspectes automatiquement :
sudo systemctl enable fail2ban
sudo systemctl start fail2ban
# Verifier que ca tourne
sudo fail2ban-client status sshd
Verifier la connexion reseau
ip a
Tu devrais voir une interface (genre enp3s0 ou eth0) avec une adresse IP du type 192.168.1.x. Note cette adresse et le nom de l'interface.
Phase 4 — Fixer l'adresse IP locale
Par defaut, ton routeur attribue une IP dynamique (DHCP) qui peut changer a chaque redemarrage. Pour un serveur, on veut une IP fixe.
Methode 1 : Via Netplan (sur le serveur)
# Identifier ton interface reseau
ip a
# Editer la config Netplan
sudo nano /etc/netplan/00-installer-config.yaml
Remplacer le contenu par :
network:
version: 2
ethernets:
enp3s0:
dhcp4: no
addresses:
- 192.168.1.80/24
routes:
- to: default
via: 192.168.1.1
nameservers:
addresses:
- 8.8.8.8
- 1.1.1.1
Important : remplace enp3s0 par le nom de TON interface (visible avec ip a). Et choisis une IP qui n'est pas deja utilisee sur ton reseau.
Appliquer :
sudo netplan apply
# Verifier que l'IP est bien fixee
ip a
Methode 2 : Via le routeur CanalBox (bail DHCP fixe)
C'est la methode que j'utilise en complement. Tu reserves l'IP directement dans la box :
- Aller sur my.canalbox.africa/login
- Se connecter avec le numero de serie au dos du routeur
- Chercher la section DHCP ou Bail statique
- Ajouter l'adresse MAC de ton serveur avec l'IP souhaitee (ex: 192.168.1.80)
Voici la video qui montre comment configurer l'adressage :
Conseil : utilise les deux methodes. Netplan fixe l'IP cote serveur, et le bail DHCP empeche la box d'attribuer cette IP a un autre appareil.
Phase 5 — Premier test SSH depuis un autre PC
Depuis ton autre ordinateur (sur le meme reseau) :
ssh [email protected]
Si ca marche, tu verras le terminal de ton serveur. Felicitations, tu n'as plus besoin d'ecran ni de clavier sur le serveur !
Ca ne marche pas ? Verifie :
- Le serveur est bien allume et connecte au reseau
- OpenSSH est installe : sudo systemctl status ssh
- Le pare-feu autorise SSH : sudo ufw status (doit montrer OpenSSH ALLOW)
- Tu utilises la bonne IP : ip a sur le serveur
Recapitulatif
A ce stade, tu as :
- Un serveur Ubuntu Server 24.04 LTS installe
- L'acces root desactive (securite)
- Un pare-feu (UFW) configure avec les bons ports ouverts
- Fail2ban actif contre le brute force
- Une IP locale fixe (192.168.1.80)
- Un acces SSH depuis ton reseau local
- Le systeme a jour
Dans la Partie 2, on va securiser SSH encore plus (cles + desactiver le mot de passe) et surtout rendre ton serveur accessible depuis n'importe ou dans le monde grace a Cloudflare Tunnel — sans ouvrir de ports sur ta box.
Tu as des questions ou tu es bloque quelque part ? Laisse un commentaire, je reponds.