[[./accueil| ↩ Retour à l'accueil du projet]]
====== 3) Script de Post-Installation ======

Ce document présente les étapes et l'architecture logique du script d'initialisation universel du VPS. Ce script prépare l'environnement pour l'utilisateur **tux** et configure l'aiguillage de sécurité global.

===== 1. Commande de Déploiement Unique =====

Pour mettre en œuvre l'infrastructure, l'administrateur se connecte sur son VPS neuf via son compte d'origine (ex: 'debian' ou 'fedora') et exécute la commande unique suivante par copier-coller :

<code>
tar -xf passerelle-vps.tar && sudo bash passerelle-infra/scripts/03_script_postinstall.sh
</code>

===== 2. Architecture et Logique du Script =====

Le script s'exécute de manière automatisée en déroulant les phases logiques suivantes :

==== Étape 1 : Barrière de Détection & Validation ====
  * Lecture immédiate du fichier système universel '/etc/os-release' pour isoler l'identifiant de la distribution ('$ID').
  * **Contrôle d'intégrité :** Si le système est validé ('debian' ou 'fedora'), le script continue. Dans le cas contraire, il lève une exception visuelle rouge à l'écran et coupe immédiatement l'exécution via un code d'arrêt ('exit 1') sans altérer le serveur.
  * **Variables d'infrastructure :** Détection automatique au vol du nom de l'interface réseau publique connectée à Internet (ex: 'eth0' ou 'ens3') et fixation de la plage privée VPN ('10.66.66.1/24').

==== Étape 2 : Création de l'Identité (Tux) ====
  * Exécution de la fonction 'tux.creerUtilisateur'.
  * Création de l'utilisateur local 'tux' et rattachement dynamique au groupe d'administration adéquat ('sudo' pour Debian, 'wheel' pour Fedora).
  * Importation de la clé SSH publique active de l'administrateur vers le répertoire personnel de 'tux' pour préserver l'usage exclusif de la clé asymétrique à phrase de passe.
  * Verrouillage strict des droits d'accès aux fichiers d'authentification.

==== Étape 3 : Déploiement des Paquets Réseaux ====
  * Appel de la fonction 'tux.installerPaquet' pour installer de manière transparente les démons requis : 'wireguard', 'nginx', 'postfix' et 'nftables'.

==== Étape 4 : Injection des Règles de Sécurité ====
  * Exécution de la fonction 'tux.configurerPareFeu'.
  * Écriture complète du fichier de filtrage moderne '/etc/nftables.conf' (Fermeture globale des flux entrants et sortants, ouvertures chirurgicales des ports 22, 51820, 80, 443 et 25).
  * Configuration de la règle NAT de masquage réseau sur la carte Internet de l'hôte.
  * Activation du transfert de paquets IPv4 au niveau du noyau.

==== Étape 5 : Clôture & Initialisation de la Mémoire ====
  * Création du répertoire de gestion local '/etc/vps-gateway/' et du registre texte vierge 'utilisateurs.db'.
  * Démarrage synchrone et persistant des démons via la fonction 'tux.demarrerService'.
  * Écriture de l'horodatage initial dans le journal global '/var/log/vps-gateway.log'.
  * Affichage d'un bilan visuel vert de fin d'opération et invitation à tester immédiatement la session de 'tux' dans une seconde console.

===== 3. Accès aux Ressources Techniques =====

Pour consulter le code source de ce script ou télécharger l'archive globale du projet :
➔ [[./12_telechargements_sources|🛠️ Aller au module 12) Téléchargements du projet et sources des scripts]]

[[./accueil| ↩ Retour à l'accueil du projet]]
