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
Foreman server is supported on the latest versions of Enterprise Linux 8 and Enterprise Linux 7 Server that are available at the time when Foreman server is installed. Previous versions of Enterprise Linux including EUS or z-stream are not supported.
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:
Operating System |
Architecture |
Notes |
Enterprise Linux 8 |
x86_64 only |
EPEL is not supported. |
Enterprise Linux 7 |
x86_64 only |
EPEL is required. |
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. For more information, see System Requirements.
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. CentOS 8
-
Clear any metadata:
# dnf clean all
-
Install the
foreman-release.rpm
package:# yum install https://yum.theforeman.org/releases/3.3/el8/x86_64/foreman-release.rpm
-
Install the
katello-repos-latest.rpm
package# yum install https://yum.theforeman.org/katello/4.5/katello/el8/x86_64/katello-repos-latest.rpm
-
Install the
puppet7-release-el-8.noarch.rpm
package:# yum install https://yum.puppet.com/puppet7-release-el-8.noarch.rpm
-
Enable
powertools
repository:# dnf config-manager --set-enabled powertools
-
Enable the Katello and Pulpcore modules:
# dnf module enable katello:el8 pulpcore:el8
If this fails to enable, see DNF module enablement troubleshooting.
1.2. CentOS 7
-
Clear any metadata:
# yum clean all
-
Install the
foreman-release.rpm
package:# yum install https://yum.theforeman.org/releases/3.3/el7/x86_64/foreman-release.rpm
-
Install the
katello-repos-latest.rpm
package# yum install https://yum.theforeman.org/katello/4.5/katello/el7/x86_64/katello-repos-latest.rpm
-
Install the
puppet7-release-el-7.noarch.rpm
package:# yum install https://yum.puppet.com/puppet7-release-el-7.noarch.rpm
-
Install the
epel-release
andcentos-release-scl-rh
packages:# yum install epel-release centos-release-scl-rh
1.3. Red Hat Enterprise Linux 8
-
Disable all repositories:
# subscription-manager repos --disable "*"
-
Enable the following repositories:
# subscription-manager repos --enable=rhel-8-for-x86_64-baseos-rpms \ --enable=rhel-8-for-x86_64-appstream-rpms
-
Clear any metadata:
# dnf clean all
-
Install the
foreman-release.rpm
package:# yum install https://yum.theforeman.org/releases/3.3/el8/x86_64/foreman-release.rpm
-
Install the
katello-repos-latest.rpm
package# yum install https://yum.theforeman.org/katello/4.5/katello/el8/x86_64/katello-repos-latest.rpm
-
Install the
puppet7-release-el-8.noarch.rpm
package:# yum install https://yum.puppet.com/puppet7-release-el-8.noarch.rpm
-
Enable the module:
# dnf module enable katello:el8 pulpcore:el8
1.4. Red Hat Enterprise Linux 7
-
Disable all repositories:
# subscription-manager repos --disable "*"
-
Enable the following repositories:
# subscription-manager repos --enable=rhel-7-server-rpms \ --enable rhel-7-server-optional-rpms \ --enable rhel-server-rhscl-7-rpms
-
Install the
epel-release-latest-7.noarch.rpm
package:# yum localinstall https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
-
Clear any metadata:
# yum clean all
-
Install the
foreman-release.rpm
package:# yum install https://yum.theforeman.org/releases/3.3/el7/x86_64/foreman-release.rpm
-
Install the
katello-repos-latest.rpm
package# yum install https://yum.theforeman.org/katello/4.5/katello/el7/x86_64/katello-repos-latest.rpm
-
Install the
puppet7-release-el-7.noarch.rpm
package:# yum install https://yum.puppet.com/puppet7-release-el-7.noarch.rpm
Note
|
If you are installing Foreman server as a virtual machine hosted on oVirt, you must also enable the Red Hat Common repository, and install oVirt guest agents and drivers. For more information, see Installing the Guest Agents and Drivers on Red Hat Enterprise Linux in the Virtual Machine Management Guide. |
2. Installing Foreman server Packages
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 --scenario katello
When the installer has completed, details will be printed about where to find Foreman and the Smart Proxy.