Sommaire
Guide détaillé
Étape 1
Nommer le service avant de l’installer
Choisissez un nom d’hôte qui raconte le rôle du conteneur. Dans trois mois, web-demo ou api-facturation sera plus utile que debian-12-2.
Observer la machine avant de changer quoi que ce soit
Ces commandes affichent la distribution, le nom de la machine, les interfaces réseau, les routes, la mémoire et l’espace disque. Elles ne modifient rien.
cat /etc/os-release
hostnamectl
ip -br addr
ip route
free -h
df -h
Ce que font les commandes
- `cat /etc/os-release` affiche la distribution et sa version exacte.
- `hostnamectl` affiche le nom, le type de machine et quelques informations système.
- `ip -br addr` liste les interfaces et adresses IP sous une forme courte.
- `ip route` montre la passerelle utilisée et les routes connues.
- `free -h` affiche RAM et swap dans une unité lisible.
- `df -h` indique l’espace disque libre par point de montage.
Contrôler un service systemd
systemd donne l’état réel du service, son démarrage automatique et les journaux utiles au diagnostic.
sudo systemctl daemon-reload
sudo systemctl enable --now app.service
systemctl status app.service --no-pager
journalctl -u app.service -n 100 --no-pager
Ce que font les commandes
- `systemctl daemon-reload` recharge les unités systemd après modification d’un fichier de service.
- `systemctl enable --now` démarre le service immédiatement et l’active au prochain démarrage.
- `systemctl status` confirme l’état du service et affiche les dernières lignes utiles.
- `journalctl` lit les journaux systemd ; l’option `--no-pager` évite un affichage interactif.
Installer et tester un serveur web
Sur Debian ou Ubuntu, Nginx est un choix simple pour exposer une page, un reverse proxy ou une application HTTP.
sudo apt update
sudo apt install -y nginx
sudo systemctl enable --now nginx
systemctl status nginx --no-pager
curl -I http://127.0.0.1
Ce que font les commandes
- `apt update` recharge la liste des paquets Debian/Ubuntu disponibles.
- `apt install` installe les paquets indiqués depuis les dépôts configurés.
- `systemctl enable --now` démarre le service immédiatement et l’active au prochain démarrage.
- `systemctl status` confirme l’état du service et affiche les dernières lignes utiles.
- `curl` teste une URL depuis la machine elle-même.
Commandes adaptées Debian / Ubuntu
Sur Debian ou Ubuntu, apt installe Nginx depuis les dépôts officiels et systemd active le service.
sudo apt update
sudo apt install -y nginx
sudo systemctl enable --now nginx
curl -I http://127.0.0.1
Ce que font les commandes
- `apt update` recharge la liste des paquets Debian/Ubuntu disponibles.
- `apt install` installe les paquets indiqués depuis les dépôts configurés.
- `systemctl enable --now` démarre le service immédiatement et l’active au prochain démarrage.
- `curl` teste une URL depuis la machine elle-même.
Variantes et attention
- Les commandes de ce guide sont adaptées pour Debian / Ubuntu. Si votre image est une autre famille Linux, gardez la logique mais remplacez le gestionnaire de paquets et les noms de services.
- En LXC, certaines actions noyau, modules kernel, Docker imbriqué ou montages spéciaux peuvent dépendre de la configuration de l’hôte. Si une commande touche au noyau, vérifiez d’abord que le conteneur le permet.
- Niveau novice : lancez les commandes une par une. Si une commande affiche une erreur, arrêtez-vous et lisez le message avant de continuer.
Vérifications
- La commande `systemctl --failed` ne doit pas afficher de service critique en échec.
- La commande `df -h` doit montrer assez d’espace libre sur `/`, `/var` et les volumes applicatifs.
- `curl -I http://127.0.0.1` doit répondre avec un code HTTP attendu.
- Le certificat HTTPS doit se renouveler automatiquement si vous exposez le service publiquement.
Étape 2
Installer une base minimale
Partez d’une distribution stable, mettez les paquets à jour et installez uniquement ce qui sert au premier test web. Plus la base est sobre, plus elle sera facile à maintenir.
Observer la machine avant de changer quoi que ce soit
Ces commandes affichent la distribution, le nom de la machine, les interfaces réseau, les routes, la mémoire et l’espace disque. Elles ne modifient rien.
cat /etc/os-release
hostnamectl
ip -br addr
ip route
free -h
df -h
Ce que font les commandes
- `cat /etc/os-release` affiche la distribution et sa version exacte.
- `hostnamectl` affiche le nom, le type de machine et quelques informations système.
- `ip -br addr` liste les interfaces et adresses IP sous une forme courte.
- `ip route` montre la passerelle utilisée et les routes connues.
- `free -h` affiche RAM et swap dans une unité lisible.
- `df -h` indique l’espace disque libre par point de montage.
Appliquer cette étape avec une trace simple
Pour ce conteneur LXC, on écrit ce que l’on va faire, on exécute les vérifications, puis on garde une note datée.
mkdir -p ~/newscloud-notes
printf '%s\n' "Installer une base minimale" > ~/newscloud-notes/etape.txt
systemctl --failed
journalctl -p warning -n 50 --no-pager
cat ~/newscloud-notes/etape.txt
Ce que font les commandes
- `mkdir -p` crée le dossier demandé sans erreur s’il existe déjà.
- `printf` écrit une note ou un fichier de contrôle avec un format prévisible.
- `systemctl --failed` liste les services en échec pour repérer un problème global.
- `journalctl` lit les journaux systemd ; l’option `--no-pager` évite un affichage interactif.
- `cat ~/newscloud-notes/etape.txt` exécute l’action indiquée ; lisez la sortie avant de passer à la commande suivante.
Installer et tester un serveur web
Sur Debian ou Ubuntu, Nginx est un choix simple pour exposer une page, un reverse proxy ou une application HTTP.
sudo apt update
sudo apt install -y nginx
sudo systemctl enable --now nginx
systemctl status nginx --no-pager
curl -I http://127.0.0.1
Ce que font les commandes
- `apt update` recharge la liste des paquets Debian/Ubuntu disponibles.
- `apt install` installe les paquets indiqués depuis les dépôts configurés.
- `systemctl enable --now` démarre le service immédiatement et l’active au prochain démarrage.
- `systemctl status` confirme l’état du service et affiche les dernières lignes utiles.
- `curl` teste une URL depuis la machine elle-même.
Commandes adaptées Debian / Ubuntu
Sur Debian ou Ubuntu, apt installe Nginx depuis les dépôts officiels et systemd active le service.
sudo apt update
sudo apt install -y nginx
sudo systemctl enable --now nginx
curl -I http://127.0.0.1
Ce que font les commandes
- `apt update` recharge la liste des paquets Debian/Ubuntu disponibles.
- `apt install` installe les paquets indiqués depuis les dépôts configurés.
- `systemctl enable --now` démarre le service immédiatement et l’active au prochain démarrage.
- `curl` teste une URL depuis la machine elle-même.
Variantes et attention
- Les commandes de ce guide sont adaptées pour Debian / Ubuntu. Si votre image est une autre famille Linux, gardez la logique mais remplacez le gestionnaire de paquets et les noms de services.
- En LXC, certaines actions noyau, modules kernel, Docker imbriqué ou montages spéciaux peuvent dépendre de la configuration de l’hôte. Si une commande touche au noyau, vérifiez d’abord que le conteneur le permet.
- Niveau novice : lancez les commandes une par une. Si une commande affiche une erreur, arrêtez-vous et lisez le message avant de continuer.
Vérifications
- La commande `systemctl --failed` ne doit pas afficher de service critique en échec.
- La commande `df -h` doit montrer assez d’espace libre sur `/`, `/var` et les volumes applicatifs.
- `curl -I http://127.0.0.1` doit répondre avec un code HTTP attendu.
- Le certificat HTTPS doit se renouveler automatiquement si vous exposez le service publiquement.
Étape 3
Publier une page de contrôle
Une page simple permet de vérifier le serveur web sans mélanger DNS, application et certificat. C’est votre point de repère pendant toute la mise en ligne.
Observer la machine avant de changer quoi que ce soit
Ces commandes affichent la distribution, le nom de la machine, les interfaces réseau, les routes, la mémoire et l’espace disque. Elles ne modifient rien.
cat /etc/os-release
hostnamectl
ip -br addr
ip route
free -h
df -h
Ce que font les commandes
- `cat /etc/os-release` affiche la distribution et sa version exacte.
- `hostnamectl` affiche le nom, le type de machine et quelques informations système.
- `ip -br addr` liste les interfaces et adresses IP sous une forme courte.
- `ip route` montre la passerelle utilisée et les routes connues.
- `free -h` affiche RAM et swap dans une unité lisible.
- `df -h` indique l’espace disque libre par point de montage.
Installer une page web de contrôle
Cette page simple permet de distinguer un problème Nginx d’un problème DNS, proxy ou pare-feu.
sudo apt update
sudo apt install -y nginx
printf '<h1>OK Newscloud</h1>\n' | sudo tee /var/www/html/index.html
sudo systemctl enable --now nginx
curl -I http://127.0.0.1
Ce que font les commandes
- `apt update` recharge la liste des paquets Debian/Ubuntu disponibles.
- `apt install` installe les paquets indiqués depuis les dépôts configurés.
- `printf` écrit une note ou un fichier de contrôle avec un format prévisible.
- `systemctl enable --now` démarre le service immédiatement et l’active au prochain démarrage.
- `curl` teste une URL depuis la machine elle-même.
Installer et tester un serveur web
Sur Debian ou Ubuntu, Nginx est un choix simple pour exposer une page, un reverse proxy ou une application HTTP.
sudo apt update
sudo apt install -y nginx
sudo systemctl enable --now nginx
systemctl status nginx --no-pager
curl -I http://127.0.0.1
Ce que font les commandes
- `apt update` recharge la liste des paquets Debian/Ubuntu disponibles.
- `apt install` installe les paquets indiqués depuis les dépôts configurés.
- `systemctl enable --now` démarre le service immédiatement et l’active au prochain démarrage.
- `systemctl status` confirme l’état du service et affiche les dernières lignes utiles.
- `curl` teste une URL depuis la machine elle-même.
Commandes adaptées Debian / Ubuntu
Sur Debian ou Ubuntu, apt installe Nginx depuis les dépôts officiels et systemd active le service.
sudo apt update
sudo apt install -y nginx
sudo systemctl enable --now nginx
curl -I http://127.0.0.1
Ce que font les commandes
- `apt update` recharge la liste des paquets Debian/Ubuntu disponibles.
- `apt install` installe les paquets indiqués depuis les dépôts configurés.
- `systemctl enable --now` démarre le service immédiatement et l’active au prochain démarrage.
- `curl` teste une URL depuis la machine elle-même.
Variantes et attention
- Les commandes de ce guide sont adaptées pour Debian / Ubuntu. Si votre image est une autre famille Linux, gardez la logique mais remplacez le gestionnaire de paquets et les noms de services.
- En LXC, certaines actions noyau, modules kernel, Docker imbriqué ou montages spéciaux peuvent dépendre de la configuration de l’hôte. Si une commande touche au noyau, vérifiez d’abord que le conteneur le permet.
- Niveau novice : lancez les commandes une par une. Si une commande affiche une erreur, arrêtez-vous et lisez le message avant de continuer.
Vérifications
- La commande `systemctl --failed` ne doit pas afficher de service critique en échec.
- La commande `df -h` doit montrer assez d’espace libre sur `/`, `/var` et les volumes applicatifs.
- `curl -I http://127.0.0.1` doit répondre avec un code HTTP attendu.
- Le certificat HTTPS doit se renouveler automatiquement si vous exposez le service publiquement.
Étape 4
Tester depuis le bon endroit
Testez localement depuis le conteneur, puis depuis l’extérieur. Si l’un marche et pas l’autre, vous savez si le problème vient du service ou du réseau.
Observer la machine avant de changer quoi que ce soit
Ces commandes affichent la distribution, le nom de la machine, les interfaces réseau, les routes, la mémoire et l’espace disque. Elles ne modifient rien.
cat /etc/os-release
hostnamectl
ip -br addr
ip route
free -h
df -h
Ce que font les commandes
- `cat /etc/os-release` affiche la distribution et sa version exacte.
- `hostnamectl` affiche le nom, le type de machine et quelques informations système.
- `ip -br addr` liste les interfaces et adresses IP sous une forme courte.
- `ip route` montre la passerelle utilisée et les routes connues.
- `free -h` affiche RAM et swap dans une unité lisible.
- `df -h` indique l’espace disque libre par point de montage.
Appliquer cette étape avec une trace simple
Pour ce conteneur LXC, on écrit ce que l’on va faire, on exécute les vérifications, puis on garde une note datée.
mkdir -p ~/newscloud-notes
printf '%s\n' "Tester depuis le bon endroit" > ~/newscloud-notes/etape.txt
systemctl --failed
journalctl -p warning -n 50 --no-pager
cat ~/newscloud-notes/etape.txt
Ce que font les commandes
- `mkdir -p` crée le dossier demandé sans erreur s’il existe déjà.
- `printf` écrit une note ou un fichier de contrôle avec un format prévisible.
- `systemctl --failed` liste les services en échec pour repérer un problème global.
- `journalctl` lit les journaux systemd ; l’option `--no-pager` évite un affichage interactif.
- `cat ~/newscloud-notes/etape.txt` exécute l’action indiquée ; lisez la sortie avant de passer à la commande suivante.
Installer et tester un serveur web
Sur Debian ou Ubuntu, Nginx est un choix simple pour exposer une page, un reverse proxy ou une application HTTP.
sudo apt update
sudo apt install -y nginx
sudo systemctl enable --now nginx
systemctl status nginx --no-pager
curl -I http://127.0.0.1
Ce que font les commandes
- `apt update` recharge la liste des paquets Debian/Ubuntu disponibles.
- `apt install` installe les paquets indiqués depuis les dépôts configurés.
- `systemctl enable --now` démarre le service immédiatement et l’active au prochain démarrage.
- `systemctl status` confirme l’état du service et affiche les dernières lignes utiles.
- `curl` teste une URL depuis la machine elle-même.
Commandes adaptées Debian / Ubuntu
Sur Debian ou Ubuntu, apt installe Nginx depuis les dépôts officiels et systemd active le service.
sudo apt update
sudo apt install -y nginx
sudo systemctl enable --now nginx
curl -I http://127.0.0.1
Ce que font les commandes
- `apt update` recharge la liste des paquets Debian/Ubuntu disponibles.
- `apt install` installe les paquets indiqués depuis les dépôts configurés.
- `systemctl enable --now` démarre le service immédiatement et l’active au prochain démarrage.
- `curl` teste une URL depuis la machine elle-même.
Variantes et attention
- Les commandes de ce guide sont adaptées pour Debian / Ubuntu. Si votre image est une autre famille Linux, gardez la logique mais remplacez le gestionnaire de paquets et les noms de services.
- En LXC, certaines actions noyau, modules kernel, Docker imbriqué ou montages spéciaux peuvent dépendre de la configuration de l’hôte. Si une commande touche au noyau, vérifiez d’abord que le conteneur le permet.
- Niveau novice : lancez les commandes une par une. Si une commande affiche une erreur, arrêtez-vous et lisez le message avant de continuer.
Vérifications
- La commande `systemctl --failed` ne doit pas afficher de service critique en échec.
- La commande `df -h` doit montrer assez d’espace libre sur `/`, `/var` et les volumes applicatifs.
- `curl -I http://127.0.0.1` doit répondre avec un code HTTP attendu.
- Le certificat HTTPS doit se renouveler automatiquement si vous exposez le service publiquement.
Étape 5
Noter les ports vraiment utiles
Gardez une trace des ports ouverts pour éviter l’exposition par habitude. Un conteneur web n’a généralement pas besoin de beaucoup plus que SSH et HTTP/HTTPS.
Observer la machine avant de changer quoi que ce soit
Ces commandes affichent la distribution, le nom de la machine, les interfaces réseau, les routes, la mémoire et l’espace disque. Elles ne modifient rien.
cat /etc/os-release
hostnamectl
ip -br addr
ip route
free -h
df -h
Ce que font les commandes
- `cat /etc/os-release` affiche la distribution et sa version exacte.
- `hostnamectl` affiche le nom, le type de machine et quelques informations système.
- `ip -br addr` liste les interfaces et adresses IP sous une forme courte.
- `ip route` montre la passerelle utilisée et les routes connues.
- `free -h` affiche RAM et swap dans une unité lisible.
- `df -h` indique l’espace disque libre par point de montage.
Lister les ports et tester le réseau
On vérifie ce qui écoute réellement et on teste localement avant de chercher une erreur côté DNS ou routeur.
ip -br addr
ip route
sudo ss -tulpn
curl -I http://127.0.0.1
nc -vz 127.0.0.1 80
Ce que font les commandes
- `ip -br addr` liste les interfaces et adresses IP sous une forme courte.
- `ip route` montre la passerelle utilisée et les routes connues.
- `ss -tulpn` liste les ports ouverts et les processus qui écoutent.
- `curl` teste une URL depuis la machine elle-même.
- `nc -vz` teste si un port TCP répond sans envoyer de données applicatives.
Installer et tester un serveur web
Sur Debian ou Ubuntu, Nginx est un choix simple pour exposer une page, un reverse proxy ou une application HTTP.
sudo apt update
sudo apt install -y nginx
sudo systemctl enable --now nginx
systemctl status nginx --no-pager
curl -I http://127.0.0.1
Ce que font les commandes
- `apt update` recharge la liste des paquets Debian/Ubuntu disponibles.
- `apt install` installe les paquets indiqués depuis les dépôts configurés.
- `systemctl enable --now` démarre le service immédiatement et l’active au prochain démarrage.
- `systemctl status` confirme l’état du service et affiche les dernières lignes utiles.
- `curl` teste une URL depuis la machine elle-même.
Commandes adaptées Debian / Ubuntu
Sur Debian ou Ubuntu, apt installe Nginx depuis les dépôts officiels et systemd active le service.
sudo apt update
sudo apt install -y nginx
sudo systemctl enable --now nginx
curl -I http://127.0.0.1
Ce que font les commandes
- `apt update` recharge la liste des paquets Debian/Ubuntu disponibles.
- `apt install` installe les paquets indiqués depuis les dépôts configurés.
- `systemctl enable --now` démarre le service immédiatement et l’active au prochain démarrage.
- `curl` teste une URL depuis la machine elle-même.
Variantes et attention
- Les commandes de ce guide sont adaptées pour Debian / Ubuntu. Si votre image est une autre famille Linux, gardez la logique mais remplacez le gestionnaire de paquets et les noms de services.
- En LXC, certaines actions noyau, modules kernel, Docker imbriqué ou montages spéciaux peuvent dépendre de la configuration de l’hôte. Si une commande touche au noyau, vérifiez d’abord que le conteneur le permet.
- Niveau novice : lancez les commandes une par une. Si une commande affiche une erreur, arrêtez-vous et lisez le message avant de continuer.
Vérifications
- La commande `systemctl --failed` ne doit pas afficher de service critique en échec.
- La commande `df -h` doit montrer assez d’espace libre sur `/`, `/var` et les volumes applicatifs.
- `curl -I http://127.0.0.1` doit répondre avec un code HTTP attendu.
- Le certificat HTTPS doit se renouveler automatiquement si vous exposez le service publiquement.
Checklist finale
- Nom d’hôte lisible
- HTTP testé
- Ports inutiles fermés