PROJET AUTOBLOG


Planet-Libre

source: Planet-Libre

⇐ retour index

Cenwen : # Récupération de données d’un disque dur issu d’un RAID1 d’un NAS Synology en usb

samedi 17 novembre 2018 à 23:55

On conseille fortement de sauvegarder ses données , et à juste titre. Et aussi de multiplier ses sauvegardes sur différents supports. Là aussi, à juste titre.

Personnellement, c’est ce que je fais, mal certes (j’ai un peu de mal à m’y retrouver parfois avec de multiples systèmes). Un NAS est un outil très pratique pour cette tâche et bien d’autres encore.

Au printemps 2016, le DSM de mon NAS Synology DS212j m’informe que j’ai un Disque Dur (le 1er pour être précis) qui est en train de rendre l’âme. Pas de chance me direz-vous ? Moi je dis qu’il faillait s’y attendre à un moment ou à un autre. Lors du montage, j’avais utilisé des Disques Durs de récup c’est-à-dire qu’il s’agissait de Disques Durs standards et non de Disques Durs spécialement conçu pour les NAS. Grossière erreur même si en utilisant des Disques Durs spécialement fait pour les NAS n’empêchent pas les crashs disques, toutefois ils les limitent, vu qu’ils sont étudiés pour tourner plus longtemps et tout le temps.

A cette période, ma mère a eu quelques soucis de santé (mal à un genou et des difficultés à respirer) qui ont malheureusement fait place à quelques choses de plus grave qui à abouti à son décès. Par la suite, il a fallut s’occuper de pas mal de choses.
Bref, cela a traîné jusqu’au grandes chaleurs de cette année. Pour palier à cette situation, j’ai changé directement les Disques Durs et acheté aussi un Disques Durs externe afin de pouvoir réaliser ma backup. L’installation s’est déroulée sous Manjaro mais n’entrera pas dans le cadre d’un article, du moins de cet article. Je ne sais pas encore si c’est utile d’en faire un tant que cette opération est facile.
Maintenant que la belle saison est fini, j’ai plus de temps et j’ai décidé de m’y mettre un Samedi. Cela m’a quand même pris une partie de l’après-midi.

Raid pour tous

Lors de l’installation, j’avais crée à l’époque une grappe RAID1. Pour rappel, il existe différents types de raids lorsque vous créez un serveur dans lequel vous mixer 2 paramètres vitesse et sauvegarde. Je ne vais pas vous passer en revu tous les types de raid mais juste les principaux, à savoir :

 

 

  • RAID0: C’est le mode le plus rapide. Les données sont dupliquées sur les 2 Disques à la fois par blocs. L’inconvénient est lors de la perte d’un disque dur vous perdez les 2 sans espoirs de retrouver un jour vos données.
  • RAID1: C’est le mode de sécurité par excellence. Les données sont d’abord écrites sur le 1er DD puis sont dupliquées sur le second. L’avantage est lors d’un crash de pouvoir récupérer ses données et de recréer sa grappe. L’inconvénient est la lenteur liée à l’écriture en double des données et à la reconstitution de la nouvelle grappe.
  • RAID5: C’est le sommun car il allie à la fois la rapidité et la sécurité en combinant les avantages des 2 premiers types de raid précédant. Mais comme il y a toujours un mais, il nécessite au moins 4 DD alors que les 2 premiers n’en demandent que 2.

Le modèle DS212J est un modèle à 2 baies donc d’office exit le RAID5. Préférant la sécurité, j’opte donc pour le RAID1 avec deux DD de récup de 500 Go chacun.

Voici ci-dessous un schéma expliquant mieux le RAID1.

Ayant remplacé les disques durs défectueux par 2 Disques Durs spécial NAS Seagate IronWolf de 3 To chacun (quitte à remplacer les anciens autant exploiter la capacité maximale de mon NAS), je n’avais plus aucun moyen d’avoir accès aux données de ceux-ci. Mon idée était, outre le fait de ménager la durée de vie du Disque Dur défaillant (par expérience, cela va très vite dès que vous êtes informé), de récupérer les données au moyen d’un boîtier externe branché en USB.

