Red Hat Enterprise Linux

How to Install and Configure SonarQube on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Install and Configure SonarQube on RHEL 9

SonarQube is an open-source static code analysis platform that continuously inspects source code for bugs, security vulnerabilities, code smells, and technical debt across 30+ programming languages. It integrates with CI/CD pipelines (Jenkins, GitLab CI, GitHub Actions) to provide automatic quality gates — blocking merges or deployments when code quality metrics fall below defined thresholds. SonarQube […]

Read more
How to Configure Fail2Ban to Protect SSH on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Configure Fail2Ban to Protect SSH on RHEL 9

Even with SSH key authentication enabled, a badly configured or temporarily accessible server with password auth still faces a constant barrage of brute-force login attempts. Fail2ban monitors log files for authentication failures, counts them per source IP, and when a configured threshold is crossed it issues a temporary ban by injecting a drop rule via […]

Read more
How to Configure sudo and Sudoers on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Configure sudo and Sudoers on RHEL 9

The sudo (superuser do) tool allows designated users to run commands with elevated privileges without sharing the root password. This is fundamental to the principle of least privilege: each administrator gets exactly the access they need for their role, no more. When access is misconfigured — for example with blanket ALL=(ALL) ALL entries or unsafe […]

Read more
How to Install InfluxDB and Telegraf on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Install InfluxDB and Telegraf on RHEL 9

InfluxDB 2.x is a purpose-built time-series database that excels at storing high-cardinality metrics with millisecond precision, while Telegraf is its companion agent that collects metrics from hundreds of input plugins and writes them directly to InfluxDB. Together they form the “TIG stack” backbone when paired with Grafana for visualisation. On RHEL 9, both packages are […]

Read more
How to Deploy a .NET Application on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Deploy a .NET Application on RHEL 9

.NET 8 is the current Long-Term Support release of Microsoft’s open-source runtime and is fully supported on RHEL 9 through Microsoft’s official package repository. ASP.NET Core applications run as self-contained processes, which makes them easy to containerise or proxy behind Nginx for production workloads. This tutorial walks through adding the Microsoft repository, installing the .NET […]

Read more
How to Configure syslog-ng for Centralised Syslog on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Configure syslog-ng for Centralised Syslog on RHEL 9

syslog-ng is a high-performance, flexible syslog daemon that can act as a centralised log server, receiving log messages from dozens of remote hosts, filtering them, and writing them to organised file hierarchies or forwarding them to external storage systems. Unlike the default rsyslog that ships with RHEL 9, syslog-ng offers a powerful pattern-based configuration language […]

Read more
How to Configure BGP Routing with BIRD on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Configure BGP Routing with BIRD on RHEL 9

BGP (Border Gateway Protocol) is the routing protocol that underpins the internet, exchanging routing information between autonomous systems (ASes). On RHEL 9, BIRD (BIRD Internet Routing Daemon) provides a robust, actively maintained BGP implementation suited for both lab environments and production edge routers. This tutorial walks through installing BIRD 2 on RHEL 9, writing a […]

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

How to Install Java and Configure JAVA_HOME on RHEL 9

Java 21 is a Long-Term Support release that brings virtual threads, record classes, and pattern matching to the platform, making it the recommended JDK for new enterprise workloads on RHEL 9. Red Hat ships OpenJDK 21 through the standard dnf repositories, so installation is straightforward and kept in sync with security advisories. This tutorial covers […]

Read more
How to Set Up Two-Factor Authentication for SSH with Google Authenticator on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Set Up Two-Factor Authentication for SSH with Google Authenticator on RHEL 9

Password-based SSH authentication is a well-known attack vector, and even key-based authentication can be compromised if a private key is stolen. Adding Time-Based One-Time Password (TOTP) two-factor authentication creates a second layer of defense that is independent of the key. This tutorial shows you how to configure the Google Authenticator PAM module on RHEL 9 […]

Read more
How to Configure Docker Daemon TLS Encryption on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Configure Docker Daemon TLS Encryption on RHEL 9

By default, the Docker daemon socket (/var/run/docker.sock) is a Unix socket accessible only locally. When the Docker daemon needs to be accessible over the network — for remote Docker management, CI/CD pipelines connecting to a remote build host, or Docker Swarm cluster communication — TLS encryption must be configured to prevent man-in-the-middle attacks and unauthorised […]

Read more
CHAT