Home

FOG Project: System Image Deployment

System
Difficulty: Advanced
4 min read

A guide to installing and configuring FOG Project, an open-source solution for cloning and deploying system images.

Back to tutorials

Key takeaways

  • Installation boils down to cloning the official repository and running ./installfog.sh from /root/fogproject/bin. The interactive script installs and configures Apache, PHP, MySQL, TFTP and NFS for you.
  • The pivotal question in the wizard is DHCP: if FOG is to fill that role, answer y; if a DHCP server already exists, answer n and configure options 66 and 67 on that server.
  • The FOG server needs a static IP and a serious amount of disk space, since every captured image is stored on it. Client machines must support PXE network boot.
  • Once installed, the web interface at http(s)://<fog_server_ip>/fog/ asks you to prepare the database. Default credentials are fog / password: change them immediately.
  • The full cycle is PXE registration ("Perform Full Host Registration"), then a capture task (up arrow), then a deploy task (down arrow). For a Windows image, Sysprep is mandatory before capture to wipe the SID.
What is FOG Project?
FOG (Free Open-source Ghost) is a complete and free IT fleet management solution. Its core purpose is the cloning and deployment of operating system images (Windows, Linux, MacOS) over the network (PXE), but it also offers inventory management, remote application installation, and much more.

Why use FOG?

  • Mass deployment: Deploy a standardized image to dozens or hundreds of computers at once.
  • Time savings: Cuts the time needed to set up a new workstation or a classroom by a factor of 10.
  • Standardization: Ensures that every workstation has an identical, approved configuration.
  • Zero cost: It is a fully open-source solution.

Prerequisites

  • A dedicated server: A machine (physical or virtual) running Linux (Debian or CentOS/RHEL are recommended) that will host the FOG server. Plan for plenty of disk space to store the images.
  • PXE-compatible network: The network cards of your client computers must support network booting (PXE boot).
  • DHCP server: You need a DHCP server on your network. FOG can act as a DHCP server, or integrate with an existing one (such as the one on your router or a Windows Server).

Premium Content

This advanced tutorial is reserved for premium members.

9,90€ / month
  • All advanced tutorials
  • New content every week
  • Progress tracking
  • Cancel anytime
MR

Written by

Morgann Riu

Cybersecurity and Linux administration expert. I share my knowledge through free tutorials and training to help system administrators and developers secure their infrastructures.

Frequently asked questions

The client machine will not PXE boot and never reaches the FOG menu, why?
The problem is almost always on the DHCP side or in the BIOS. If FOG is not your DHCP server, options 66 (TFTP server address) and 67 (boot filename) must be set on the existing DHCP server, otherwise the client has no idea where to fetch its boot image. Then check that network boot is enabled in the machine's BIOS/UEFI and that it actually appears in the boot order.
Do I have to replace my existing DHCP server with FOG's?
No, and it is actually a bad idea if you already run one in production, whether it lives on a router or a Windows Server. Answer n to the installer question and simply declare options 66 and 67 on the DHCP already in place. The "FOG as DHCP server" option is meant for isolated networks or deployment rooms that have none.
Why is Sysprep mandatory before capturing a Windows image?
Sysprep generalizes the installation by stripping the machine's unique identifiers, starting with the SID. Without that step, every machine deployed from the image shares the same identifier, which causes conflicts on the network and in particular prevents a clean join to an Active Directory domain. Run it on the reference machine, right before scheduling the capture task.
What is the very first thing to do after installing the server?
Open http(s)://<fog_server_ip>/fog/, run the database preparation offered on screen, then immediately change the fog / password pair. Those default credentials are public knowledge and the web interface is exposed on the network: left as is, it gives anyone the power to wipe and reimage every machine in the fleet.
In what order do capture and deployment happen?
Boot the reference machine in PXE and choose "Perform Full Host Registration" to register it in FOG under a descriptive name. From the web interface, under "Host Management" then "List All Hosts", schedule a capture task with the up arrow icon, and reboot the machine in PXE so the capture runs. For deployment, register the target machine, assign it the image, create a task with the down arrow and reboot it in PXE.

Share this tutorial

Did you enjoy this article?

Was this article helpful?

Thanks for your feedback!

Comments

Recommended for you

In-depth article on the topic

Checklist Sécurité Linux

30 points essentiels pour sécuriser un serveur Linux. Recevez aussi les nouveaux tutoriels par email.

Pas de spam. Désabonnement en 1 clic.

↑