Avant de commencer, j’ai donc commencé à fouiller le net à la recherche d’information sur cette pratique. A première vue, chaque cas est unique et donc différent. Voici ce qu’il en ressort et qui a marché pour moi.

Toutes ces opérations sont réalisés sur des Linux à savoir sur un Manjaro   au début puis sur une Linux Mint Tara.

Mes échecs sous Manjaro m’ont fait pensé que ceux-ci venaient de la distribution mais en fait, il n’en été rien. Je l’ai appris bien plus tard.

mdadm et lvm2 à la rescousse

Premier reflex a été d’aller voir sur le site de Synology qui conseille (comme c’est surprenant) d’utiliser une distribution Linux et une mondialement connue : Ubuntu. Pourquoi ? Le système d’exploitation de la majorité des NAS sont des Linux modifiés pour les serveurs avec une interface graphique, plus conviviale qu’un terminal mais nous restons dans les logiciels libres par excellence. Après vérification, il y a aussi un tuto pour ceux qui utilisent encore Windaube mais ne tournant que sur Manjaro et accessoirement sur Linux Mint Tara le choix fut vite fait.

Comme vous pouvez vous en doutez, la procédure échoua lamentablement car il fallait avoir les 2 Disques Durs branches. N’ayant malheureusement qu’un boîtier, il fallait trouver autre chose mais cela devait marché car avec un RAID1, rappelez-vous les données sont sur chacun des Disques Durs.

Voici la procédure que j’ai employé.
Même si certaines choses différent, d’autres sont communes.

D’abord, nous allons installé (si ce n’est pas déjà fait) les paquets des outils que sont mdadm et lvm2.

  • mdadm est une solution de Raid Logiciel très efficace et très répandue.

 

  • lvm2 est un système logiciel destiné à faire abstraction des partitions lors de la gestion de stockage sur un système Linux. Les partitions sont remplacés par des volumes logiques qui peuvent être ensuite organisés en groupes de volumes

Réalisez cette opération avec votre gestionnaire de logiciel préféré (Octopi, Pacmac pour Manjaro, Synaptic pour Tara) ou bien en ligne de commande. Normalement, ils sont souvent installés par défaut. Au moins pour moi.

Ensuite, nous passons en mode administrateur (ou root) car toutes les commandes suivantes nécessitent des droits élevés.

> sudo -i

On liste ensuite les disques présents et notre fameux Disque Dur:

> fdisk -l

>Résultat

Device Boot Start End Sectors Size Id Type
/dev/sdb1 * 63 123361279 123361217 58,8G 83 Linux
/dev/sdb2 123361280 451041279 327680000 156,3G 83 Linux
/dev/sdb3 451041280 625121279 174080000 83G 7 HPFS/NTFS/exFAT

Disk /dev/sdc: 465,8 GiB, 500107862016 bytes, 976773168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00097780

Device Boot Start End Sectors Size Id Type
/dev/sdc1 256 4980735 4980480 2,4G fd Linux raid autodetect
/dev/sdc2 4980736 9175039 4194304 2G fd Linux raid autodetect
/dev/sdc3 9437184 976768064 967330881 461,3G fd Linux raid autodetect

On voit ici que le Disque Dur externe est reconnue en tant que sdc composé de 3 partitions. Le Disque Dur qui se situe en sdb est un Disque Dur externe portable que j’ai recyclé en créant trois partitions. La première contient une Linux Mint persistante, la deuxième une partition cryptée. Quand à la troisième est une partition en NTFS au cas où j’en aurai besoin pour ceux de ma famille et amis qui sont encore sous Windaube.

Mais je veux en savoir plus, notamment le fameux mdxxx, ce qui nous sera utile par la suite. Servons-nous de l’utilitaire graphique de notre environnement ; pour moi qui suis sous Cinnamon ce sera Disques ou plutôt gnome-disk-utility.

Surprise, je vois bien que ce disque dur est reconnu 2 fois ; une première en tant que Disque Dur avec mes 3 partitions que l’on retrouve bien mais en deuxième il est reconnue en tant que RAID1 sous l’ appellation md127.

