All checks were successful
Automatic Documentation Deployment / Sync Docs to https://kb.bunny-lab.io (push) Successful in 6s
131 lines
5.4 KiB
Markdown
131 lines
5.4 KiB
Markdown
## Purpose
|
|
If you want to deploy the FOG Project software in your homelab environment to remotely image devices via PXE boot, follow the instructions below to get through the process.
|
|
|
|
!!! info "assumptions"
|
|
It is assumed that you are deploying FOG Project in [Ubuntu Server 26.04](https://releases.ubuntu.com/26.04/ubuntu-26.04-live-server-amd64.iso) or newer. This documentation does not account for distro-specific issues in other operating systems.
|
|
|
|
It is also assumed that you allocate at least 4-cores and 8GB of RAM with at least 256GB of storage for the OS and FOG images.
|
|
|
|
!!! warning "Potential Netplan Misconfiguration"
|
|
If the FOG server cannot resolve DNS names or reach external networks, verify that the Netplan configuration includes both:
|
|
|
|
- `nameservers` pointing to valid DNS servers
|
|
- a default route pointing to the network gateway
|
|
|
|
Check the Netplan configuration:
|
|
|
|
```sh
|
|
cd /etc/netplan
|
|
ls
|
|
sudo nano <netplan file>
|
|
```
|
|
|
|
Ensure it looks similar to this:
|
|
|
|
```yaml
|
|
network:
|
|
version: 2
|
|
ethernets:
|
|
ens18:
|
|
addresses:
|
|
- 192.168.3.9/24
|
|
routes:
|
|
- to: default
|
|
via: 192.168.3.1
|
|
match:
|
|
macaddress: bc:24:11:5c:eb:c9
|
|
nameservers:
|
|
addresses:
|
|
- 192.168.3.25
|
|
- 192.168.3.26
|
|
search: []
|
|
set-name: ens18
|
|
```
|
|
|
|
Apply the configuration safely and temporarily with `sudo netplan try` and if connectivity still works, accept the changes permanently by running `sudo netplan apply`. Otherwise, Netplan will roll back the changes automatically.
|
|
|
|
### Update & Snapshot the GuestVM
|
|
Before we take a checkpoint/snapshot and install FOG Project, we want to ensure that the GuestVM is fully updated. After the updates are complete, shutdown the GuestVM, take a snapshot, and boot it back up.
|
|
|
|
```sh
|
|
sudo apt update -y && sudo apt upgrade -y && sudo apt autoremove
|
|
sudo poweroff
|
|
```
|
|
|
|
### Download FOG Project Tarball
|
|
Download the most recent FOG Project tarball from the [official website](https://fogproject.org/download.php) then extract it.
|
|
|
|
```sh
|
|
curl -L https://api.github.com/repos/FOGProject/fogproject/tarball/1.5.10.1826 -o FOGProject-fogproject-1.5.10.1826-0-g2309704.tar.gz
|
|
tar -xzvf FOGProject-fogproject-1.5.10.1826-0-g2309704.tar.gz
|
|
cd FOGProject-fogproject-2309704/bin
|
|
sudo ./installfog.sh
|
|
```
|
|
|
|
### Install FOG Project (External DHCP Server)
|
|
The steps below will guide you on a high-level through the external DHCP-server based deployment of FOG Project. Steps will be different if you want FOG itself handing out DHCP addresses and DNS records itself, which I do not recommend.
|
|
|
|
#### Question Steps
|
|
- What version of Linux would you like to run the installation for? > `2`
|
|
- What type of installation would you like to do? > `N`
|
|
- Would you like to change the default network interface from ens18? > `N`
|
|
- Would you like to setup a router address for the DHCP server? > `N`
|
|
- Would you like DHCP to handle DNS? > `N`
|
|
- Would you like to use the FOG server for DHCP service? > `N`
|
|
- This version of FOG has internationalization support, would you like to install the additional language packs? > `N`
|
|
- Would you like to enable secure HTTPS on your FOG server? > `N`
|
|
- Would you like to change the hostname? > `N`
|
|
- Are you ok with sending this information? > `N`
|
|
- Are you sure you wish to continue? > `Y`
|
|
|
|
!!! example "Summary Example"
|
|
* Here are the settings FOG will use:
|
|
* Base Linux: Debian
|
|
* Detected Linux Distribution: Ubuntu
|
|
* Interface: ens18
|
|
* Server IP Address: 192.168.3.9
|
|
* Server Subnet Mask: 255.255.255.0
|
|
* Hostname: lab-fog-01
|
|
* Installation Type: Normal Server
|
|
* Internationalization: No
|
|
* Image Storage Location: /images
|
|
* Using FOG DHCP: No
|
|
* DHCP will NOT be setup but you must setup your
|
|
| current DHCP server to use FOG for PXE services.
|
|
|
|
* On a Linux DHCP server you must set: next-server and filename
|
|
|
|
* On a Windows DHCP server you must set options 066 and 067
|
|
|
|
* Option 066/next-server is the IP of the FOG Server: (e.g. 192.168.3.9)
|
|
* Option 067/filename is the bootfile: (e.g. undionly.kkpxe or snponly.efi)
|
|
* Send OS Name, OS Version, and FOG Version: No
|
|
|
|
### Database Schema Update/Install
|
|
At this point, you will be prompted to login to the website hosted by FOG Project to setup the database, navigate to the URL provided. (e.g. http://192.168.3.9/fog/management)
|
|
|
|
- Click the "**Install/Update Now**" button
|
|
- Be patient, there is no progress bar, but eventually it will state "Install / Update Successful!" and will provide a link to the FOG Project login screen.
|
|
- Return to the SSH session and press **[ENTER]** to proceed with the setup.
|
|
- After a minute or two, you will see a success dialog such as below, where you can now login to the FOG web portal to start using FOG Project
|
|
|
|
!!! success "Installation Complete"
|
|
* Setup complete
|
|
You can now login to the FOG Management Portal using
|
|
the information listed below. The login information
|
|
is only if this is the first install.
|
|
|
|
This can be done by opening a web browser and going to:
|
|
|
|
http://192.168.3.9/fog/management
|
|
|
|
Default User Information
|
|
Username: fog
|
|
Password: password
|
|
|
|
* Changed configurations:
|
|
The FOG installer changed configuration files and created the
|
|
following backup files from your original files:
|
|
* /etc/vsftpd.conf <=> /etc/vsftpd.conf.1777937213
|
|
* /etc/exports <=> /etc/exports.1777937213
|