- 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
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 -fdoit 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
adminexiste 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
grepafficheprecedence ::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
.yamldans/etc/netplan/, et votre IPv6 {{IPV6}} dans la sortie deip.
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 -haffiche une ligneSwap: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 -crépondparsed OKpour 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, puissudo whoamirépondroot. Gardez la session root ouverte tant que ce test n'est pas réussi.