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.

Enterprise Linux 8

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 20 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
  • Enterprise Linux 9

  • Enterprise Linux 8

  1. Clear any metadata:

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

    # dnf install https://yum.theforeman.org/releases/3.13/el9/x86_64/foreman-release.rpm
  3. Install the katello-repos-latest.rpm package:

    # dnf install https://yum.theforeman.org/katello/4.15/katello/el9/x86_64/katello-repos-latest.rpm
  4. 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
  1. Clear any metadata:

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

    # dnf install https://yum.theforeman.org/releases/3.13/el8/x86_64/foreman-release.rpm
  3. Install the katello-repos-latest.rpm package:

    # dnf install https://yum.theforeman.org/katello/4.15/katello/el8/x86_64/katello-repos-latest.rpm
  4. Install the puppet-release package.

    • For Puppet 8:

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

      # dnf install https://yum.puppet.com/puppet7-release-el-8.noarch.rpm
  5. Enable the DNF modules:

    # dnf module enable katello:el8
    Note

    If there is any warning about conflicts with Ruby or PostgreSQL while enabling katello:el8 module, see Troubleshooting DNF modules in Installing Foreman Server with Katello 4.15 plugin on Enterprise Linux. For more information about modules and lifecycle streams on Red Hat Enterprise Linux 8, see Red Hat Enterprise Linux Application Streams Lifecycle.

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-katello:

    # dnf install foreman-installer-katello

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 --scenario katello

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