Installation Apache
Avant-propos
Nous allons installer un serveur Apache sur ALMA9
Installation du serveur WEB
Préparation des dépots
Nous allons installer les dépots additionnels dont nous aurons besoin.
dnf install -y dnf-plugins-core
dnf install -y epel-release
dnf config-manager --set-enabled crbContrôle des dépôts
[root@demo-alma9 ~]#dnf repolist
id du dépôt nom du dépôt
appstream AlmaLinux 9 - AppStream
baseos AlmaLinux 9 - BaseOS
crb AlmaLinux 9 - CRB
epel Extra Packages for Enterprise Linux 9 - x86_64
epel-cisco-openh264 Extra Packages for Enterprise Linux 9 openh264 (From Cisco) - x86_64
extras AlmaLinux 9 – ExtrasInstallation de php
Pour ne pas avoir à gérer les différentes dépendances, nous allons passer par les modules pour être sur que nous aurons bien les bonnes version pour toutes les briques php.
Petite note de plein page 😀 pour ceux qui on l’habitude d’utiliser yum : c’est dans l »idée de ma fenêtre, l’équivalent de la commande yum group install … en un peu plus et pas seulement 😉 intelligent.
dnf module reset php
dnf module install php:8.2
Dépendances résolues.
=============================================================================================================================================================================================
Paquet Architecture Version Dépôt Taille
=============================================================================================================================================================================================
Installation des paquets du groupe/module:
php-cli x86_64 8.2.32-1.module_el9.8.0+284+2e0ccc92 appstream 3.6 M
php-common x86_64 8.2.32-1.module_el9.8.0+284+2e0ccc92 appstream 709 k
php-fpm x86_64 8.2.32-1.module_el9.8.0+284+2e0ccc92 appstream 1.8 M
php-mbstring x86_64 8.2.32-1.module_el9.8.0+284+2e0ccc92 appstream 519 k
php-xml x86_64 8.2.32-1.module_el9.8.0+284+2e0ccc92 appstream 143 k
Installation des dépendances:
httpd-filesystem noarch 2.4.62-13.el9_8.5 appstream 13 k
libxslt x86_64 1.1.34-14.el9_8.1 appstream 240 k
nginx-filesystem noarch 2:1.20.1-28.el9_8.4.alma.1 appstream 11 k
Installation des profils de module:
php/common
Activation des flux de modules:
php 8.2
Résumé de la transaction
=============================================================================================================================================================================================
Installer 8 Paquets
Taille totale des téléchargements : 7.0 M
Taille des paquets installés : 35 M
Voulez-vous continuer ? [o/N] : o
Téléchargement des paquets :
(1/8): nginx-filesystem-1.20.1-28.el9_8.4.alma.1.noarch.rpm 267 kB/s | 11 kB 00:00
(2/8): httpd-filesystem-2.4.62-13.el9_8.5.noarch.rpm 305 kB/s | 13 kB 00:00
(3/8): libxslt-1.1.34-14.el9_8.1.x86_64.rpm 2.6 MB/s | 240 kB 00:00
(4/8): php-common-8.2.32-1.module_el9.8.0+284+2e0ccc92.x86_64.rpm 5.1 MB/s | 709 kB 00:00
(5/8): php-fpm-8.2.32-1.module_el9.8.0+284+2e0ccc92.x86_64.rpm 17 MB/s | 1.8 MB 00:00
(6/8): php-cli-8.2.32-1.module_el9.8.0+284+2e0ccc92.x86_64.rpm 19 MB/s | 3.6 MB 00:00
(7/8): php-xml-8.2.32-1.module_el9.8.0+284+2e0ccc92.x86_64.rpm 2.9 MB/s | 143 kB 00:00
(8/8): php-mbstring-8.2.32-1.module_el9.8.0+284+2e0ccc92.x86_64.rpm 6.3 MB/s | 519 kB 00:00
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total 13 MB/s | 7.0 MB 00:00
Test de la transaction
La vérification de la transaction a réussi.
Lancement de la transaction de test
Transaction de test réussie.
Exécution de la transaction
Préparation : 1/1
Installation : php-common-8.2.32-1.module_el9.8.0+284+2e0ccc92.x86_64 1/8
Exécution du scriptlet: nginx-filesystem-2:1.20.1-28.el9_8.4.alma.1.noarch 2/8
Installation : nginx-filesystem-2:1.20.1-28.el9_8.4.alma.1.noarch 2/8
Installation : libxslt-1.1.34-14.el9_8.1.x86_64 3/8
Exécution du scriptlet: httpd-filesystem-2.4.62-13.el9_8.5.noarch 4/8
Installation : httpd-filesystem-2.4.62-13.el9_8.5.noarch 4/8
Installation : php-fpm-8.2.32-1.module_el9.8.0+284+2e0ccc92.x86_64 5/8
Exécution du scriptlet: php-fpm-8.2.32-1.module_el9.8.0+284+2e0ccc92.x86_64 5/8
Installation : php-xml-8.2.32-1.module_el9.8.0+284+2e0ccc92.x86_64 6/8
Installation : php-cli-8.2.32-1.module_el9.8.0+284+2e0ccc92.x86_64 7/8
Installation : php-mbstring-8.2.32-1.module_el9.8.0+284+2e0ccc92.x86_64 8/8
Exécution du scriptlet: php-mbstring-8.2.32-1.module_el9.8.0+284+2e0ccc92.x86_64 8/8
Vérification de : httpd-filesystem-2.4.62-13.el9_8.5.noarch 1/8
Vérification de : libxslt-1.1.34-14.el9_8.1.x86_64 2/8
Vérification de : nginx-filesystem-2:1.20.1-28.el9_8.4.alma.1.noarch 3/8
Vérification de : php-cli-8.2.32-1.module_el9.8.0+284+2e0ccc92.x86_64 4/8
Vérification de : php-common-8.2.32-1.module_el9.8.0+284+2e0ccc92.x86_64 5/8
Vérification de : php-fpm-8.2.32-1.module_el9.8.0+284+2e0ccc92.x86_64 6/8
Vérification de : php-mbstring-8.2.32-1.module_el9.8.0+284+2e0ccc92.x86_64 7/8
Vérification de : php-xml-8.2.32-1.module_el9.8.0+284+2e0ccc92.x86_64 8/8
Installé:
httpd-filesystem-2.4.62-13.el9_8.5.noarch libxslt-1.1.34-14.el9_8.1.x86_64 nginx-filesystem-2:1.20.1-28.el9_8.4.alma.1.noarch
php-cli-8.2.32-1.module_el9.8.0+284+2e0ccc92.x86_64 php-common-8.2.32-1.module_el9.8.0+284+2e0ccc92.x86_64 php-fpm-8.2.32-1.module_el9.8.0+284+2e0ccc92.x86_64
php-mbstring-8.2.32-1.module_el9.8.0+284+2e0ccc92.x86_64 php-xml-8.2.32-1.module_el9.8.0+284+2e0ccc92.x86_64
Terminé !Installation du server Apache
dnf install -y httpd php mod_ssl openssl php-mysqlnd php-fpm php-xml php-mbstring php-json php-curlMise en route du serveur WEB
Démarrage des services
systemctl enable --now httpd.service php-fpm.service
Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service.
Created symlink /etc/systemd/system/multi-user.target.wants/php-fpm.service → /usr/lib/systemd/system/php-fpm.service.Gestion de la sécurité
Mon serveur virtualisé n’étant pas disponible directement, la gestion de la sécurité réseau se fait au niveau de mon serveur physique.
On va donc désactiver tous les outils de gestion de sécurité (selinux, firewalld)
Désactivation de selinux
sed -i s/^SELINUX=.*$/SELINUX=disabled/ /etc/selinux/configDésactivation de firewalld
[root@demo-alma9 ~]# systemctl disable firewalld
Removed "/etc/systemd/system/multi-user.target.wants/firewalld.service".
Removed "/etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service".
[root@demo-alma9 ~]# systemctl stop firewalldOn redémarre le serveur
reboot -nContrôle
Selinux
[root@demo-alma9 ~]# sestatus
SELinux status: disabledFirewalld
systemctl status firewalld | egrep "Active|.service"
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; preset: enabled)
Active: inactive (dead)Les services
On contrôle que les services WEB sont bien démarrés
systemctl status httpd php-fpm | egrep "Active|.service"
● httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; preset: disabled)
Drop-In: /etc/systemd/system/httpd.service.d
Active: active (running) since Fri 2026-07-31 11:29:44 CEST; 4min 16s ago
Docs: man:httpd.service(8)
CGroup: /system.slice/httpd.service
● php-fpm.service - The PHP FastCGI Process Manager
Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; enabled; preset: disabled)
Active: active (running) since Fri 2026-07-31 11:29:44 CEST; 4min 16s ago
CGroup: /system.slice/php-fpm.service
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; preset: enabled)
Active: inactive (dead)Interface WEB
On se connecte au serveur via l’url http://<Mon Site> pour contrôler le bon fonctionnement d’apache

