Environnement utilisé :
Plusieurs PC Lenovo ThinkCentre M79 (Windows 7 Pro) sur un réseau familial (Livebox Orange).
Un des PC est utilisé comme serveur FOG, son adresse IP (192.168.1.101) est réservée dans la config DHCP de la Livebox.
Après avoir créé une clé USB bootable contenant Debian 9, booter sur la clé (F12 au démarrage) puis sélectionner Graphical install.
Sélectionner le langage French - Français, le pays France puis le clavier Français.
Saisir le nom du serveur (fog-server) et ne rien mettre comme nom de domaine.
Saisir un mot de passe pour le compte root.
Saisir le nom, l'identifiant (ne pas utiliser fog) et le mot de passe de l'utilisateur.
Sélectionner le partitionnement manuel, puis le disque SCSI (sda)du serveur.
Accepter la création d'une nouvelle table de partition.
Sélectionner l'espace libre pri/log puis créer une nouvelle partition.
Attribuer la taille 1 GB à la partition.
Définir le type de partition Primaire et placer la partition au début.
Sélectionner le point de montage puis choisir /boot - fichiers statiques du programme de démarrage.
Sélectionner l'Indicateur d'amorçage afin qu'il soit présent.
Choisir la fin du paramétrage de cette partition.
Sélectionner l'espace libre pri/log puis créer une nouvelle partition.
Attribuer la taille restante à la partition.
Définir le type de partition Logique.
Choisir de ne pas utiliser la partition.
Choisir la fin du paramétrage de cette partition.
Choisir de configurer le gestionnaire de volumes logiques (LVM).
Accepter de configurer LVM.
Choisir de créer un groupe de volumes et saisir vg0 comme nom de groupe de volumes.
Sélectionner la partition la plus grande (sda5) comme périphérique pour le groupe de volumes.
Accepter de configurer LVM.
Choisir le créer un volume logique et sélectionner le groupe vg0.
Saisir base comme nom de volume logique, lui attribuer la taille 20 GB.
Faire de même pour les volumes logiques swap (4 GB), opt (20 GB) et images (reste du disque).
Choisir de terminer une fois les 4 volumes créés.
Pour chacun de ces volumes, sélectionner le volume logique n°1 et choisir Utiliser comme.
Sélectionner le système de fichiers journalisé ext4 sauf pour le volume swap (sélectionner l'espace d'échange (“swap”).
Sélectionner le point de montage pour chacun des 3 volumes ext4 (respectivement / - système de fichiers racine, Autre choix /images et /opt - ensembles logiciels additionnels).
Choisir la fin du paramétrage pour chaque partition.
Choisir de terminer le partitionnement et appliquer les changements.
Accepter d'appliquer les changements sur les disques.
Sélectionner le pays France pour miroir de l'archive Debian.
Sélectionner le miroir de l'archive Debian ftp.fr.debian.org et ne saisir aucun mandataire HTTP.
Ne pas accepter de participer à l'étude statistique sur l'utilisation des paquets.
Sélectionner uniquement le logiciel serveur SSH à installer.
Accepter d'installer le programme de démarrage GRUB sur le secteur d'amorçage.
Choisir le périphérique du disque (/dev/sda) où installer le programme de démarrage.
Valider l'installation terminée.
Se connecter avec le login utilisateur puis se connecter avec le compte root.
su root
Installer vim.
apt-get install vim
Editer le fichier /etc/ssh/sshd_config.
vim /etc/ssh/sshd_config
Corriger la ligne #PermitRootLogin sous #Authentification.
PermitRootLogin yes
Redémarrer le démon SSH.
systemctl restart sshd
Vérifier l'adresse IP du serveur.
ip addr
Se déconnecter du compte root puis du compte utilisateur.
exit exit
Sources :
https://wiki.fogproject.org/wiki/index.php?title=ProxyDHCP_with_dnsmasq
https://forums.fogproject.org/topic/8725/compiling-dnsmasq-2-76-if-you-need-uefi-support/5
Se connecter en SSH au serveur avec le compte root.
ssh root@192.168.1.101
Accepter le croisement de certificat.
Vérifier le partitionnement avec les commandes suivantes.
lsblk pvdisplay vgdisplay lvdisplay
Installer git.
apt-get install git
Rechercher le projet FOGProject/fogproject sur le site http://www.github.com.
Cliquer sur le bouton Clone or download puis sur le bouton pour copier l’url de clonage.
Cloner le dépôt git de FOG
git clone http://github.com/FOGProject/fogproject.git.
Rechercher et installer les mises-à-jour
apt-get update apt-get upgrade
Installer dnsmasq.
apt-get install dnsmasq
Ouvrir le dossier fogproject/bin.
cd fogproject/bin
Lancer l’installation de FOG
./installfog.sh
Choisir la version de Linux 2) Debian Based Linux (Debian, Ubuntu, Kubuntu, Edubuntu)
Sélectionner le mode d’installation standard (n).
Saisir l’adresse IP du serveur (192.168.1.101).
Ne pas changer l’interface réseau par défaut ens33 (n).
Ne pas paramétrer l’adresse du serveur DHCP (n).
Ne pas demander au DHCP de gérer le DNS (n).
Ne pas utiliser le serveur comme DHCP (n).
Installer les langues additionnelles (y).
Valider l’installation (y).
Valider que le mot de passe MySQL est vide (y).
Afficher la page http://192.168.1.101/fog/management quand le script d’installation le demande.
Cliquer sur le bouton Install/Upgrade Now.
Continuer l’installation (Entrée).
Conserver l’identifiant et mot de passe par défaut du l’application web (fog/password).
Créer le fichier /etc/dnsmasq.d/ltsp.conf.
vim /etc/dnsmasq.d/ltsp.conf
Y copier le texte suivant.
# Don't function as a DNS server: port=0 # Log lots of extra information about DHCP transactions. log-dhcp # Set the root directory for files available via FTP. tftp-root=/tftpboot # The boot filename, Server name, Server Ip Address dhcp-boot=undionly.kpxe,,192.168.1.101 # Disable re-use of the DHCP servername and filename fields as extra # option space. That's to avoid confusing some old or broken DHCP clients. dhcp-no-override # inspect the vendor class string and match the text to set the tag dhcp-vendorclass=BIOS,PXEClient:Arch:00000 dhcp-vendorclass=UEFI32,PXEClient:Arch:00006 dhcp-vendorclass=UEFI,PXEClient:Arch:00007 dhcp-vendorclass=UEFI64,PXEClient:Arch:00009 # Set the boot file name based on the matching tag from the vendor class (above) dhcp-boot=net:UEFI32,i386-efi/ipxe.efi,,192.168.1.101 dhcp-boot=net:UEFI,ipxe.efi,,192.168.1.101 dhcp-boot=net:UEFI64,ipxe.efi,,192.168.1.101 # PXE menu. The first part is the text displayed to the user. The second is the timeout, in seconds. pxe-prompt="Booting FOG Client", 1 # The known types are x86PC, PC98, IA64_EFI, Alpha, Arc_x86, # Intel_Lean_Client, IA32_EFI, BC_EFI, Xscale_EFI and X86-64_EFI # This option is first and will be the default if there is no input from the user. pxe-service=X86PC, "Boot to FOG", undionly.kpxe pxe-service=X86-64_EFI, "Boot to FOG UEFI", ipxe.efi pxe-service=BC_EFI, "Boot to FOG UEFI PXE-BC", ipxe.efi dhcp-range=192.168.1.101,proxy
Redémarrer dnsmasq.
service dnsmasq restart
Créer les liens symbolique vers les fichiers pxe.
ln -s /tftpboot/undionly.kpxe /tftpboot/undionly.0 ln -s /tftpboot/ipxe.efi /tftpboot/ipxe.0
Ouvrir la page web de FOG (http://192.168.1.101) et se connecter (identifiant fog, mot de passe password).
Dans l'onglet Image Management, créer une nouvelle image (Create New Image).
Choisir un nom (Image name Windows_7_Pro) et une description (Image Description Windows 7 Pro) pour l'image.
Sélectionner le système d'exploitation du PC (Operating System Windows 7 - (5)).
Sélectionner la partition à sauvegarder (Partition Partition 2 only - (4)).
Ajouter l'image (Add).
Noter l'ID de l'image créé (1).
Afficher le menu de démarrage du PC client (F12 lors du démarrage).
Sélectionner le démarrage en réseau (Network:B02 D00 Yukon PXE).
Lorsque le menu FOG s'affiche, sélectionner un enregistrement complet (Perform Full Host Registration and Inventory).
Choisir le nom du PC (pc-01).
Saisir l'identifiant de l'image paramétrée précédemment (1) (Saisir ?) pour vérifier les ID des images présentes sur le serveur).
Ne pas associer l'hôte aux groupes (n).
Ne pas associer l'hôte aux snapins (n).
Ne pas associer une clé de produit à cet hôte (n).
Ne pas joindre cet hôte à un domaine (n).
Ne pas saisir le nom de l'utilisateur principal de l'ordinateur.
Ne rien saisir en tag #1 et tag#2 de l'ordinateur.
Ne pas accepter de déployer l'image sur l'ordinateur (n).
Après redémarrage du PC, vérifier dans l'interface web de FOG que l'ordinateur apparaît bien dans l'onglet Host Managment (Cliquer sur List All Hosts).
Dans l'onglet Host Management ouvert précédemment, cliquer sur le PC (pc-01) puis sur le menu Basic Tasks.
Cliquer sur le bouton Capture puis sur le bouton Create Capture task for pc-01.
Redémarrer le PC en réseau (F12 puis Network:B02 D00 Yukon PXE).
Remarque : Si le PC était éteint et le mode WakeOnLAN activé dans le Bios, celui-ci démarre automatiquement en réseau.
Enregistrer le PC client comme précédemment, s'il s'agit d'un nouveau PC (exemple : pc-02).
Après redémarrage du PC, vérifier dans l'interface web de FOG que l'ordinateur apparaît bien dans l'onglet Host Managment (Cliquer sur List All Hosts).
Dans l'onglet Host Management de l'interface FOG, cliquer sur le PC (pc-02) puis sur le menu Basic Tasks.
Cliquer sur le bouton Deploy puis sur le bouton Create Deploy task for pc-01.
Redémarrer le PC en réseau (F12 puis Network:B02 D00 Yukon PXE).
Remarque : Si le PC était éteint et le mode WakeOnLAN activé dans le Bios, celui-ci démarre automatiquement en réseau.
Dans l'onglet Snapin Management de l'interface FOG, cliquer sur Create New Snapin.
Choisir un nom (Snapin Name)(exemple : Mon Script) et un modèle de snapin (Snapin Template) (exemple : Batch Script).
Sélectionner le script à uploader sur le serveur (Snapin File Max Size:3000M) (exemple : MyScript.bat), puis cliquer sur Add.
Sur le PC client, afficher la page http://192.168.1.101/fog/client puis cliquer sur Smart Installer (Recommended) pour télécharger le logiciel client FOG.
Exécuter le fichier téléchargé, accepter la licence, saisir l'adresse IP du serveur (Server Address) 192.168.1.101, puis valider l'installation.
Dans l'onglet Host Management de l'interface FOG, cliquer sur List All Hosts, puis sur le PC sur lequel déployer le snapin.
Cliquer sur Basic Tasks, puis sur Advanced, puis sur Single Snapin.
Sélectionner le snapin à installer (Mon Script) puis cliquer sur Create Single Snapin Task for pc-02.
Le snapin s'installe sur le PC puis un message s'affiche sur le PC client une fois le script exécuté.