Cela n’a rien à voir avec les info que j’ai trouvé en tant que md0 ou bien md2 et pourtant cette information est capitale pour la suite.

Et c’est parti…

A partir de ce moment, on va pouvoir réaliser les opérations en console qui vont nous permettre (ou pas) d’accéder à nos donner dans notre explorateur de fichier, ici le bien nommé Nemo.

  1. On essaie l’astuce de Synology au cas où cela marcherait…

>> mdadm -Asf && vgchange -ay

root@eomer:~# mdadm -Asf && vgchange -ay
mdadm: No arrays found in config file or automatically 

  1. On vérifie avec mdstat par cat /proc/mdstat:

root@eomer:~# cat /proc/mdstat
Personalities :
md127 : inactive sdc30
483664416 blocks super 1.2

unused devices:

On se rend compte que le service est inactif. Là, on voit apparaître md127 pour la première fois.

On crée donc un point de montage pour md127 en prenant la troisième partition (sdc3), celle qui contient les données que l’on retrouve par sa taille (461,3). Les deux autres partitions semblent avoir été créent par Synolgy lors de la constitution de la grappe raid.

Il n’existe pas donc on monte ce point de montage. On le crée aussitôt avec :

root@eomer:~# mkdir /mnt/md127

root@eomer:~# mount /dev/sdc3 /mnt/md127
mount: /mnt/md127: unknown filesystem type 'linux_raid_member'.

Impossible d’accéder à la partition qui contient les données.
On scanne et on assemble les données du disque dur:
>> mdadm –assemble –scan

 mdadm:No arrays found in config file or automatically

Un début de piste ici et ici aussi
On crée ce fichier afin de le visualiser après.
>> mdadm –detail –scan >> /etc/mdadm/mdadm.conf

root@eomer:~# mdadm --detail --scan >> /etc/mdadm/mdadm.conf

On essaie de monter md127:

> mount /dev/md127 /mnt/md127

root@eomer:~# mount /dev/md127 /mnt/md127/
mount: /mnt/md127: can't read superblock on /dev/md127.

On verifie avec:
>> pvscan

root@eomer:~# pvscan
No matching physical volumes found

>> vgscan

root@eomer:~# vgscan
Reading volume groups from cache.

>> lvscan

root@eomer:~# lvscan

On essaie de forcer le tout:

root@eomer:~# mdadm --assemble --run /dev/md127 /dev/sdc3
mdadm: Unknown keyword INACTIVE-ARRAY
mdadm: /dev/sdc3 is busy - skipping

Cela ne fonctionne pas. On arrête donc le raid avec:

mdadm –stop /dev/md127

root@eomer:~# mdadm --stop /dev/md127
mdadm: Unknown keyword INACTIVE-ARRAY
mdadm: stopped /dev/md127

On essaye la commande suivante :

> mdadm -E  /dev/sdc

root@eomer:~# mdadm -E /dev/sdc
mdadm: Unknown keyword INACTIVE-ARRAY
/dev/sdc:
MBR Magic : aa55
Partition[0] : 4980480 sectors at 256 (type fd)
Partition[1] : 4194304 sectors at 4980736 (type fd)
Partition[2] : 967330881 sectors at 9437184 (type fd)

On retente une dernière fois l’astuce de Synology.

root@eomer:~# mdadm -Asf && vgchange -ay
mdadm: Unknown keyword INACTIVE-ARRAY
mdadm: /dev/md/DiskStation:2 has been started with 1 drive (out of 2).

Bingo il est maintenant actif. On se rend d’ailleurs compte que son appellation est passée de md127 à DiskStation.

On revérifie avec cat /proc/mdstat:

root@eomer:~# cat /etc/mdadm/mdadm.conf

#mdadm.conf
#
#!NB! Run update-initramfs -u after updating this file.
#!NB! This will ensure that initramfs has an uptodate copy.
#
#Please refer to mdadm.conf(5) for information about this file.
#

# by default (built-in), scan all partitions (/proc/partitions) and all

#containers for MD superblocks. alternatively, specify devices to scan, using

#wildcards if desired.

#DEVICE partitions containers

# automatically tag new arrays as belonging to the local system
HOMEHOST

