=======
= FOG =
=======

FOG est une solution de clonage/imagerie open source basée sur Linux utilisée pour déployer différentes versions de Windows, Linux et Mac OSX.
Le logiciel utilise TFTP, Apache (HTTP) et iPXE. Il est écrit en PHP et dispose d'une interface WEB de gestion.

L'outil de configuration développé par le projet FOG rend possible l'administration système à distance des ordinateurs du réseau.
FOG dépend de Partclone pour copier l'image disque.



Prérequis :
===========

Sur la machine "ns.postfo.lan" (serveur DNS et DHCP) :

Modifier la configuration du service DHCP afin de pouvoir distribuer aux clients du réseau :
- l'adresse du serveur PXE  (option DHCP n°66) 
- le fichier de lancement du boot  (option DHCP n°67)

Pour ce faire, remplacer le fichier  /etc/dhcp/dhcpd.conf   par la version fournie dans le dossier 'conf'.

Dans ce fichier, penser à modifier les adresses '10.0.x.x' et le nom de domaine 'postfo.lan' en fonction des caractéristiques propres à votre réseau.

Redémarrer ensuite le service DHCP :
# systemctl restart isc-dhcp-server




Sur une nouvelle machine Debian :
=================================

Dimensionnement de la machine :
 - 2 CPUs
 - 4 GB de mémoire vive
 - 120 GB HDD  (la taille du disque devrait être calculée en fonction du nombre d'images clonées que l'on désire conserver. Compter de 20 à 50 GB par image).

Coordonnées du serveur :
- OS : Debian 11
- Hostname (fqdn) : pxe.postfo.lan
- IP : 10.0.x.34
- SSH : accessibilité de l'utilisateur 'root' via SSH.



Installation de FOG :
=====================

La version installée ici sera la version de développement :

# apt install wget
# wget https://github.com/FOGProject/fogproject/archive/dev-branch.tar.gz
# tar xzf dev-branch.tar.gz
# cd fogproject-dev-branch/bin/

Lancer l'installateur :
# ./installfog.sh


Une série de questions sont posées :

- Choix de l'OS : Debian                            [2]
- Type d'installation :  Normale                    [N]
- Changer d'interface réseau :  Non                 [N]
- Définir une adresse de routeur :  Non             [N]
- Gérer le service DNS à l'aide de DHCP :  Non      [N]
- Utiliser FOG comme serveur DHCP :  Non            [N]    ! Ne pas se tromper sur ce point !
- Support des packs de langues :  Oui               [Y]
- Utiliser des connexions cryptées :  Non           [N]
- Changer le hostname pour le certificat :  Non     [N]
- Autoriser FOG à envoyer quelques infos :          [Y] or [N]

- Est-vous sûrs de vouloir continuer ?    [Y]

Les paquets nécessaires sont alors téléchargés, les programmes s'installent et la configuration initiale est paramétrée.


Il sera nécessaire de mettre à jour le schéma de la base de données.

Lorsque le message suivant s'affiche :

-----------------------------------------------------------
 * You still need to install/update your database schema.
 * This can be done by opening a web browser and going to:

   http://10.0.X.34/fog/management

 * Press [Enter] key when database is updated/installed.
-----------------------------------------------------------

Lancer un navigateur web et coller l'url indiquée :  http://10.0.X.34/fog/management
Cliquer ensuite sur le bouton  "Install/update now".


Une fois la base de données initialisée, retourner dans le terminal et appuyer sur [Enter].
Attendre la fin de la configuration initiale.

Vous pouvez alors vous loguer dans l'interface WEB de gestion :
Login :  fog
Password :  password



Exercices :
===========

1) Changer le login et mot de passe par défaut de FOG

2) Cloner une machine (mode BIOS)
   Vous pouvez suivre les instructions de :  https://docs.fogproject.org/en/latest/getting_started/capture_an_image.html

3) Déployer l'image clonée sur une machine vierge

4) Cloner une machine (mode UEFI)
   Si le boot PXE d'une machine UEFI ne fonctionne pas, dans le fichier "dhcpd.conf" du serveur DHCP, remplacer "ipxe.efi" par "snponly.efi".
   Penser à redémarrer ensuite le service DHCP.
   
5) Exercices supplémentaires : tester le chapitre 6 (utilisation des snapin) de  https://chrtophe.developpez.com/tutoriels/deploiement-fogproject/