Cette page est en cours de rédaction.
Apportez votre aide…

FOG

C'est une application open-source sous licence GPL permettant :

  • gestion de parc informatique (inscription des machines du parc)
  • déploiement d'images système (Debian, Ubuntu, Windows, MacOS)
  • exécution de scripts sur un ensemble de machine

A l'origine, FOG cible le milieu scolaire où il est très régulier de re-déployer des machines. Aujourd'hui utilisé par de nombreuses entreprises, la solution a énormément évolué ces dernières années. L'interface est très facile à utiliser et l'équipe de développement ainsi que la communauté sont fort agréables.

FOG est livré avec un script d'installation permettant d'installer tout le nécessaire pour qu'il fonctionne aussi bien sous Ubuntu que sous Debian (testé sous Debian Jessie).

screenshot FOG 1.5.0

  • Disposer d'une connexion à Internet configurée et activée.
  • Avoir une adresse IP fixe pour le serveur.
Il est fortement recommandé d'installer FOG sur un serveur dédié ou du moins, de l'installer en tout premier. En effet, le script d'installation est prévu pour un système fraichement installé.

FOG 1.5+ (git)

Avant de procéder à l'installation de cette version, il est nécessaire d'installer git :

apt-get install git

Maintenant nous allons cloner le dépôt github :

cd /opt
  git clone https://github.com/fogproject/fogproject.git fog_stable/

Il ne reste plus qu'a utiliser le script d'installation :

cd fog_stable/bin
./installfog.sh
Pour maintenir à jour la version git de FOG, il suffit de synchroniser le dépôt local et ré-exécuter le script d'installation :
cd /opt
git pull
cd fog_stable/bin
./installfog.sh

Suivi installation

•Mettre 2 si vous êtes sous ubuntu

•cette étape apparaît que si un LAMP a déjà été installé auparavant, Mettre Y

•A cette étape on vous demande quel type d'installation préférez vous, Mettre N

•Ici il faut appuyer sur "entrer", il vous demande si l’adresse IP mise entre crochet est la bonne

•A ce moment-là, il faut mettre N sauf si votre serveur possède plusieurs cartes réseaux et que vous voulez passer à une autre carte réseau

•Répondre Y pour indiquer l’adresse IP du router

•Ici il faut indiquer l’adresse IP de votre router(box)

•Répondre Y pour indiquer une adresse IP d’un serveur DNS

•Laisser par défaut l’adresse IP du DNS trouvé par l’installateur

•répondre Y pour que le serveur FOG utilise son propre service DHCP

•A cette étape installateur vous demande si vous voulez installer les paquet de langue, si vous le voulez mettre Y si non mettre N

•Ici il vous montre le récapitulatif de vos choix,si tout est bon vous pouvez mettre Y si non mettre N

•Voila, l'installation est terminée. Il ne vous reste plus qu'à entrer http://IPserver/fog/management dans votre navigateur internet préféré après avoir remplacé "IPserver" par l'adresse IP de votre serveur

Utiliser un vhost

Pour disposer d'une adresse d'accès simple à l'interface de FOG, nous pouvons utiliser un vhost :

<VirtualHost *:80>
    ServerName fog.domain.local
    DocumentRoot "/var/www/fog"
    CustomLog /var/log/apache2/fog.domain.local_access.log combined
    ErrorLog /var/log/apache2/fog.domain.local_error.log
    LogLevel error

    RewriteEngine on
    RewriteRule ^/fog/(.*)$ /$1 [R]
    
    <Directory "/var/www/fog">
            allow from all
            Options -Indexes
    </Directory>
</VirtualHost>

Installation

Pour installer ce logiciel récupérez l'archive de la dernière version et décompressez-la où vous le souhaitez, puis lancez le script d'installation se trouvant dans le répertoire extrait :

wget https://sourceforge.net/projects/freeghost/files/fog_0.32.tar.gz
sudo tar -xvzf fog*
cd fog*
cd bin
sudo ./installfog.sh
Cet exemple est basé sur une installation fraîche d'Ubuntu sur un serveur dédié à FOG. Le script d'installation utilisant Apache et Mysql, si vous avez déjà des instances en cours d'utilisation ou dont vous souhaitez garder la configuration, n'utilisez pas ce script (ou alors faites des sauvegardes de vos configs et modifiez ensuite selon vos besoins). FIXME: L'installation sur un serveur servant déjà de serveur web n'a pas été testée par le rédacteur de cette page, donc le comportement du script dans ce cas n'est pas encore connu. A priori (et le script met en garde au début), les configurations suivantes seraient perdues : "DHCP, apache, pxe, tftp, et NFS".

