PHPDans un précédent article, je vous ai montré en détail la configuration de PHP avec Apache sous Rocky Linux 8. Les dépôts officiels de Rocky Linux fournissent plusieurs versions de PHP, avec une version 7.4 qui bénéficie d’un support LTS jusqu’en 2029. Cette installation de PHP répond aux prérequis des applications classiques comme WordPress ou Dolibarr. En contrepartie, certaines « usines à gaz » comme OwnCloud peuvent avoir besoin d’une poignée de modules PHP un peu plus exotiques, et qui ne sont malheureusement pas fournis par les dépôts de paquets officiels.

Face à une telle situation, la meilleure solution consiste à configurer les dépôts de paquets tiers maintenus par Remi Collet. Dans cet article, je vous montre pas à pas comment utiliser les paquets en provenance de ces dépôts.

Éventuellement, il faudra commencer par supprimer une installation existante de PHP :

# dnf remove -y php-common

Vérifier qu’il ne reste plus rien :

# rpm -qa | grep php

La configuration du dépôt est fournie sous forme de paquet RPM que l’on peut directement installer comme ceci :

# dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm

Afficher la liste des modules PHP disponibles :

# dnf module list php
AppStream
Name           Stream       Profiles                     Summary
php            7.2 [d]      common [d], devel, minimal   PHP scripting language
php            7.3          common [d], devel, minimal   PHP scripting language
php            7.4 [e]      common [d], devel, minimal   PHP scripting language
php            8.0          common [d], devel, minimal   PHP scripting language

Remi Modular
Name           Stream       Profiles                     Summary
php            remi-7.2     common [d], devel, minimal   PHP scripting language
php            remi-7.3     common [d], devel, minimal   PHP scripting language
php            remi-7.4     common [d], devel, minimal   PHP scripting language
php            remi-8.0     common [d], devel, minimal   PHP scripting language
php            remi-8.1     common [d], devel, minimal   PHP scripting language
php            remi-8.2     common [d], devel, minimal   PHP scripting language
php            remi-8.3     common [d], devel, minimal   PHP scripting language

Le paquet remi-release a installé trois fichiers de dépôts :

# rpm -ql remi-release | grep repo
/etc/yum.repos.d/remi-modular.repo
/etc/yum.repos.d/remi-safe.repo
/etc/yum.repos.d/remi.repo

Dans la configuration par défaut, les dépôts [remi-safe] et [remi-modular] sont activés. On va conserver cette configuration :

# dnf repolist | grep remi
remi-modular                            Remi Modular
remi-safe                               Remi Safe

Choisir la version souhaitée :

# dnf module -y reset php
# dnf module -y enable php:remi-7.4

AstuceTout comme les paquets PHP 7.4 fournis par Red Hat, les paquets PHP du dépôt de Remi Collet bénéficient d’un rétroportage des correctifs de sécurité pour la durée de vie de la distribution, dans la mesure du possible. Ce travail considérable est documenté en détail dans ce dépôt GitHub.

Installer PHP avec les modules les plus courants :

# dnf install -y php

Voici l’installation minimale résultante :

# rpm -qa | grep ^php | sort
php-7.4.33-10.el8.remi.x86_64
php-cli-7.4.33-10.el8.remi.x86_64
php-common-7.4.33-10.el8.remi.x86_64
php-fpm-7.4.33-10.el8.remi.x86_64
php-json-7.4.33-10.el8.remi.x86_64
php-mbstring-7.4.33-10.el8.remi.x86_64
php-opcache-7.4.33-10.el8.remi.x86_64
php-pdo-7.4.33-10.el8.remi.x86_64
php-sodium-7.4.33-10.el8.remi.x86_64
php-xml-7.4.33-10.el8.remi.x86_64

Partant de là, cette mouture de PHP se configure en tous points comme la version issue des paquets officiels. En revanche, on trouvera un nombre bien plus important de modules PHP disponibles au téléchargement.


La rédaction de cette documentation demande du temps et des quantités significatives de café espresso. Vous appréciez ce blog ? Offrez un café au rédacteur en cliquant sur la tasse.

&nbsp


0 commentaire

Laisser un commentaire

Emplacement de l’avatar

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *