
Install Foreman all in one on CentOS 7 with TFTP, DHCP, Apache, puppetmaster, PostgreSQL; integrate with LDAP via Windows Server 2016 AD and use VMware vCenter 6 ESXi as resources.
Discover Foreman, an open source lifecycle management tool for provisioning, configuring, and monitoring operating systems on physical and virtual servers, with automatic patching and auditing through Katello.
Explore Foreman modes for DevOps. Provisioning mode uses PXE for unattended OS installation and puppet configuration; non-provisioning mode uses manual provisioning and registration before puppet configuration.
Set up Foreman architecture with a web interface and api, optional ldap authentication, backed by PostgreSQL, to provision operating systems on virtual or bare metal via smart proxies.
Foreman automates a pxe boot workflow, coordinating dhcp, tftp, pxelinux.0, and host-specific boot and kickstart files generated by templates to install the operating system via http, ftp, or nfs.
Learn Foreman installation requirements for puppet master, detailing hardware needs (4 GB RAM, 2 CPUs, 2 GB disk space), OS patching, and supported platforms.
Foreman installer uses puppet modules to deploy a full Foreman, configuring Apache HTTP with SSL and Passenger, mod_passenger, smart proxy for Puppet, TFTP, and a PostgreSQL server.
Set hostname and static IP on CentOS 7, add a hosts entry. Enable puppetlabs, epel, and foreman repos; install foreman installer; access the dashboard with initial credentials.
Install foreman on a CentOS 7 lab server, configure static IP, DNS, and hosts, then install Foreman and access the dashboard with initial credentials.
Validate the Foreman installation by listing installed components with rpm -qa, verifying httpd, passenger, tftp, puppet server and agent, openssl, and PostgreSQL, and confirm via the Foreman web interface.
Configure Foreman from both the settings.yaml file and the web admin page; override web settings in the config file to adjust authentication, SSL, and puppet run parameters.
Configure a REPO server on CentOS 6.9 with httpd to host Oracle Linux ol7.5_64bit and centos7u5_64bit ISO images, then validate at 172.20.10.11/ol7.5_64bit and 172.20.10.11/centos7u5_64bit.
Configure foreman to deploy CentOS 7 by defining the OS, installation media, templates (kickstart), and partition table, and set up domains and subnets for provisioning.
Provision a new CentOS server via Foreman by configuring DHCP, TFTP and PXE boot, creating a VMware Workstation guest, and applying a kickstart installation through Foreman templates.
Enable control of dhcp and dns services through the Foreman smart proxy, installed on the host during commissioning, with IPAM configuration for dhcp via dhcp.yml and dns updates via dns.yml.
Configure the smart proxy to manage dhcp and dns on the foreman server, enabling provisioning with dhcp and tftp and creating nilelinux.lan forward and reverse zones.
Configure foreman smart proxy on Windows to manage Microsoft DNS and DHCP, set up DNS/DHCP modules, define 172.20.10.0/24 subnet, provision hosts, and validate DNS and DHCP records.
Learn to manage compute resources with Foreman across bare metal and cloud providers, and define compute profiles to preset VM hardware and integrate Foreman with VMware.
Integrate foreman with vmware compute resource by installing foreman-vmware, using vsphere, connect to vcenter, and provision hosts via compute01 and compute profiles for NileLinux data center.
Puppet is a configuration management tool by puppetlabs, written in Ruby, enabling infrastructure as code with idempotent, cross‑platform configurations managed via a declarative language, Facter data, and resource abstraction layer.
Explore puppet terminology, including puppet master, puppet agent, and nodes. Learn how resources, manifests, modules, and classes organize provisioning, while templates, facts, and static files support customization.
Illustrate puppet workflow: the master collects node details, compares them with defined configurations, creates and sends a catalog to the agent, which applies the state and reports back.
Master puppet architecture in a client-server model, where the puppet master configures puppet agents, while SSL, a config repository, facts, and catalogs drive end-to-end management.
Foreman installs puppet master and puppet agent by default, with smart proxy managing puppet and puppet ca; use a dns server with an a record for puppetmaster.
Install and configure puppet agent on CentOS 7, enable Puppet repo, install puppet-agent, configure puppet.conf with certificate name and production environment, start agent, sign the CSR in Foreman, verify status.
Install and configure a puppet agent on CentOS 6 with yum and puppet.conf, set certname and puppet master server. Start the agent and sign its CSR on the puppet master.
Configure puppetcat to auto sign ssl certificates by creating an autosign entry for *.nilelinux.lan under infrastructure, smart proxies, certificates, and autosign entries; certificates sign automatically.
Install and configure Puppet agent on Ubuntu 16. Install the repo package and Puppet agent, configure puppet.conf with certname and server, start the agent, and verify node03 certificate in Foreman.
Install and configure puppet agent on ubuntu 14, including repo setup and installation. Start the agent, configure puppet.conf with node04.nilelinux.lan and the puppet master, and verify certificate signing in foreman.
Install and configure a puppet agent on Suse Enterprise Linux 12 by adding the puppet repo, installing puppet-agent, trusting the package, and configuring puppet.conf for certname, server, and production environment.
Install and configure the puppet agent on Windows Server 2016, connect to the puppet master foreman.nilelinux.lan, and verify the certificate signed by puppetca in foreman.
install the puppet agent on windows 10 by running the msi and configuring the master foreman.nilelinux.lan, then sign the CSR in foreman and run puppet agent -t again to confirm.
Discover how Foreman host groups manage servers and clients or by department, configure many hosts at once, use nested groups, and pre-select environments when creating hosts (with option to change).
Configure production host groups by creating a servers group with foreman.nilelinux.lan and puppet CA, then add Linux and Windows nested child groups that inherit settings and assign hosts accordingly.
Declare puppet resources to manage users, files, packages, services, and shell commands, triggering system changes when states differ, with vim example using ensure installed and describe -l for types.
Learn Puppet manifests, a domain-specific language for describing system configurations in .pp files. See how Puppet agent checks in, compiles catalogs, and enforces files like /tmp/new-file.
Learn how Puppet classes group resources, define reusable code blocks, and apply them in manifests using normal includes or resource-like declarations, demonstrated by creating /tmp/test_dir via a class.
Learn how puppet modules organize manifests and data, including facts, files, and templates; structure, naming, and integration with Foreman to apply configurations to agents.
Create a puppet module named welcome to manage /tmp/hello.txt with content welcome to Nile Linux training course using the file resource; import it into Foreman and apply to a host.
Learn how to deploy static files in puppet by referencing module files via puppet:///modules, so changes on the master propagate to all puppet agent nodes.
Create a puppet module named accounts using the user resource to manage a Linux user mostafa_yasin, defining uid, home, shell, and password hash, then apply it across Linux servers.
Use the Puppet run feature in the Foreman web interface to apply Puppet configurations immediately on selected hosts via ssh, bypassing Puppet agent delays and requiring DNS or hosts entries.
Enable puppet run in foreman by configuring ssh provider and puppet_proxy_ssh settings, generate and secure ssh keys, update foreman settings, and copy keys to all puppet agents to activate runs.
Create a puppet module to manage groups on Linux hosts using the group resource type. Import it into Foreman and apply it to Linux agents to ensure hr exists.
Create a puppet module named new_dir to manage /tmp/dir01 using the file resource; import into foreman, apply to host node01, and verify puppet agent reports the created directory.
Create a puppet module cups_srv to manage the cups service on Linux hosts using the Service resource type, ensuring it runs and enables at startup, via foreman.
Create a puppet module named dos_pkg to install dos2unix on all Linux puppet agents using the package resource, import it into Foreman, and apply it across Linux host groups.
Learn to execute external commands on Linux with a Puppet module using the exec resource. Create the shellcmd module with an init.pp and run /bin/echo to /tmp/enjoy.txt via Foreman.
Create a puppet module named localrepo to manage yum repositories using the yumrepo resource, and deploy it via Foreman to CentOS hosts, creating /etc/yum.repos.d files with baseurl and gpgcheck settings.
Manage cron jobs with a puppet module by creating a cron resource to run logrotate as root daily at 2, and deploy it across Linux puppet agents via foreman.
Create a puppet module named new_host to manage /etc/hosts with the host resource, import it in foreman, and apply it to all Linux puppet agents.
Using Foreman you will be able to install and manage Linux on multiple servers at the same time by single click. Foreman is an open source project that helps system administrators manage servers throughout their lifecycle, from provisioning and configuration to orchestration and monitoring. Using Puppet and Foreman’s smart proxy architecture, you can easily automate repetitive tasks, quickly deploy applications, and proactively manage change, both on-premise with VMs and bare-metal or in the cloud. Foreman is deployed in many organizations, managing from 10s to 10,000s of servers.
Using Foreman you can:
Discover, provision and upgrade your entire OS infrastructure.
Create and manage instances across private and public clouds.
Group your hosts and manage them in bulk, regardless of location.
Review historical changes for auditing or troubleshooting.
Extend as needed via a robust plugin architecture.
Automatically build images (on each platform) per system definition to optimize deployment.
The following operating systems are known to install successfully from Foreman:
Red hat Enterprise Linux, CentOS, Fedora, Ubuntu, Debian, Solaris, OpenSUSE, SLES, Oracle Linux, CoreOS, FreeBSD.
Foreman can provision on bare metal as well as the following cloud providers:
Amazon EC2, Google Compute Engine, Libvirt, OpenStack , oVirt , RHEV, Rackspace, VMware.
Foreman is used with Kattelo as the Upstream project for Red Hat Satellite to manage Red Hat Enterprise Linux Lifecycle.