Newer version available
This quickstart guide is for Foreman 1.12, but the latest version is 3.13.
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, Passenger, a Puppet master (either Puppet Server or under Passenger), and optionally 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.
Other operating systems will need to use alternative installation methods (see the manual).
The installation will require 4GB of memory, see System Requirements for more information.
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 master, and the Smart Proxy by default.
To provide specific installation instructions, please select your operating system:
First, enable the RHEL Optional repo:
yum-config-manager --enable rhel-6-server-optional-rpms
Check the repository is enabled with yum repolist
after running the above command, as it can silently fail when subscription does not provide it.
If you're using RH Satellite 5, you should instead sync and enable the channel there.
First, enable the RHEL Optional repos:
yum-config-manager --enable rhel-7-server-optional-rpms
Check the repository is enabled with yum repolist
after running the above command, as it can silently fail when subscription does not provide it.
If you're using RH Satellite 5, you should instead sync and enable the channel there.
Using Puppet 3.x or 4.x is required, which is available from the Puppet Labs repositories. The version in EPEL (2.7.26) is not supported. To use Puppet 4.x with Puppet Agent and Puppet Server:
yum -y install https://yum.puppetlabs.com/puppetlabs-release-pc1-el-6.noarch.rpm
Or to use Puppet 3.x:
yum -y install https://yum.puppetlabs.com/puppetlabs-release-el-6.noarch.rpm
Enable the EPEL (Extra Packages for Enterprise Linux) and the Foreman repos:
yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
yum -y install https://yum.theforeman.org/releases/1.12/el6/x86_64/foreman-release.rpm
Enable the EPEL (Extra Packages for Enterprise Linux) and the Foreman repos:
yum -y install http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum -y install https://yum.theforeman.org/releases/1.12/el6/x86_64/foreman-release.rpm
Using a recent version of Puppet is recommended, which is available from the Puppet Labs repository. You may skip this and use the older version from EPEL without a problem, however it has reduced community support. To use Puppet 4.x with Puppet Agent and Puppet Server:
yum -y install https://yum.puppetlabs.com/puppetlabs-release-pc1-el-7.noarch.rpm
Or to use Puppet 3.x from Puppet Labs:
yum -y install https://yum.puppetlabs.com/puppetlabs-release-el-7.noarch.rpm
Enable the EPEL (Extra Packages for Enterprise Linux) and the Foreman repos:
yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum -y install https://yum.theforeman.org/releases/1.12/el7/x86_64/foreman-release.rpm
Enable the EPEL (Extra Packages for Enterprise Linux) and the Foreman repos:
yum -y install epel-release https://yum.theforeman.org/releases/1.12/el7/x86_64/foreman-release.rpm
Enable the Foreman repo:
dnf -y install https://yum.theforeman.org/releases/1.12/f24/x86_64/foreman-release.rpm
Using Puppet 4.x is recommended, which is available from the Puppet Labs repository. You may skip this and use Puppet 3.x from Debian without a problem, however it has reduced community support. To use Puppet 4.x with Puppet Agent and Puppet Server:
apt-get -y install ca-certificates
wget https://apt.puppetlabs.com/puppetlabs-release-pc1-jessie.deb
dpkg -i puppetlabs-release-pc1-jessie.deb
Enable the Foreman repo:
echo "deb http://deb.theforeman.org/ jessie 1.12" > /etc/apt/sources.list.d/foreman.list
echo "deb http://deb.theforeman.org/ plugins 1.12" >> /etc/apt/sources.list.d/foreman.list
apt-get -y install ca-certificates
wget -q https://deb.theforeman.org/pubkey.gpg -O- | apt-key add -
Using a recent version of Puppet is recommended, which is available from the Puppet Labs repository. You may skip this and use Puppet 3.x from Ubuntu without a problem, however it has reduced community support. To use Puppet 4.x with Puppet Agent and Puppet Server:
apt-get -y install ca-certificates
wget https://apt.puppetlabs.com/puppetlabs-release-pc1-trusty.deb
dpkg -i puppetlabs-release-pc1-trusty.deb
Or to use Puppet 3.x from Puppet Labs:
apt-get -y install ca-certificates
wget https://apt.puppetlabs.com/puppetlabs-release-trusty.deb
dpkg -i puppetlabs-release-trusty.deb
Enable the Foreman repo:
echo "deb http://deb.theforeman.org/ trusty 1.12" > /etc/apt/sources.list.d/foreman.list
echo "deb http://deb.theforeman.org/ plugins 1.12" >> /etc/apt/sources.list.d/foreman.list
apt-get -y install ca-certificates
wget -q https://deb.theforeman.org/pubkey.gpg -O- | apt-key add -
Using Puppet 4.x is recommended, which is available from the Puppet Labs repository. You may skip this and use Puppet 3.x from Ubuntu without a problem, however it has reduced community support. To use Puppet 4.x with Puppet Agent and Puppet Server:
apt-get -y install ca-certificates
wget https://apt.puppetlabs.com/puppetlabs-release-pc1-xenial.deb
dpkg -i puppetlabs-release-pc1-xenial.deb
Enable the Foreman repo:
echo "deb http://deb.theforeman.org/ xenial 1.12" > /etc/apt/sources.list.d/foreman.list
echo "deb http://deb.theforeman.org/ plugins 1.12" >> /etc/apt/sources.list.d/foreman.list
apt-get -y install ca-certificates
wget -q https://deb.theforeman.org/pubkey.gpg -O- | apt-key add -
dnf -y install foreman-installer
yum -y install foreman-installer
apt-get update && apt-get -y install foreman-installer
ping $(hostname -f)
shows the real IP address, not 127.0.1.1. Change or remove this entry from /etc/hosts if present.
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
After it completes, the installer will print some details about where to find Foreman and the Smart Proxy and Puppet master if they were installed along Foreman. Output should be similar to this:
* Foreman is running at https://theforeman.example.com
Initial credentials are admin / 3ekw5xtyXCoXxS29
* Foreman Proxy is running at https://theforeman.example.com:8443
* Puppetmaster is running at port 8140
The full log is at /var/log/foreman-installer/foreman-installer.log
Continue reading the quickstart guide in the manual:
Or view the quickstart screencasts:
Foreman 3.13.0 has been released! Follow the quick start to install it.
Foreman 3.12.1 has been released! Follow the quick start to install it.