Le script va alors vous demander tout un tas de paramètres. Tout d'abord sélectionnez ubuntu comme distribution (donc la 2), ensuite il va vous demander si vous souhaitez faire une installation en mode normal ou en mode stockage. Le mode stockage est uniquement prévu pour stocker des images, donc si vous souhaitez l'application complète faites la en mode normal (donc N). Entrez l'IP du serveur, puis indiquez si vous souhaitez spécifier l'adresse d'un routeur pour le serveur DHCP ou non. Indiquez si vous souhaitez spécifier l'adresse d'un DNS pour le serveur DHCP ou non. Indiquez si vous souhaitez changer l'interface par défaut. En temps normal non mais pour un serveur étant sur plusieurs VLAN ça peut être utile. Indiquez si vous souhaitez utiliser le serveur en tant que DHCP ou non.

Si vous ne configurez pas votre serveur en DHCP, il faudra indiquer au routeur que les demandes PXE doivent être redirigées vers le serveur.

Installez des langages supplémentaires si vous le désirez, puis validez la configuration de l'installation. Durant l'installation il va vous demander le mot de passe root mysql (à retenir !), puis il vous demandera si vous souhaitez dire à l'équipe de FOG qu'ils sont géniaux (à votre bon coeur), et ça sera terminé pour la partie "terminal".

Un utilisateur appelé "Fog" sera créé automatiquement avec un mot de passe aléatoire. Changez le mot de passe pour celui-ci dans un terminal :
sudo passwd fog

Editez le fichier de configuration "/var/www/fog/commons/config.php" afin d'entrer votre mot de passe mysql dans la variable "MYSQL_PASSWORD". Remplacez également les valeurs de TFTP_FTP_PASSWORD and STORAGE_FTP_PASSWORD par le mot de passe que vous venez de définir pour fog.

sudo gedit /var/www/fog/commons/config.php
Il est conseillé de créer un utilisateur spécifique ayant les droits complets sur la base FOG dans mysql plutôt que d'utiliser root comme c'est le cas par défaut. Si vous créez un utilisateur, il faudra bien sûr modifier la variable "MYSQL_USERNAME".

Pour terminer l'installation on va se rendre à l'adresse suivante : http://IP_SERVEUR/fog/management/ puis cliquer sur le bouton qui s'affiche : "install/upgrade now" ou assimilé.

Il se peut que lors de l'installation il y ai des erreur ( checking …. php5 … Failed !), les paquets n'arrivent pas à s'installer. tapez alors :
 sudo apt-get install [le nom du paquet] 

faites-le pour toute(s) les erreurs qu'il aura trouvé

Configuration

Modifier la langue

Cette traduction a été faite par un utilisateur, il n'y a pour le moment aucune validation de l'équipe officielle de FOG, vous téléchargez et utilisez ce fichier en tout connaissance de cause.

Téléchargez l'archive de traduction correspondant au langage que vous souhaitez installer (débrouillez-vous pour la trouver sur le forum de FOG si elle existe :-P). Pour les français, elle est actuellement ici

sudo wget kernchr.free.fr/download/drivers/fr_FR.UTF-8.tar.gz
sudo tar -xvzf fr_FR.UTF-8.tar.gz
sudo mv fr_FR.UTF-8 /var/www/fog/management/languages/

Décompressez-la puis copiez le tout dans le dossier "languages" de FOG (donc normalement dans /var/www/fog/management/languages/).

Utilisation

Allez à l'URL http://IP_SERVEUR/fog/management/.

Les identifiants par défaut sont "fog" "password".

FIXME Ne souhaitant pas refaire toute la config de son LAN, le rédacteur de cette page n'a pas pu tester l'utilisation réelle de FOG. Néanmoins l'utilisation a l'air assez simple : Une fois que votre serveur est configuré et que le routeur/DHCP redirige les requêtes PXE vers lui, il suffit de modifier le bios d'un client pour le faire booter en PXE. Ce qui suit n'est qu'une traduction de certains articles du wiki de FOG.

Une fois que vous avez booté sur la carte réseau de votre station, cette page apparaît : https://www.howtogeek.com/wp-content/uploads/2011/04/fog1.png

Si vous ne touchez a rien, au bout de 3 secondes la machine boot sur son disque dur, autrement dit, comme si de rien n'était. Dans cet intervalle, appuyez sur une des flèches du clavier et le compte a rebours s'arrête, vous pouvez alors choisir l'option que vous souhaitez.

