Qu’est que FOG ?

FOG (Free and Open-source Ghost) est un serveur utilisé principalement pour le déploiement d’images système (OS) sur plusieurs ordinateurs à la fois, de manière centralisée et automatisée. C’est une solution gratuite et open source, souvent utilisée dans les écoles, entreprises ou administrations pour gagner du temps lors de l’installation de systèmes d’exploitation. pour plus d’information voici le lien du projet https://fogproject.org/.

À quoi sert concrètement un serveur FOG ?

Voici ses principales fonctions :

  1. Clonage de systèmes
    On installes un OS (Windows, Linux, etc.) + logiciels + configurations sur une machine, On crées une image du disque dur, puis on la déploies sur d’autres PC en réseau.

  2. Déploiement en masse
    On peux lancer l’installation d’un même OS sur plusieurs ordinateurs en même temps, sans devoir passer par une clé USB ou un CD mais par le réseau.

Un serveur FOG te fait gagner énormément de temps si on dois installer ou réinstaller plusieurs postes,

Pour la Mise en place serveur FOG

Tout d’abord on installe les package nécessaire au serveur FOG tels que apache pour l’interface web tftpa pour le boot en réseau git pour télécharger le projet

 

sudo apt install -y apache2 mysql-server php php-cli php-curl php-fpm php-gd php-mysql php-json php-mbstring php-xml tftp-hpa tftpd-hpa nfs-kernel-server vsftpd curl git

et dans ce cas nous allons utiliser le dhcp du package isc-dhcp-server pour le service DHCP nécessaire au boot via Pxe il est possible d’utiliser d’autre serveur dhcp tels que ceux fournis par windows le routeur ou d’autre solution en activant des options 

une fois les dépendance télécharger nous allons télécharger FOG depuis Github avec les commandes

cd /opt

git clone https://github.com/FOGProject/fogproject.git

cd fogproject/bin

Ensuite une fois télécharger on va lancer le script d’installation avec la commande puis répondre au question nécessaire a l’installation

./installfog.sh

Ce sont des question liée au langage type de système utiliser interface réseau a utiliser etc

Si un Message d’erreur survient lors d’installation se connecter à la base donnée mysql et ajouter

sudo mysql -u root -p

CREATE DATABASE fog;

CREATE USER ‘foguser’@’localhost’ IDENTIFIED BY ‘mot_de_passe_securiser’;

GRANT ALL PRIVILEGES ON fog.* TO ‘foguser’@’localhost’;

FLUSH PRIVILEGES;

EXIT;

Ensuite l’interface web de fog est maintenant opérationnel

Le mot de passe par default et le login pour se connecter sont par default 

Login : Fog  

Password : Password

à modifier de préference pour des raison de sécurité.

Mise en place du service DHCP

Maintenant nous allons mettre en place le serveur dhcp Nous l’avons déjà installer au début il reste maintenant qu’a le configurer 

Dans ce cas-ci 

Nous allons éditer le fichier de configuration avec nano ou vim

avec la commande nano /etc/dhcp/dhcpd.conf

Avec cette configuration les clients pxe on la possibilité de boot en legacy ou en UEFI le legacy disparaiaissant petit a petit

# Activer le mode DHCP serveur

authoritative;

 

# Définition des temps de bail DHCP

default-lease-time 516000;  # 8600 minutes en secondes (8600 * 60)

max-lease-time 516000;

 

# Sous-réseau DHCP

subnet 0.0.0.0 netmask 0.0.0.0 {

    range 0.0.0.0 0.0.0.0;

    option routers 0.0.0.0;

    option subnet-mask 0.0.0.0;

    option broadcast-address 0.0.0.0;

    option domain-name-servers 0.0.0.0, 0.0.0.0;  # Modifiable si nécessaire

 

    # Serveur FOG (TFTP/PXE)

    next-server 0.0.0.0;

 

    # Détection automatique du firmware (UEFI vs Legacy BIOS)

    if exists user-class and option user-class = “iPXE” {

        filename “http://0.0.0.0/fog/service/ipxe/boot.php”;

    } else {

        if option vendor-class-identifier = “PXEClient:Arch:00000” {

            filename “undionly.kpxe”;   # BIOS Legacy

        } else if option vendor-class-identifier = “PXEClient:Arch:00007” {

            filename “ipxe.efi”;   # UEFI 64-bit

        } else if option vendor-class-identifier = “PXEClient:Arch:00009” {

            filename “ipxe.efi”;   # UEFI 32-bit

        } else {

            filename “undionly.kpxe”; # Par défaut, boot Legacy

        }

    }

}

Une fois la configuration sauvegarder il faut relancer le serveur dhcp pour mettre a jour nos changement. avec la commande systemctl restart 

systemctl restart isc-dhcp-server

Une fois le serveur DHCP configurer le serveur FOG est opérationnel on peut essayer de boot dessus avec un pc client à partir du réseau  et on arrive sur cette écran

Si On arrive a aller sur cette page cela signifie que notre systeme est opérationnel.