Linux
Red Hat Certified Engineer (RHCE) #3: Config Files and Connectivity — ansible.cfg, ssh, become
The third post in the Red Hat Certified Engineer (RHCE) series. We lay out the lookup precedence and key settings of ansible.cfg, which governs how Ansible behaves, the procedure for setting up SSH key-based connections with ssh-copy-id, and how to escalate privileges with become. We build a per-project ansible.cfg and become configuration by hand — a perennial exam favorite — and check the connection.
Red Hat Certified Engineer (RHCE) #2 Inventory: static, dynamic, group/host_vars
The second post in the Red Hat Certified Engineer (RHCE) series. We work through the inventory that defines what Ansible operates on — static inventory in both INI and YAML form, groups and groups of groups (children), range notation, and the directory layout that splits variables into group_vars and host_vars. We also cover how to verify with ansible-inventory, the concept of dynamic inventory, and the task patterns that show up again and again on the exam.
Red Hat Certified Engineer (RHCE) #1: Exam Overview — the environment, time management, ansible-navigator vs ansible-playbook
The opening post of the Red Hat Certified Engineer (RHCE) series. Assuming you already hold RHCSA, we lay out the format and domains of the EX294 hands-on exam, the 210/300 passing score and 4-hour testing environment, the nature of the exam as Ansible automation, and the ansible-navigator vs ansible-playbook execution styles. This 19-part series targets an RHCE pass, wrapping up with a full-scale mock exam in #19.
RHEL in Practice #6 Wrapping Up the Track: A Reference Architecture
The final post of the RHEL in Practice track. We tie together the nginx web server, PostgreSQL, Podman containers, Cockpit/PCP monitoring, and Ansible automation covered across posts #1 through #5 into a single reference architecture, drawing the full picture of running one small web service on a single box. We also walk through an operations checklist covering persistence, SELinux, firewalld, backups, logging, permissions, and time sync, plus the learning path that leads on to the RHCSA and RHCE certifications.
RHEL in Practice #5: Automating RHEL with Ansible — Bridging to the RHCE Track
The fifth post in the RHEL in Practice track. We take the hand-driven work from #1〜#4 — nginx, PostgreSQL, Podman, and monitoring — and tie it back together with Ansible, organizing the big picture of reproducing the same result from a single set of code. We cover ansible-core installation, a minimal inventory and ansible.cfg, the idempotency concept, examples of moving hand work into a playbook, and the path to abstraction with rhel-system-roles — leaving the deep syntax to the RHCE track.
RHEL in Practice #4 Monitoring: Cockpit, PCP
The fourth post in the RHEL in Practice track. Once you have web, DB, and containers running, it is time to look at what is actually happening on top of them. This post walks through one full cycle: standing up the Cockpit web console for browser-based server management and Performance Co-Pilot (PCP) for collecting and recording performance metrics on RHEL, then wiring the two together to view performance graphs. It also covers when to reach for the basic commands like top, ss, journalctl, and sar.
RHEL in Practice #3: Container Workloads — Podman, systemd (quadlet)
The third post in the RHEL in Practice track. Putting the web and DB we stood up by hand in #1 and #2 back up as containers, we organize the operational flow of Podman, RHEL's standard container engine. Image pull and run, volumes and port mapping, rootless containers, and integrating containers as systemd services with quadlet for automatic startup at boot — all in one cycle.
RHEL in Practice #2: Database Operations — PostgreSQL on RHEL
The second post in the RHEL in Practice track. Having stood up the web tier, we move to the data tier behind it: installing and initializing PostgreSQL via RHEL's AppStream modules. We cover the data directory and SELinux context, postgresql.conf / pg_hba.conf settings and the firewalld opening for remote access, and everything from creating users and databases to backup, recovery, and diagnosis when you get stuck — all from a real operations perspective.
RHEL in Practice #1: Running a Web Server — nginx, systemd, SELinux Policy
The first post in the RHEL in Practice track. It brings together the systemd, SELinux, and firewalld knowledge from the basics, intermediate, and advanced series, and walks one full cycle of standing up an nginx web server properly on RHEL. Package install and service registration, SELinux context and port labels, opening firewalld, plus the spots where non-standard ports and document roots most often trip people up — all covered from a real operations angle.
RHEL Advanced #7: Cockpit for GUI Management and Web Console — Series Wrap
The RHEL Advanced series so far has been all CLI, but Cockpit is the standard tool that adds a lightweight web GUI on top. The web console covers systemd, services, users, networking, storage, Podman, kdump, and SELinux on one screen, lets you manage multiple machines from a dashboard, integrates sosreport and diagnostic tools, and handles the kinds of work better done in Cockpit than by SSHing in to edit with vi — as we wrap the series.
RHEL Advanced #6: Subscription, Satellite, Insights — Operations Infrastructure
Three Red Hat operations tools you meet not when running one machine, but when running tens or hundreds. subscription-manager ties a machine to a Red Hat subscription, Satellite is the on-prem unified ops platform for lifecycle, content views, and patch automation, and Insights is the SaaS analytics service for vulnerability, stability, and performance recommendations — all in one cycle.
RHEL Advanced #5: Security Hardening — auditd, OpenSCAP, FIPS
The three pillars of operational security stacked on top of SELinux. auditd for recording every change to the system with ausearch/aureport, OpenSCAP for automated checking and remediation against CIS, STIG, PCI-DSS, and FIPS mode required by government and financial certifications — all in one cycle.