Lancer un Memtest (vérification de l'état de vos barretes de RAM).
Faire un recensement rapide de votre machine auprès du serveur FOG.
Faire un recensement Complet ( nom, IP, …) de votre machine auprès du serveur FOG.
déployer rapidement une image (non testé)
Information sur le système.
Mode de débug.

Le recensement rapide envoi au serveur l'adresse MAC de la machine et lui attribut comme nom l'adresse MAC sans les " : ".

Le recensement complet permet d'indiquer le nom de la machine, l'adresse IP, de le joindre a un domaine, de lui attibuer une image par défaut …

Le recensement complet ne change pas le nom de la machine dans l'OS ! seulement dans la base de données du serveur. votre machine Windows peut s'appeler "poste_1" mais elle seras répertorié dans la base de données de FOG comme " poste_de_salon"

Création d'une image

Enregistrement du client

Faites démarrer votre client en PXE, puis, lors de l'affichage du menu FOG enregistrez-le auprès du serveur en sélectionnant "Perform Full Host Registration and Inventory" ou équivalent. Quelques questions de configuration vont vous être posées telles que le nom d'hôte du client, puis un rapide inventaire matériel sera effectué et le client sera redémarré. A ce point il sera enregistré auprès du serveur.

Création de l'image

Ensuite allez sur l'interface de gestion de fog (toujours http://IP_SERVEUR/fog/management/) via n'importe quel client sur le réseau. Allez dans la partie "images", puis cliquez sur "new image". Remplissez les champs comme demandé en laissant "default" pour la partie storage (sauf si vous avez un autre serveur avec fog installé en mode "storage" dessus, dans ce cas vous pouvez définir les règles que vous souhaitez).

Le nom de fichier de l'image ne doit pas contenir de caractères spéciaux ou d'espaces !

Cliquez sur "add" pour terminer la création.

Association de l'image avec l'hôte à figer

Allez dans la partie "hosts" puis cliquez sur "list all hosts" et cliquez sur le bouton "edit" de l'hôte que vous souhaitez imager. Vérifiez les champs affichés puis sélectionnez l'image que vous avez créée juste avant dans la liste déroulante dédiée. Cliquez sur "Update".

Création de la tâche d'imaging

Toujours dans le menu d'édition de l'hôte, cliquez sur "basic tasks" dans le menu de gauche puis sélectionnez "upload" et cliquez sur "upload image". Rebootez le client à imager et vous devriez avoir la création de l'image de ce client sur le serveur.

Pour un Upload normal ( 15Go env.) compter environ 20/25 Min.

Déploiement d'une image sur un client unique

Enregistrement du client

Deux solutions s'offrent a vous : 1) Faites booter votre client en PXE, puis, lors de l'affichage du menu FOG enregistrez-le auprès du serveur en sélectionnant "Perform Full Host Registration and Inventory" ou équivalent. Quelques questions de configuration vont vous être posées telles que le nom d'hôte du client, puis un rapide inventaire matériel sera effectué et le client sera rebooté. A ce point il sera enregistré auprès du serveur. 2) Rendez-vous dans l'interface web de FOG, allez dans "Host management" » "nouveau poste", vous devez impérativement connaître l'adresse MAC du poste à ajouter (fog utilise exclusivement l'adresse MAC pour communiquer avec les postes client), vous pouvez aussi rentrer le nom de la machine ainsi que l'adresse IP.

Association de l'image avec le client

Sur l'interface de gestion, allez dans la partie "hosts" puis cliquez sur "list all hosts" et cliquez sur le bouton "edit" de l'hôte sur lequel vous souhaitez déployer une image. Si vous ne l'avez pas fait durant l'enregistrement du client, sélectionnez alors l'image et l'OS que vous souhaitez déployer puis cliquez sur "update".

Création de la tâche de déploiement

Toujours dans le menu d'édition de l'hôte, cliquez sur "basic tasks" dans le menu de gauche puis sélectionnez "deploy" et sélectionnez "image all computers". Rebootez le client et ça devrait être bon.

Déploiement d'une image sur un groupe de clients

Il va probablement falloir créer un groupe d'hôtes dans le menu correspondant et appliquer la procédure ci-dessus au groupe plutôt qu'à un hôte seul. Permet également plein d'autres choses.

Désinstallation

Pour supprimer cette application, il suffit : Supprimer les répertoires :

/var/www/fog 
/opt/fog 
/tftpboot 
/images

Supprimer les bases de données FOG :

mysql
drop database fog;
quit

Supprimer l'utilisateur FOG :

userdel fog

Supprimer les services FOG :

sudo rm /etc/init.d/FOGImageReplicator
sudo rm /etc/init.d/FOGMulticastManager
sudo rm /etc/init.d/FOGScheduler

Voir aussi

  • fog.txt
  • Dernière modification: Le 11/09/2022, 12:16
  • par moths-art