| |

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 crb

Contrô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 – Extras

Installation 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-curl

Mise 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/config

Dé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 firewalld

On redémarre le serveur

reboot -n

Contrôle

Selinux

[root@demo-alma9 ~]# sestatus
SELinux status:                 disabled

Firewalld

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 = 20M

Redé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.