RHEL 9

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 Apache Virtual Hosts on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Configure Apache Virtual Hosts on RHEL 9

Apache virtual hosts are the mechanism by which a single Apache HTTP Server instance serves multiple websites, distinguishing between them using the ServerName directive and the incoming Host HTTP header. Name-based virtual hosting (the most common type) allows hundreds of domains to share a single IP address, with Apache routing each request to the correct […]

Read more
How to Configure Nginx Server Blocks (Virtual Hosts) on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Configure Nginx Server Blocks (Virtual Hosts) on RHEL 9

Nginx server blocks (the equivalent of Apache virtual hosts) allow a single Nginx instance to serve multiple websites from the same IP address, distinguished by the server_name directive. Each block is an independent configuration defining the domain name, document root, SSL settings, URL rewrite rules, logging, and location-specific behaviour. On RHEL 9, server block files […]

Read more
How to Install Apache HTTP Server on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Install Apache HTTP Server on RHEL 9

Apache HTTP Server (httpd) is the most historically significant web server in the history of the internet, powering billions of websites since 1995. On RHEL 9, Apache is available as httpd from the AppStream repository and integrates with SELinux, firewalld, and systemd. Apache’s module architecture makes it highly extensible: mod_rewrite for URL manipulation, mod_ssl for […]

Read more
How to Install Nginx on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Install Nginx on RHEL 9

Nginx (pronounced “engine-x”) is the most widely deployed web server in the world, powering everything from small personal websites to the largest content delivery networks. On RHEL 9, Nginx is available from the AppStream repository and integrates natively with SELinux, firewalld, and systemd. Its event-driven, non-blocking architecture means a single Nginx worker process can handle […]

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 Manage System Packages with dnf on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Manage System Packages with dnf on RHEL 9

dnf (Dandified YUM) is the default package manager for RHEL 9 and the successor to yum. It handles installing, updating, removing, and querying RPM packages from local and remote repositories, resolving dependencies automatically using the libsolv library, and supporting transactions that can be rolled back if something goes wrong. For Red Hat Enterprise Linux, packages […]

Read more
How to Perform a System Security Audit with auditd on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Perform a System Security Audit with auditd on RHEL 9

Security auditing is the practice of recording and reviewing system calls, file accesses, user actions, and configuration changes to detect policy violations, investigate incidents, and demonstrate compliance with standards like PCI DSS, HIPAA, and SOC 2. On RHEL 9, the Linux Audit Framework — provided by the auditd daemon — captures events at the kernel […]

Read more
How to Install and Configure vim and nano on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Install and Configure vim and nano on RHEL 9

Every Linux administrator needs at least one terminal text editor in their toolkit. When a remote server is accessible only via SSH with no GUI, when a configuration file needs editing before a service can start, or when you are recovering a broken system from a rescue shell, your text editor is your primary interface. […]

Read more
How to Use journalctl for Systemd Log Analysis on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Use journalctl for Systemd Log Analysis on RHEL 9

The Linux kernel’s systemd journal is a structured binary log that stores the output of every service, kernel message, boot sequence, and user session. Unlike traditional text-based syslog, the journal stores metadata alongside each log entry — the unit name, PID, UID, executable path, systemd unit state, and priority level — enabling far more precise […]

Read more
CHAT