Voici un article technique détaillé sur le tuning de PHP-FPM (FastCGI Process Manager), un élément essentiel pour optimiser les performances PHP dans les environnements à charge variable (sites web, applications, API, etc.).

🎯 Objectifs

  • Comprendre le fonctionnement des pools PHP-FPM

  • Ajuster correctement les paramètres de gestion des processus (pm.*)

  • Optimiser l'utilisation CPU et RAM

  • Éviter la saturation ou le sous-emploi des ressources

  • Adapter PHP-FPM selon la charge réelle

Voici un article technique détaillé sur la sécurisation de PHP dans un contexte multi-sites utilisant PHP-FPM avec Apache ou Nginx, en tenant compte des VirtualHosts, de la séparation des pools PHP-FPM, de l’accès aux fichiers système, et des fonctions sensibles de PHP.

🎯 Objectifs

  • Séparer les environnements PHP entre sites hébergés sur un même serveur.

  • Empêcher qu’un site PHP accède aux fichiers d’un autre.

  • Restreindre l’accès au système de fichiers.

  • Désactiver les fonctions PHP dangereuses (exec, system, etc.).

  • Éviter les élévations de privilèges via PHP-FPM.

Voici un article technique détaillé sur la cohabitation de plusieurs versions de PHP-FPM (par exemple : 7.4, 8.1 et 8.3/8.4) sur un serveur Apache (Debian/Ubuntu), en utilisant des configurations distinctes par VirtualHost Apache. Ce type de configuration est utile pour héberger des applications PHP ayant des dépendances sur des versions spécifiques.

Objectif

  • Héberger plusieurs sites web sur un même serveur Apache.

  • Chaque site utilise une version différente de PHP (par exemple PHP 7.4, 8.1, 8.3, 8.4).

  • Utiliser PHP-FPM (FastCGI Process Manager) pour chaque version.

  • Définir la version PHP par VirtualHost Apache.

 

1. Présentation de Zabbix 7.0

Zabbix 7.0 LTS est la dernière version stable à long terme, offrant :

  • supervision avancée de l'infrastructure (OS, base de données, applications),

  • collecte via agents v1/v2, SNMP, IPMI, HTTP, etc.

  • visualisation, alerting, dashboards personnalisés,

  • plugins intégrés pour Apache, MySQL, Nginx, PostgreSQL (via agent2).

 

1. Introduction

Les cgroups (control groups) permettent de limiter, mesurer et isoler l'utilisation des ressources système (CPU, mémoire, I/O, etc.) pour un ou plusieurs processus. Dans le contexte des conteneurs LXC, ils permettent un contrôle précis de chaque conteneur.

Depuis Linux 4.x, deux versions coexistent :

  • cgroup v1 : hiérarchie par contrôleur

  • cgroup v2 : unifiée, hiérarchie unique avec une syntaxe plus cohérente