# instruct the monitoring daemon where to send mail alerts
MAILADDR root

# definitions of existing MD arrays

# This configuration was auto-generated on Sat, 27 Oct 2018 16:52:33 +0200 by mkconf
INACTIVE-ARRAY /dev/md127 metadata=1.2 name=DiskStation:2 UUID=8e355262:ebd8b4b5:5a3a18b4:c7b5098a

On jette un œil dans Disques et on se rend bien compte que RAID1 a changé d’appellation. De md127 il est maintenant nommé Diskstation2.

Dans Nemo, on clique sur 1.42.1227 qui est maintenant monté et donc accessible en lecture comme en écriture. On voit tous nos fichiers et on peut procéder au transfert.
Il faut juste être patient car 500 G0 de transfert des fichiers va prendre beaucoup de temps…Pour ma part, cela a duré 2 jours.

J’espère que je me suis pas trompé dans mes notes. Cette partie de plaisir a quand même durée 5 heures (entre les commandes et la recherche des erreurs).

Cette méthode a fonctionné pour moi toutefois elle n’est pas universelle. La commande mdadm comporte pas mal de commandes dont nous n’avons fait qu’effleuré la syntaxe. On peut citer raid1, scan, add disk, remove disk, assemble, stop,… Cet outil est une merveille et aussi un monstre de complexité, c’est pourquoi nous allons arrêter là aujourd’hui.

Gravatar de Cenwen
Original post of Cenwen.Votez pour ce billet sur Planet Libre.

Littlewing : Gérer plusieurs clés et plusieurs repo GIT

vendredi 16 novembre 2018 à 13:39

En attendant d’avoir plus d’imagination, voici un rapide tuto pour gérer plusieurs référentiels GIT avec des clés SSH différentes.

Imaginons que vous deviez vous connecter sur différents serveurs GIT (ex. github et gitlab) avec des emails différents et donc des clés RSA différentes ( oui je sais ce cas n’arrive pas souvent ). Le tout sous Windows et GNU/LINUX. Sous GNU/LINUX ont peut le gérer différemment via la commande ssh-add.

Pour pouvoir gérer ceci de manière simple, j’ai fait la manipulation suivante :

Dans le répertoire ~/.ssh. J’ai crée les différentes clés avec la doc fournie par GITHUB. Puis, j’ai crée le fichier ~/.ssh/config avec le contenu suivant:

 

Host monhost1.fr
HostName monhost1.fr
User git
IdentityFile ~/.ssh/id_rsa

Host monhost2.fr
HostName monhost2.fr
User git
IdentityFile ~/.ssh/nouvellecle_rsa

 

Et voila !

Après avoir fait les différentes configurations coté serveur ( c.-a-d. ajout des clés publiques ), je peux interagir avec les différents serveurs ( pull, push ).

En espérant que ça puisse servir à d’autres

 

Gravatar de Littlewing
Original post of Littlewing.Votez pour ce billet sur Planet Libre.

Articles similaires

Cenwen : Manjaro – Blu-Ray: Mission Impossible ? Partie 2

vendredi 16 novembre 2018 à 10:42

Suite à l’article précédant, dans lequel je parlais de la situation des Blu-ray sous Linux, je continue sur ma lancer pour développer le dernier point que j’évoquais : le ripage des Blu-Ray sous notre pingouin préféré. Exit les Leawo et les DvdFabDecrypter. Ils ne sont pas portés sous Linux. Seule solution utilisable : Makemkv. Certes, libriste que je suis (et vous aussi, j’en suis sur), je suis prêt à crier au scandale et pourtant je ne le ferai pas. Non, car, en l’absence de solution libre, cet éditeur a le courage de proposer son produit, au moins pour la bêta, gratuitement pendant 30 jours. Et vu son efficacité apparente, sa facilité et sa disponibilité, je serai même prêt à l’acheter. Ce qui serait une première pour moi.  Un logiciel propriétaire sur un logiciel libre ? Pourquoi pas. Seul les imbéciles ne changent pas d’avis. Le dernier pont reliant encore bon nombre d’entre nous aurait-il sauté ? Il ne faut pas le nier, seule 2 choses empêchent bon nombres de personnes de passer totalement à Linux : les jeux et les Blu-Ray.

