Deploying operating systems across multiple computers can be a nightmare if done one by one. But what if you could do it all at once, quickly and effortlessly? That’s where FOG Server steps in — a free and open-source solution for network-based OS deployment. And the best part? It’s super easy to install on Ubuntu or Debian with just a bit of terminal magic.
TL;DR
FOG Server lets you clone and deploy OS images to many computers over a network. It’s perfect for IT admins in schools, businesses, or labs. You’ll need Ubuntu or Debian, some network prep, and a little time to spare. Follow this guide for a smooth ride!
What is FOG Server?
FOG (Free Open-source Ghost) is a Linux-based server that takes care of deploying disk images to multiple machines over a network using PXE boot. Think of it as a time-saving machine for IT admins. Imagine setting up a whole lab of desktops… in minutes.
Why Use FOG?
Here’s why people love FOG server:
- It’s free and open-source.
- Supports Windows, Linux, and Mac OS imaging.
- Remote management and task scheduling features.
- Web UI for ease of use.
- No need to install an OS first – PXE boot does the job!
Prerequisites
Before diving into installation mode, make sure you’ve got the essentials:
- A fresh install of Ubuntu 22.04+ or Debian 11+.
- Root (sudo) access.
- Static IP configuration for the server.
- At least 8GB RAM and decent storage if dealing with large images.
- A wired LAN network works best!
Step 1: Update Your System
Always start with updating your packages. Open your terminal and run:
sudo apt update && sudo apt upgrade -y
After updates finish, reboot if prompted.
Step 2: Install Required Packages
FOG requires a few supporting tools. Install them with:
sudo apt install git wget curl net-tools -y
Step 3: Install Apache, PHP, and Required Services
FOG uses Apache and PHP for its web UI, along with other packages. Run:
sudo apt install apache2 php php-mysql php-cli php-gd php-curl php-mbstring php-xml mysql-server -y
Start and enable Apache and MySQL:
sudo systemctl enable --now apache2 mysql
Step 4: Clone the FOG Project
Now it’s time to grab FOG from GitHub:
cd /opt
sudo git clone https://github.com/FOGProject/fogproject.git
cd fogproject/bin
Pick your flavor:
- If you’re on Debian:
sudo ./installfog.sh -y - If you’re on Ubuntu:
sudo ./installfog.sh -y
This kicks off the interactive installer. Take a deep breath — you’ve got this!
Step 5: Follow the Installer Prompts
The installer asks you some questions. Here’s how to answer them:
- Is this the FOG server? → Yes
- What type of installation? → Normal Installation
- Interface to bind to? → Usually eth0 or enp3s0 (check with
ip a) - Set DHCP server? → Yes, if you don’t have another DHCP server
This can take 10–15 minutes. Don’t worry if it seems to pause once in a while.
Step 6: Configure FOG Web Installer
Once the terminal part finishes, you’ll see a message telling you to go to the web installer:
http://your-server-ip/fog/management
Open that URL in your browser. You’ll see a lovely web-based installer. Click through “Install/Update Now.” That’s it — you’re done!
Step 7: Log Into Your FOG Server
After installing, go to:
http://your-server-ip/fog/management
Default login creds:
- Username: fog
- Password: password
Now you’re inside the FOG Dashboard. Let the clicking begin!
Step 8: Add Your Devices
Time to register some devices to your FOG system:
- Boot the target PC using PXE (make sure network boot is enabled in BIOS).
- FOG will detect the machine and let you register it.
You can give it a name, MAC address, and even assign it an image for deployment later.
Step 9: Create and Upload Your First Image
Let’s save your golden OS image:
- Install and configure your “perfect” machine — the one you want to clone.
- Register that host in FOG.
- Go to the FOG dashboard → Hosts → Your Host → Basic Tasks → Upload Image.
Once uploaded, your image is ready to be deployed to any other computer!
Step 10: Deploy the Image
Deploying is even easier:
- Network boot your target computer.
- Select it from the host list.
- Assign the image you created.
- Click “Deploy” — and let FOG do its thing!
In minutes, your clone is up and running.
Tips & Tricks
- Use groups to bulk-task many hosts together.
- Always set static IPs for both server and clients to avoid confusion.
- Build images for different hardware profiles for best compatibility.
- Back up your images and DB regularly!
Troubleshooting
Some common hiccups and fixes:
| Issue | Fix |
|---|---|
| PXE boot not working | Check BIOS boot order and verify network boot settings |
| Permission denied errors | Make sure Apache has write access to /images folder |
| Web installer not loading | Check Apache and firewall status (use sudo ufw allow 80) |
Conclusion
Now you’re a deployment wizard with FOG!🎩 Imaging hundreds of machines doesn’t have to be tough — with this powerful tool and a slick Ubuntu or Debian server, you’re in control. It’s fun, it’s free, and it lets you look cool doing complex IT wizardry.
So go ahead, spin up your golden desktop once, and clone like a pro!