Files
vps-docs/hestiacp/chapitres/02-preparation-systeme.md
Zana 2e18724685 Ajout du guide PDF HestiaCP réutilisable (HestiaCP 1.10.4)
- 14 chapitres + annexe en Markdown (chapitres/), 99 étapes
- Générateur WeasyPrint (build/build.py) : PDF générique ou
  personnalisé via --vars fichier.conf
- PDF générique + PDF personnalisé srv1.skglobalinstitute.com
- Commandes v-* vérifiées contre le code source HestiaCP 1.10.4
- 03-bis-hestiacp.md pointe vers le nouveau guide

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018J2PsVQ28oW4xEkWJpcU9G
2026-09-10 20:01:59 +02:00

4.6 KiB

Préparer le système

On part d'un Ubuntu 24.04 neuf, connecté en root. Ce chapitre prépare le terrain sans rien installer qui gênerait HestiaCP.

Mettre le système à jour

apt update && apt full-upgrade -y
apt autoremove -y

Si un nouveau noyau a été installé, redémarrez puis reconnectez-vous :

[ -f /var/run/reboot-required ] && reboot

Définir le nom du serveur

hostnamectl set-hostname {{FQDN}}

Ajoutez le nom du serveur dans /etc/hosts :

cat >> /etc/hosts << 'EOF'
{{IP}} {{FQDN}} {{HOST}}
{{IPV6}} {{FQDN}} {{HOST}}
EOF

Les images Contabo utilisent cloud-init, qui peut remettre l'ancien nom du serveur au redémarrage. Bloquez ce comportement :

[ -d /etc/cloud/cloud.cfg.d ] && echo 'preserve_hostname: true' > /etc/cloud/cloud.cfg.d/99-preserve-hostname.cfg

[!CHECK] hostname -f doit afficher {{FQDN}}.

Régler le fuseau horaire

Adaptez la zone à votre pays. La liste complète s'obtient avec timedatectl list-timezones.

timedatectl set-timezone Africa/Abidjan
timedatectl

Supprimer UFW

HestiaCP gère son propre pare-feu (iptables + Fail2ban). L'installeur considère UFW comme un paquet en conflit : supprimez-le avant.

ufw disable
apt purge -y ufw

Vérifier les noms réservés

HestiaCP crée un compte Linux pour son administrateur. Le nom {{ADMIN}} ne doit exister ni comme utilisateur, ni comme groupe, et doit être différent de {{USER}}.

getent passwd {{ADMIN}}; getent group {{ADMIN}}

[!CHECK] Aucune ligne ne doit s'afficher.

[!NOTE] Pourquoi pas « admin » ? Sur les images Ubuntu de Contabo, un groupe admin existe déjà, et l'installeur refuse un nom déjà pris. Choisissez un nom personnel (ex. hadmin, skadmin) : c'est aussi un nom de moins à deviner pour les robots.

Éviter le blocage IPv6 pendant l'installation

Sur certains VPS, l'installeur se bloque en téléchargeant ses paquets par IPv6. Dites au système de préférer l'IPv4 pour les connexions sortantes (l'IPv6 reste active) :

sed -i 's|^#precedence ::ffff:0:0/96  100|precedence ::ffff:0:0/96  100|' /etc/gai.conf
grep "^precedence" /etc/gai.conf

[!CHECK] La commande grep affiche precedence ::ffff:0:0/96 100.

Vérifier la configuration réseau (Netplan)

L'installeur s'attend à trouver la configuration réseau dans /etc/netplan.

ls /etc/netplan/
ip -6 addr show scope global

[!CHECK] Au moins un fichier .yaml dans /etc/netplan/, et votre IPv6 {{IPV6}} dans la sortie de ip.

Ajouter un fichier d'échange (swap)

HestiaCP ne crée un swap que sur les très petits serveurs. Un swap de 4 Go évite qu'un pic de mémoire ne fasse planter MariaDB ou ClamAV.

swapon --show

Si rien ne s'affiche :

fallocate -l 4G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
echo '/swapfile none swap sw 0 0' >> /etc/fstab
echo 'vm.swappiness = 10' > /etc/sysctl.d/99-swap.conf
sysctl --system > /dev/null

[!CHECK] free -h affiche une ligne Swap: de 4,0 Gi.

Installer les outils de base

Uniquement des outils sans conflit avec HestiaCP : ni serveur web, ni base de données, ni serveur mail.

apt install -y curl wget git micro htop tmux unzip ca-certificates gnupg lsb-release dnsutils

Faites de micro l'éditeur par défaut :

update-alternatives --install /usr/bin/editor editor /usr/bin/micro 60
update-alternatives --set editor /usr/bin/micro

Créer votre utilisateur sudo

Vous ne vous connecterez plus en root après le chapitre 4. Créez votre compte d'administration système :

adduser {{USER}}
usermod -aG sudo {{USER}}

Autorisez sudo sans mot de passe pour ce compte. C'est pratique, mais cela suppose une connexion par clé SSH uniquement (chapitre 4).

echo '{{USER}} ALL=(ALL:ALL) NOPASSWD: ALL' > /etc/sudoers.d/010-{{USER}}
chmod 440 /etc/sudoers.d/010-{{USER}}
visudo -c

[!CHECK] visudo -c répond parsed OK pour chaque fichier.

Installer votre clé SSH

Sur votre ordinateur (pas sur le serveur), créez une clé si vous n'en avez pas :

ssh-keygen -t ed25519 -C "{{USER}}@{{HOST}}"

Puis envoyez-la au serveur :

ssh-copy-id {{USER}}@{{IP}}

Sous Windows sans ssh-copy-id, copiez le contenu de C:\Users\<vous>\.ssh\id_ed25519.pub dans le fichier /home/{{USER}}/.ssh/authorized_keys du serveur.

[!CHECK] Dans un nouveau terminal, ssh {{USER}}@{{IP}} vous connecte sans mot de passe, puis sudo whoami répond root. Gardez la session root ouverte tant que ce test n'est pas réussi.