DNS

How to Secure Nginx with Let's Encrypt and Certbot on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Secure Nginx with Let’s Encrypt and Certbot on RHEL 9

HTTPS is no longer optional — browsers mark HTTP sites as “Not Secure”, search engines penalise them in rankings, and many modern browser APIs (service workers, geolocation, camera access) require a secure context. Let’s Encrypt provides free, automated, and trusted SSL/TLS certificates via the ACME protocol, and Certbot is the recommended ACME client that handles […]

Read more
How to Configure Network Interface Settings with nmcli and ip on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Configure Network Interface Settings with nmcli and ip on RHEL 9

Network configuration on RHEL 9 is managed by NetworkManager, and the primary tools for working with it are nmcli (NetworkManager Command-Line Interface) and the traditional ip command from the iproute2 package. Understanding both is essential: nmcli creates persistent network profiles that survive reboots and are managed by NetworkManager, while the ip command makes temporary changes […]

Read more
How to Schedule Automated Tasks with cron and anacron on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Schedule Automated Tasks with cron and anacron on RHEL 9

Automated task scheduling is the backbone of server maintenance: backups run at 3 AM, log cleanup happens daily, SSL certificates renew before they expire, and databases are vacuumed weekly. On RHEL 9, there are three scheduling mechanisms each suited to different scenarios. cron is the classic daemon that runs jobs on a schedule defined by […]

Read more
How to Configure /etc/hosts, /etc/resolv.conf and DNS Resolution on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Configure /etc/hosts, /etc/resolv.conf and DNS Resolution on RHEL 9

DNS resolution on a Linux server is a multi-layered system. When an application calls getaddrinfo(“example.com”), the request passes through the Name Service Switch (NSS) framework, which consults sources in the order defined in /etc/nsswitch.conf — typically /etc/hosts first, then a DNS resolver. The DNS resolver reads its configuration from /etc/resolv.conf, which lists the DNS servers […]

Read more
How to Manage Users and Groups with useradd, groupadd and passwd on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Manage Users and Groups with useradd, groupadd and passwd on RHEL 9

While the earlier tutorial in this series covered the core useradd, usermod, and userdel tools for user lifecycle management, this guide goes deeper into the full toolkit for managing users and groups at scale on RHEL 9: bulk creation, password management with chpasswd, group administration with gpasswd, per-user resource limits with ulimit and /etc/security/limits.conf, user […]

Read more
Initial Server Setup with RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

Initial Server Setup with RHEL 9

Red Hat Enterprise Linux 9 (RHEL 9, codenamed “Plow”) is the most significant release of RHEL in years, built on Linux kernel 5.14, OpenSSL 3.0, and shipped with a hardened-by-default security posture including SELinux enforcing mode, nftables as the default firewall backend, and full support for the latest POWER, ARM, and x86_64 architectures. Whether you […]

Read more
How to Configure the Firewall on RHEL 9 with firewalld — step-by-step RHEL 9 tutorial on Progressive Robot

How to Configure the Firewall on RHEL 9 with firewalld

Red Hat Enterprise Linux 9 uses firewalld as its default firewall management daemon, backed by nftables as the kernel netfilter framework (replacing iptables which was the default in RHEL 7 and earlier). firewalld provides a zone-based model where each network interface is assigned to a trust zone — public, internal, dmz, trusted, and more — […]

Read more
How to Set a Hostname and FQDN on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Set a Hostname and FQDN on RHEL 9

A server’s hostname is its identity on the network. The fully qualified domain name (FQDN) combines the short hostname with the DNS domain, forming an address like web01.example.com. Many services depend on a correctly configured hostname and FQDN to function properly: email servers use the FQDN in SMTP HELO greetings (incorrect values cause delivery rejections), […]

Read more
How to Sync Time with Chrony on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Sync Time with Chrony on RHEL 9

Accurate time synchronization is not optional on a server — it is a hard requirement. TLS certificate validation fails when the clock is wrong by more than a few minutes. Kerberos authentication rejects tickets with a clock skew over 5 minutes. Cron jobs fire at the wrong time. Log correlation across multiple servers becomes impossible […]

Read more
How to Use tmux for Terminal Multiplexing on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Use tmux for Terminal Multiplexing on RHEL 9

Terminal multiplexing solves one of the most common problems in server administration: when your SSH connection drops mid-task, any running process in that session is killed. With tmux, your terminal sessions run inside a server-side process that persists independently of your SSH connection. You can detach from a session, disconnect, reconnect hours later from a […]

Read more
CHAT