Mais reprenons tout depuis le début et commençons à installer la bête.

Comme d’habitude,  on installe avec son gestionnaire graphique favori. Mais si on passe par la ligne de commande qui va bien, on a:

yaourt -S makemkv makemkv-libaacs playbluray-makemkv

Je détaille la fonction de ces logiciels sachant que je n’ai pas installer makemkv-cli (pour une utilisation en ligne de commande).

Makemkv est l’interface graphique du programme.

Makemkv-libaacs est le paquet de clé du logiciel.

Playbluray-makemkv est un paquet permettant la lecture de bluray directement dans le programme (avant ou après ripage ? ).

Voici le logiciel au démarrage.

L’interface est relativement simple, sans fioriture. On dispose de 4 parties :

Les Préférences en premier

Le première chose à faire, comme dans tout logiciel d’ailleurs, celui-ci ne faisant pas exception à la règle, est d’aller faire un tour dans les préférences. D’ailleurs, on vous demande au début si vous voulez garder ou pas la clé qui protège vos blu-ray. A vous de choisir selon vos convenances.

La fenêtre des préférences comporte cinq onglets : Général, Vidéo, E/S, Langue, Protection.

Comme vous pouvez le voir ce sont des données de bases.

A vous de choisir ce que vous voulez pour la vidéo.

Ces données sont plutôt destinées au logiciel lui-même. On remarque que certaines parties ne sont pas traduites.

Bien entendu, l’interface du logiciel suit celle de votre système. Quant à la langue de préférence du rip, aucun doute desssus.

Le dernier onglet concerne vos choix pour les Dvd et les Blu-ray.

Premiers tests

Le logiciel permet 2 choses :

Encore un peu de patience.

 

Fin de l’opération. Ici, tous les titres ont été rippés.

Une fonctionnalité intéressante mais que je n’ai pas encore expérimentée offerte par le logiciel est la possibilité de ré-ouvrir l’intégralité du Blu-ray ripper préalablement afin de ne sélectionner que le ou les titres voulus. Si dans la précipitation ou l’inexpérience avec ce logiciel, vous aviez choisi la facilité, cette possibilité est offerte par Makemkv.

Que dire de plus ?

Il existe peu de documentation sur ce genre d’opération au même titre que de logiciels natifs d’ailleurs. Quand je dis natif, je parle d’installation « en dur ». Pas de logiciel destinés à d’autres systèmes d’exploitations émulé par Wine, ou une de ses interfaces graphiques tel que PlayOnLinux (superbe projet d’ailleurs) ou  Q4wine. Le poids des fichier est aussi conséquent. Bien que je n’ai pas encore étudié en profondeur la question, une conversion avec un outil tel que Handbrake ou MKVToolnix ou FF Multi Converter sera une étape supplémentaire à réaliser.

Un point reste toutefois en suspend ou plutôt deux points pour être précis.

  1. Quelle sera la politique de Makemkv quand le logiciel sera en version finale ?
  2. Quel est le coût de la licence ?

Malgré des traductions mal finalisées, pas de documentation, une interface simple et efficace est offerte au linuxien. C’est un bon point. Reste à voir dans le temps si cette solution perdurera en attendant peut-être un logiciel libre. L’espoir fait vivre. Bon rippage.

 

Gravatar de Cenwen
Original post of Cenwen.Votez pour ce billet sur Planet Libre.

genma : L'Agent Zabbix qui ne répond plus

vendredi 16 novembre 2018 à 09:00

Symptôme

Malgré la configuration qui n'a pas bougé, le serveur Zabbix indique qu'une des machines qu'il doit superviser ne répond pas. Son agent est inaccessible.

L'agent se lance bien (ce que l'on vérifie via un service zabbix-agent status), mais dans les logs du serveur à superviser,

