FOG Server

FOG is an open-source cloning/imaging solution

FOG is primarily used to image Windows desktops, but it also works on Linux desktops!  This article will describe how to install the FOG Server as a vmwith Ubuntu Jeos.

Install Ubuntu

Build an Ubuntu Jeos server with the following specifications.

IMPORTANT NOTE:  There is a known bug when using Ubuntu 16.04 LTS, when installing php5.  The recommendation is to use Ubuntu 14.04 LTS.  I use the 64-bit version.

  1. Create a vm with 512-1024 MB ram, one nic, a 100GB hard drive and one processor.
  2. Hostname image-01.
  3. WARNING:  Do not choose fog for the username.
  4. Software Selection?  You don’t need any for this install.
  5. Static IP Address of your choice (eg

Install wget

A bare bones Jeos installation of ubuntu doesn’t include wget.

sudo apt-get install wget

Install FOG

Before installing FOG, browse to and check to see what the latest version is (it was 1.20 when I wrote this article, see below).  Then log in to your ubuntu server using your username and password, and enter the following commands…

cd /opt
sudo wget
sudo tar -xvzf fog_1.2.0.tar.gz
cd fog_1.2.0/
cd bin
sudo ./

wget alternative

Sometimes wget won’t be allowed to get through (eg. over enthusiastic school internet filtering).  On these occasions, you might want to try using an FTP server like vsftpd, to upload the fog_1.2.0.tar.gz file to the fog server.

Install wizard

You should now see the  FOG installer screen.

  1. Choose 2 (ubuntu).
  2. Choose N (normal).
  3. Leave the IP address as
  4. Choose Yes for the router address setup and accept the default (
  5. Same for DNS.
  6. Choose No when invited to change the default NIC.
  7. Confirm Yes for dhcp service.
    1. You’ll have to configure the Windows Server if you don’t want to use FOG for DHCP.
  8. Install additional language packs if you need them, otherwise select No.
  9. Leave the default answer No for the invitation to donate computer resources.
  10. Confirm Yes to the summary information.
  11. Press Enter to acknowledge the MySQL warning (see below for the step that this refers to).
  12. Set a password for MySQL when requested.
  13. Did you leave the password blank?  Answer No.
  14. Enter your MySQL password and confirm it.
  15. Start a browser
  16. Browse to
  17. Click Install/Upgrade now.
  18. Press Enter, once the database is updated / installed.
  19. Send a notification to the FOG guys if you want to, they’ll appreciate it!

FOG is now installed!

You are now ready to configure your FOG server.

Configuring your newly built FOG server

FOG will need some initial configuring.  This article will get you started and finish with a quick test.

DHCP services

You can configure the dhcp service to suit your environment.


Larger files for php

Log on to the server, and configure php to allow larger snapin files to be uploaded by editing php.ini.

sudo vi /etc/php5/apache2/php.ini


Change the following entries…

memory_limit = 1900M


Save changes and restart the apache2 service.

sudo /etc/init.d/apache2 restart


Configure network card for multicasting

Logon to your FOG server and run the following…

sudo ifconfig eth0 multicast


Change the password

It’s very important to change the default FOG user password.

Tip for wireless users

  1. Go to Other Information > FOG Settings
  2. Change FOG_SERVICE_HOSTREGISTER_ENABLED to a value of 0.

This will stop your wireless access card MAC addresses being ported into the database and thus creating 2 entries for the same workstation.

A quick test

Give your your installation a quick test with this routine.

  1. Click on the Host Management button (single monitor).
  2. Click Add a new host.
  3. Enter a hostname and MAC address of a machine on your network.
  4. Click on the Task Management button (star).
  5. Click List all hosts and click the Advanced button for the machine that you’ve just added.
  6. Scroll down and select Memory test and click the button to confirm.
  7. Click Active tasks to see the job that you’ve just created.
  8. Configure the machine in your network to boot using the NIC (PXE boot).
  9. Congratulations if your machine is now running a memory test!

Configuring dhcp services on a FOG server

DHCP (Dynamic Host Configuration Protocol) services provide client machines with dynamic IP address details.  This article shows you how to configure this service on a FOG server.

Configure dhcp

  • You need to edit the dhcpd.conf file to configure the DHCP service.  It’s good practice to backup the configuration file before you make any changes.
sudo cp /etc/dhcp/dhcpd.conf /etc/dhcp/dhcp.conf.bak
sudo vi /etc/dhcp/dhcpd.conf


Here is an example dhcp.conf file that is automatically created by FOG.

# DHCP Server Configuration file.
# see /usr/share/doc/dhcp*/dhcp.conf.sample
# This file was created by FOG
use-host-decl-names on;
ddns-update-style interim;
ignore client-updates;

subnet netmask {
  option subnet-mask;
  range dynamic-bootp;
  default-lease-time 21600;
  max-lease-time 43200;
  option domain-name-servers;
  option routers;
  filename "undionly.kpxe";


To change DHCP scope, edit the following line:

range dynamic-bootp;


To add multiple DNS servers change the following:



To add a reservation add the following lines…

host hostname{
 hardware ethernet A1:B2:C3:D4:E5:F6;

Save your changes.


Restart dhcp-server

Finally you need to restart the dhcp daemon for your changes to be active.

sudo /etc/init.d/isc-dhcp-server restart


Configure the NIC

Note that on early versions of FOG, by default the dhcpd would listen on eth0.  This is not an issue for FOG 1.2.0.

Edit /etc/default/dhcp3-server to change the NIC

sudo vi /etc/default/dhcp3-server
Change the following line if you need to…

Changing user passwords

It’s important to change the FOG user password.  This article describes the process.


Change the password

Log on to the web interface.

  1. Browse to
  2. Go to User Management.
  3. Click List all users.
  4. Click Edit for the fog user.
  5. Enter a new password and click Update.