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:
Operating System |
Architecture |
Notes |
x86_64 only |
EPEL is not supported. |
|
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
Select the operating system and version you are installing on:
2.1. Enterprise Linux 9
-
Clear any metadata:
# dnf clean all
-
Install the
foreman-release.rpm
package:# dnf install https://yum.theforeman.org/releases/3.12/el9/x86_64/foreman-release.rpm
-
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
-
-
Verify that the required repositories are enabled:
# dnf repolist enabled
2.2. Enterprise Linux 8
-
Clear any metadata:
# dnf clean all
-
Install the
foreman-release.rpm
package:# dnf install https://yum.theforeman.org/releases/3.12/el8/x86_64/foreman-release.rpm
-
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
-
-
Enable the DNF modules:
# dnf module enable foreman:el8
NoteIf there is any warning about conflicts with Ruby or PostgreSQL while enabling
foreman:el8
module, see Troubleshooting DNF modules in Installing Foreman Server 3.12 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.
-
Verify that the required repositories are enabled:
# dnf repolist enabled
3. Installing Foreman server packages
-
Update all packages:
# dnf upgrade
-
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.
-
Run the following command:
# foreman-installer
The script displays its progress and writes logs to /var/log/foreman-installer/foreman.log
.