tail -f /var/log/zabbix/zabbix_agentd.log
9932:20181111:165615.451 **************************
9932:20181111:165615.451 using configuration file: /etc/zabbix/zabbix_agentd.conf
9932:20181111:165615.452 agent #0 started [main process]
9933:20181111:165615.452 agent #1 started [collector]
9934:20181111:165615.453 agent #2 started [listener #1]
9935:20181111:165615.454 agent #3 started [listener #2]
9936:20181111:165615.454 agent #4 started [listener #3]
9937:20181111:165615.454 agent #5 started [active checks #1]
9937:20181111:165618.457 active check configuration update from [zabbixserveur.com:10051] started to fail (cannot connect to [[zabbixserveur.com]:10051]: [4] Interrupted system call)

Tests

On regarde, l'agent est bien en écoute sur le bon port :

netstat -lpn | grep zabbix
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 9932/zabbix_agentd
tcp6 0 0 :::10050 :::* LISTEN 9932/zabbix_agentd

On teste alors la connexion au serveur via

telnet zabbixserveur.com 10051
Connexion refused

De même, depuis le serveur

telnet machine_avec_zabbixagent.com 10051
Connexion refused

Ca sent le soucis de pare-feu / firewall

Solution

# iptables -L

Chain f2b-recidive (1 references)
target prot opt source destination
(..)
REJECT all -- zabbixserveur.com anywhere reject-with icmp-port-unreachable

Eureka ! Zabbix a été bloqué par fail2ban

Pour avoir la liste des jails de Fail2Ban et son exact

