Firewall

How to Set Up ModSecurity WAF with Apache on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Set Up ModSecurity WAF with Apache on RHEL 9

ModSecurity is the leading open-source Web Application Firewall (WAF), capable of inspecting all HTTP requests and responses against a ruleset and blocking malicious traffic including SQL injection, cross-site scripting (XSS), remote file inclusion, and OWASP Top 10 attack patterns. Combined with the OWASP Core Rule Set (CRS), ModSecurity transforms Apache into a security gateway that […]

Read more
How to Install and Configure Caddy Web Server on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Install and Configure Caddy Web Server on RHEL 9

Caddy is a modern, open-source web server written in Go that stands out for one defining feature: automatic HTTPS. Caddy obtains and renews TLS certificates from Let’s Encrypt or ZeroSSL automatically, with zero configuration required beyond specifying a domain name. It also supports HTTP/2 and HTTP/3 (QUIC) out of the box, and its declarative Caddyfile […]

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

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

Like Nginx, Apache can be secured with free SSL/TLS certificates from Let’s Encrypt using Certbot. The python3-certbot-apache plugin performs domain validation, obtains the certificate, and automatically updates your Apache virtual host configuration with the SSL directives, HTTP-to-HTTPS redirect, and modern cipher settings. This guide covers installing Certbot on RHEL 9, obtaining a certificate for your […]

Read more
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 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 Use rsync for Efficient File Synchronisation on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Use rsync for Efficient File Synchronisation on RHEL 9

rsync is the Swiss Army knife of file synchronisation for Linux administrators. Unlike scp, which blindly copies every file every time, rsync computes a rolling checksum to identify changed file blocks and transfers only what has changed — making subsequent syncs dramatically faster and less bandwidth-intensive. It preserves file attributes (permissions, ownership, timestamps, ACLs, extended […]

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
CHAT