The Foreman installer is a collection of Puppet modules that installs everything required for a full working Foreman setup. It uses native operating system packaging (.rpm or .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.

1. Supported operating systems

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

Enterprise Linux 9

x86_64 only

EPEL is not supported.

Foreman community advises against using an existing system because the Foreman installer will affect the configuration of several components.

The installation requires 4 GB of memory. For more information, see System Requirements.

The Foreman installer uses Puppet 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.

2. Configuring repositories

Procedure
  1. Clear any metadata:

    # dnf clean all
  2. Install the foreman-release.rpm package:

    # dnf install https://yum.theforeman.org/releases/nightly/el9/x86_64/foreman-release.rpm
  3. Install the puppet-release package.

    • For Puppet 8:

      # dnf install https://yum.puppet.com/puppet8-release-el-9.noarch.rpm
    • For Puppet 7:

      # dnf install https://yum.puppet.com/puppet7-release-el-9.noarch.rpm
Verification
  • Verify that the required repositories are enabled:

    # dnf repolist enabled

3. Installing Foreman server packages

Procedure
  1. Update all packages:

    # dnf upgrade
  2. Install foreman-installer:

    # dnf install foreman-installer

4. Running the Foreman 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 described in the Installation Options section. The -v option disables the progress bar and displays all changes.

Procedure
  • Run the following command:

    # foreman-installer

The script displays its progress and writes logs to /var/log/foreman-installer/foreman.log.