# fail2ban-client status
Status
|- Number of jail: 11
`- Jail list: (...)recidive, ssh, (...)

On enlève le serveur des règles de blocage créé par fail2ban via :

# fail2ban-client set recidive unbanip W.X.Y.Z

Conclusion

Zabbix sollicite beaucoup son agent (une interrogation toutes les minutes) d'autant plus qu'il y a beaucoup de services à monitorer sur le serveur. Un soucis d'interruption de services sur le serveur à multiplier les demandes de Zabbix ce qui a conduit au blocage de l'IP du serveur Zabbix sur la machine cliente par fail2ban.

Il faut donc ajouter en liste blanche le serveur Zabbix sur la machine cliente via l'ajout de l'IP dans le fichier de configuration de fail2ban :

# vi /etc/fail2ban/jail.conf
ignoreip =W.X.Y.Z

Et on redémarre ensuite fail2ban

# service fail2ban restart

Gravatar de genma
Original post of genma.Votez pour ce billet sur Planet Libre.

Remi Collet : PHP sur RHEL-8

vendredi 16 novembre 2018 à 08:48

RHEL-8 Beta est annoncée et est disponible au téléchargement pour ceux qui veulent l'essayer.

C'est l'occation de faire un petit zoom sur l'installation de PHP et le fonctionnement des modules.

1. Installation

L'image ISO est disponible pour tous, voir le fichier README.

N'oubliez pas d'activer les dépôts beta

# dnf repolist
repo id                               repo name                                                     status
rhel-8-for-x86_64-appstream-beta-rpms Red Hat Enterprise Linux 8 for x86_64 - AppStream Beta (RPMs) 4594
rhel-8-for-x86_64-baseos-beta-rpms    Red Hat Enterprise Linux 8 for x86_64 - BaseOS Beta (RPMs)    1686

2. Installation de PHP

PHP ne fait pas partie de BaseOS qui constitue le système de base, réduit au maximum, mais est disponible dans AppStream, c'est à dire en module.

# dnf module list
Red Hat Enterprise Linux 8 for x86_64 - AppStream Beta (RPMs)
php                  7.1          devel, minimal, defaul PHP scripting language                           
                                  t [d]                 
php                  7.2 [d]      devel, minimal, defaul PHP scripting language                           
                                  t [d]                  

On observe que les version 7.1 et 7.2 (défaut) sont disponible

Installation de la version 7.1

# dnf module install php:7.1
Dependencies resolved.
==========================================================================================================
 Package            Arch     Version                        Repository                               Size
==========================================================================================================
Installing group/module packages:
 php-cli            x86_64   7.1.20-2.el8+1700+11d526eb     rhel-8-for-x86_64-appstream-beta-rpms   2.9 M
 php-common         x86_64   7.1.20-2.el8+1700+11d526eb     rhel-8-for-x86_64-appstream-beta-rpms   624 k
 php-fpm            x86_64   7.1.20-2.el8+1700+11d526eb     rhel-8-for-x86_64-appstream-beta-rpms   1.5 M
 php-json           x86_64   7.1.20-2.el8+1700+11d526eb     rhel-8-for-x86_64-appstream-beta-rpms    70 k
 php-mbstring       x86_64   7.1.20-2.el8+1700+11d526eb     rhel-8-for-x86_64-appstream-beta-rpms   547 k
 php-xml            x86_64   7.1.20-2.el8+1700+11d526eb     rhel-8-for-x86_64-appstream-beta-rpms   187 k
Installing dependencies:
 httpd-filesystem   noarch   2.4.35-6.el8+2089+57a79027     rhel-8-for-x86_64-appstream-beta-rpms    32 k
 nginx-filesystem   noarch   1:1.14.0-3.el8+1631+ba902cf0   rhel-8-for-x86_64-appstream-beta-rpms    23 k
Installing module profiles:
 php/default                                                                                             
Enabling module streams:
 httpd                       2.4                                                                         
 nginx                       1.14                                                                        
 php                         7.1                                                                         

Transaction Summary
==========================================================================================================
Install  8 Packages

Total download size: 5.9 M
Installed size: 20 M
Is this ok [y/N]: y

On obtient :

# php -v
PHP 7.1.20 (cli) (built: Jul 19 2018 06:17:27) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies

On peut aussi passer facilement en 7.2 :

# dnf module install php:7.2
Dependencies resolved.
==========================================================================================================
 Package         Arch      Version                         Repository                                Size
==========================================================================================================
Upgrading:
 php-cli         x86_64    7.2.11-1.el8+2002+9409c40c      rhel-8-for-x86_64-appstream-beta-rpms    3.1 M
 php-common      x86_64    7.2.11-1.el8+2002+9409c40c      rhel-8-for-x86_64-appstream-beta-rpms    653 k
 php-fpm         x86_64    7.2.11-1.el8+2002+9409c40c      rhel-8-for-x86_64-appstream-beta-rpms    1.6 M
 php-json        x86_64    7.2.11-1.el8+2002+9409c40c      rhel-8-for-x86_64-appstream-beta-rpms     73 k
 php-mbstring    x86_64    7.2.11-1.el8+2002+9409c40c      rhel-8-for-x86_64-appstream-beta-rpms    580 k
 php-xml         x86_64    7.2.11-1.el8+2002+9409c40c      rhel-8-for-x86_64-appstream-beta-rpms    188 k
Switching module streams:
 php                       7.1 -> 7.2                                                                    

Transaction Summary
==========================================================================================================
Upgrade  6 Packages

Total download size: 6.2 M
Is this ok [y/N]: y

Et on obtient :

# php -v
PHP 7.2.11 (cli) (built: Oct  9 2018 15:09:36) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

3. Utilisation en Web

3.1 avec Apache HTTP Server

Installation :

# dnf module install httpd

Activation des services :

# systemctl enable --now php-fpm
# systemctl enable --now httpd

Page de tests :

# echo '/var/www/html/info.php

Et dans le navigateur http://localhost/info.php

3.2 avec nginx

Installation :

# dnf module install nginx

Activation des services :

# systemctl enable --now php-fpm
# systemctl enable --now nginx

Page de tests :

# echo '/usr/share/nginx/html/info.php

Et dans le navigateur http://localhost/info.php

4. Conclusion

Les utilisateurs de Fedora ne seront pas surpris, car les travaux sur les paquets PHP réalisés depuis F19 bénéficient maintenant aux utilisateurs de RHEL :

L'utilisation des modules devraient aussi améliorer le simplicité d'utilisation et la flexibilité du choix des versions utilisées, et évidement on s'attend à avoir de nouvelles versions plus rapidement (e.g. php 7.3).

Certains (comme moi) regretteront l'abandon des SCL, et donc la possibilité d'installer plusieurs versions en parallèle (qui reste possible en utilisant les conteneurs).

 

Gravatar de Remi Collet
Original post of Remi Collet.Votez pour ce billet sur Planet Libre.

Articles similaires