php
Optimisation
Le fonctionnement des serveurs necessite de plus en plus de mémoire et les fichiers mis à disposition sur les sites peuvent être de plus en plus volumineux également.
Pour cela nous allons faire un peu de tunning de php afin d’éviter les messages d’erreur php sur la mémoire et la faille max des fichiers importés ou exportés depuis l’IHM
- On augmente la mémoire allouée à php (Vers la ligne 430)
memory_limit = 256M- On augment la taille max des fichiers (Vers la ligne 460)
upload_max_filesize = 20MRedémarrage du service
- On redémarrer le service et on contrôle
systemctl restart php-fpm
systemctl status php-fpm
● php-fpm.service - The PHP FastCGI Process Manager
Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; enabled; preset: disabled)
Active: active (running) since Fri 2026-07-31 18:12:45 CEST; 7s ago
Main PID: 3016 (php-fpm)
Status: "Ready to handle connections"
Tasks: 6 (limit: 10646)
Memory: 13.0M (peak: 13.3M)
CPU: 24ms
CGroup: /system.slice/php-fpm.service
├─3016 "php-fpm: master process (/etc/php-fpm.conf)"
├─3017 "php-fpm: pool www"
├─3018 "php-fpm: pool www"
├─3019 "php-fpm: pool www"
├─3020 "php-fpm: pool www"
└─3021 "php-fpm: pool www"
juil. 31 18:12:45 demo-alma9 systemd[1]: Starting The PHP FastCGI Process Manager...
juil. 31 18:12:45 demo-alma9 systemd[1]: Started The PHP FastCGI Process Manager.
