RHEL 9

How to Deploy a Node.js Application with PM2 on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Deploy a Node.js Application with PM2 on RHEL 9

PM2 is a production-grade process manager for Node.js applications. Running a Node.js app directly with node server.js has a critical limitation: if the process crashes, it stays down until someone manually restarts it. PM2 solves this and much more — it automatically restarts crashed processes, starts applications on system boot, enables zero-downtime reloads for application […]

Read more
How to Manage Node.js Versions with NVM on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Manage Node.js Versions with NVM on RHEL 9

NVM (Node Version Manager) allows installing and switching between multiple Node.js versions on the same machine without system-level package manager involvement. This is essential for developers or servers that need to run different Node.js versions for different projects — for example, running a legacy application on Node.js 16 while developing a new application on Node.js […]

Read more
How to Install Node.js 20 with NodeSource on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Install Node.js 20 with NodeSource on RHEL 9

Node.js is a JavaScript runtime built on Chrome’s V8 engine that enables server-side JavaScript execution. Its non-blocking, event-driven I/O model makes it exceptionally efficient for real-time applications, REST APIs, streaming services, and microservices that handle many concurrent connections. The RHEL 9 default AppStream provides Node.js 18, but the NodeSource repository provides the latest LTS releases […]

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

How to Install Jupyter Notebook on RHEL 9

Jupyter Notebook is an interactive computing environment that allows you to create documents containing live Python code, equations, visualisations, and explanatory text in a single file. Notebooks (.ipynb files) are the standard format for data exploration, machine learning experiments, scientific computing, and educational tutorials because they let you execute code in small cells, inspect results […]

Read more
How to Deploy a Flask Application with Gunicorn and Nginx on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Deploy a Flask Application with Gunicorn and Nginx on RHEL 9

Flask is a lightweight Python web microframework that provides only the essentials: URL routing, request/response handling, and Jinja2 templating. Unlike Django, Flask does not include an ORM, authentication, or admin interface by default — these are added through extensions like SQLAlchemy, Flask-Login, and Flask-Admin. This minimalism makes Flask the ideal choice for REST APIs, microservices, […]

Read more
How to Deploy a Django Application with Gunicorn and Nginx on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Deploy a Django Application with Gunicorn and Nginx on RHEL 9

Django is a high-level Python web framework that follows the “batteries included” philosophy — it provides an ORM, authentication, admin interface, form validation, URL routing, templating, and security middleware out of the box. This makes Django the framework of choice for data-driven applications and content management systems where rapid development and maintainability matter. Django’s ORM […]

Read more
How to Use Python Virtual Environments (venv) on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Use Python Virtual Environments (venv) on RHEL 9

Python virtual environments solve a fundamental dependency management problem: different projects require different versions of the same library, and installing everything system-wide leads to version conflicts. A virtual environment is a self-contained directory containing a Python interpreter copy and a site-packages directory isolated from the system Python. Each project gets its own virtual environment with […]

Read more
How to Install Python 3 and pip on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Install Python 3 and pip on RHEL 9

Python 3 is the most widely used language for web development, data science, machine learning, automation, and DevOps tooling. RHEL 9 ships with Python 3.9 by default, but newer versions (3.11, 3.12) are available from the AppStream repository and provide significant performance improvements — CPython 3.11 is 10–60% faster than 3.10 for most workloads. The […]

Read more
How to Install Xdebug 3 for PHP on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Install Xdebug 3 for PHP on RHEL 9

Xdebug is the standard PHP debugging and profiling extension. It transforms PHP development from var_dump()-driven debugging into a full interactive debugging experience with step-through execution, breakpoints, variable inspection, call stack navigation, and code coverage analysis for unit tests. Xdebug 3 introduced a simplified configuration model that replaces the complex Xdebug 2 settings with a single […]

Read more
How to Harden PHP 8.3: disable_functions, open_basedir, opcache on RHEL 9 — step-by-step RHEL 9 tutorial on Progressive Robot

How to Harden PHP 8.3: disable_functions, open_basedir, opcache on RHEL 9

PHP hardening reduces the attack surface of web applications by restricting what PHP scripts can do at the interpreter level. A default PHP installation exposes powerful functions that can be abused by attackers who exploit code injection vulnerabilities: system(), exec(), and passthru() allow execution of arbitrary OS commands; file_get_contents() with allow_url_fopen can fetch remote files; […]

Read more
CHAT