The Foreman installer is a collection of Puppet modules that installs everything required for a full working Foreman setup. It uses native OS packaging (e.g. RPM and .deb packages) and adds necessary configuration for the complete installation.

Components include the Foreman web UI, Smart Proxy, a Puppet server, TFTP, DNS and DHCP servers. It is configurable and the Puppet modules can be read or run in “no-op” mode to see what changes it will make.

Supported Operating Systems

You can install the operating system from a disc, local ISO image, or kickstart.

The following operating systems are supported by the installer, have packages, and are tested for deploying Foreman:

Table 1. Operating Systems supported by foreman-installer

Operating System

Architecture

Notes

Debian 10 (Buster)

amd64

Ubuntu 18.04 (Bionic)

amd64

Ubuntu 20.04 (Focal)

amd64

Before you install Foreman, apply all operating system updates if possible.

Install Foreman server on a freshly provisioned system.

The installation will require 4GB of memory, see System Requirements for more information.

The Foreman installer uses Puppet (5 or later required) to install Foreman. This guide assumes that you have a newly installed operating system, on which the installer will setup Foreman, a Puppet server, and the Smart Proxy by default. It’s not advisable to follow the steps below on an existing system, since the installer will affect the configuration of several components.

1. Configuring Repositories

Use this procedure to enable the repositories that are required to install Foreman server. Choose from the available list which operating system and version you are installing on:

1.1. Debian 10 (Buster)

  1. Install the ca-certificates package:

    # apt-get install ca-certificates
  2. Change directory to /tmp and install the puppet6-release-buster.deb package:

    # cd /tmp && wget https://apt.puppet.com/puppet6-release-buster.deb
  3. Install the puppet6-release-buster.deb package:

    # apt-get install /tmp/puppet6-release-buster.deb
  4. Enable the Foreman repository:

    # wget https://deb.theforeman.org/foreman.asc -O /etc/apt/trusted.gpg.d/foreman.asc
    # echo "deb http://deb.theforeman.org/ buster nightly" | sudo tee /etc/apt/sources.list.d/foreman.list
    # echo "deb http://deb.theforeman.org/ plugins nightly" | sudo tee -a /etc/apt/sources.list.d/foreman.list

1.2. Ubuntu 18.04 (Bionic)

  1. Install the ca-certificates package:

    # apt-get install ca-certificates
  2. Change directory to /tmp and install the puppet6-release-bionic.deb package:

    # cd /tmp && wget https://apt.puppet.com/puppet6-release-bionic.deb
  3. Install the puppet6-release-bionic.deb package:

    # apt-get install /tmp/puppet6-release-bionic.deb
  4. Enable the Foreman repository:

    # wget https://deb.theforeman.org/foreman.asc -O /etc/apt/trusted.gpg.d/foreman.asc
    # echo "deb http://deb.theforeman.org/ bionic nightly" | sudo tee /etc/apt/sources.list.d/foreman.list
    # echo "deb http://deb.theforeman.org/ plugins nightly" | sudo tee -a /etc/apt/sources.list.d/foreman.list

1.3. Ubuntu 20.04 (Focal)

  1. Install the ca-certificates package:

    # apt-get install ca-certificates
  2. Change directory to /tmp and install the puppet6-release-focal.deb package:

    # cd /tmp && wget https://apt.puppet.com/puppet6-release-focal.deb
  3. Install the puppet6-release-focal.deb package:

    # apt-get install /tmp/puppet6-release-focal.deb
  4. Enable the Foreman repository:

    # wget https://deb.theforeman.org/foreman.asc -O /etc/apt/trusted.gpg.d/foreman.asc
    # echo "deb http://deb.theforeman.org/ focal nightly" | sudo tee /etc/apt/sources.list.d/foreman.list
    # echo "deb http://deb.theforeman.org/ plugins nightly" | sudo tee -a /etc/apt/sources.list.d/foreman.list

2. Installing Foreman server Packages

Procedure
  1. Update package lists:

    # apt-get update
  2. Update all packages:

    # apt-get upgrade
  3. Install foreman-installer

    # apt-get install foreman-installer

3. Running the Installer

The installation run is non-interactive, but the configuration can be customized by supplying any of the options listed in foreman-installer --help, or by running foreman-installer -i for interactive mode. More examples are given in the Installation Options section. Adding -v will disable the progress bar and display all changes.

To run the installer, execute:

# foreman-installer

When the installer has completed, details will be printed about where to find Foreman and the Smart Proxy.