Fedora-Fr - Communauté francophone Fedora - Linux

Planet de Fedora-Fr : la communauté francophone autour de la distribution Linux Fedora

A propos

Cette page est actualisée toutes les heures.

Cette page est une sélection de blogs autour de Fedora. Fedora-Fr.org décline toute responsabilité au sujet des propos tenus par les auteurs des blogs de ce planet. Leurs propos sont leur entière responsabilité.

Le contenu de ce planet appartient à leurs auteurs respectifs. Merci de consulter leur blogs pour obtenir les licences respectives.

Python : charger une bibliothèque particulière avant le chargement d'un module

Thomas Bouffon

J'ai eu besoin de charger une version spécifique d'une bibliothèque dynamique pour un outil python (fonctionnalité non implémentée dans la même bibliothèque installée globalement).

Ma première approche a été de jouer avec les variables LD_PRELOAD et LD_LIBRARY_PATH. Mais pour pouvoir généraliser mon script, j'ai eu besoin que le script python modifie lui-même l'environnement...

Tableaux en bash

Thomas Bouffon

Dans bash>=4, il est possible de déclarer des tableaux associatifs, ce qui peut être très pratique dans les boucles

PHP 5.4.33 et 5.5.17

Remi Collet

Les RPM de PHP version 5.5.17 sont disponibles dans le dépôt remi pour Fedora et dans le dépôt remi-php55 pour Enterprise Linux.

Les RPM de PHP version 5.4.33 sont disponibles dans le dépôt remi pour Enterprise Linux (RHEL, CentOS...).

Ces versions sont aussi désormais disponibles en Software Collections.

Annonces des versions :

emblem-important-2-24.pngLa version 5.4.33 est la dernière mise à jour corrigeant des bugs. La branche 5.4 passe en maintenance de sécurité uniquement.

emblem-notice-24.pngInstallation : voir la Configuration du dépôt.

Remplacement du PHP par défaut du système par la version 5.5

yum --enablerepo=remi-php55,remi update php\*

Installation en parallèle, en Software Collections de PHP 5.5 (x86_64 uniquement) :

yum --enablerepo=remi install php55

Remplacement du PHP par défaut du système par la version 5.4 (entreprise uniquement) :

yum --enablerepo=remi update php\*

Installation en parallèle, en Software Collections de PHP 5.4 (x86_64 uniquement) :

yum --enablerepo=remi install php54

Et bientôt dans les mises à jour officielles:

Pour mémoire, Fedora 21 fournira PHP 5.6.

emblem-important-2-24.pngÀ noter :

  • la version EL7 est construite avec RHEL-7.0
  • la version EL6 est construite avec RHEL-6.5
  • pour php 5.5, l'extension Zip est désormais fournit dans le paquet php-pecl-zip.
  • beaucoup de nouvelles extensions sont aussi disponible, voir PECL extension RPM status page

emblem-notice-24.pngInformations, lire :

Paquets de base (php)

Software Collections (php54/php55)

octobre 2014

Premier Samedi Date : samedi 4 octobre 2014 Horaires : de 14h00 à 18h00 Lieu : Carrefour Numérique, Cité des Sciences et de lIndustrie, Paris Pour une nouvelle installation ou pour des ajustements de votre distribution GNU/Linux Fedora, Mageia ou Ubuntu, venez nous retrouver le samedi 4 octobre 2014 au Carrefour Numérique de la Cité des Sciences […]

Client VPN

Matthieu Saulnier

Petit pense-bête à propos des connexions clientes aux serveurs VPN... Ce sont des modes de connexion que je n'ai pas l'habitude d'utiliser, si je dois changer d'adresse IP j'utilise plutôt le port forwarding à travers un tunnel SSH.

Placer les certificats aux bons endroits

Si j'utilise NetworkManager dans ma session utilisateur normale, placer les certificats dans le répertoire .cert/ juste pour ne pas se faire bloquer par SELinux. En effet pour que NM puisse les lire il leur faut, ainsi qu'au répertoire parent, un contexte SELinux particulier: home_cert_t. Ce contexte est attribué par défaut au répertoire /home/$USER/.cert/ automatiquement dès sa création.

Si j'utilise le service OpenVPN configuré en mode client, placer les certificats dans le répertoire /etc/openvpn/keys/ juste pour pas mélanger avec les fichiers de config. Penser surtout à ajouter "keys/" dans le fichier de configuration pour spécifier les noms des certificats, sinon OpenVPN ne les trouvera pas. Il utlise d'ailleurs /etc/openvpn/ comme racine pour rechercher les fichiers indiqués.

Lorsque des routes ne sont pas correctement indiquées par le serveur VPN

Cela peut arriver, en l'occurence mon serveur VPN n'indique pas toutes les routes nécessaires pour la connexion. Il est plus facile de les ajouter manuellement dans la conf de OpenVPN que de NM.

La commande manuelle :

ip route add 192.168.1.0/24 via <adresse_de_linterface_tun0>

Le fichier /etc/openvpn/MaConnexion.conf :

route 192.168.1.0 255.255.255.0

Notez que pour le prefix /24 on indique l'adresse de broadcast 255.255.255.0, et que pour le prefix /16 on indiquerait l'adresse 255.255.0.0. Enfin, pas besoin de préciser l'interface de cette route dans le fichier de conf puisqu'au tout début du fichier est indiqué l'interface tun.

Exemple de fichier de configuration pour OpenVPN en mode client

Il existe un squelette presque prêt à l'emploi qu'il suffit de copier dans /etc/openvpn/.

  • /usr/share/doc/openvpn/sample/sample-config-files/client.conf

Les seules modifications requises sont les noms des certificats et l'ajout éventuel de routes...

Créer un service systemd par connexion VPN

Contrairement à ce qui est indiqué dans le wiki fedoraproject, créer le lien dans le répertoire de config /etc/ au lieu de /lib/ :

# ln /lib/systemd/system/openvpn@.service /etc/systemd/system/openvpn@MaConnexion.service

Puis démarrer le service :

# systemctl start openvpn@MaConnexion.service

That's all

PHP 5.5 en Software Collection

Remi Collet

Les RPM de PHP 5.5, sont disponibles dans le dépôt remi pour Fedora 21 et Enterprise Linux 6, 7 (RHEL, CentOS, ...) dans une nouvelle Software Collection (php55) permettant son installation en parallèle de la version système.

Comme je crois fortement au potentiel des SCL pour fournir un moyen simple d'installer plusieurs versions en parallèle, et qu'il me semble utile d'offrir cette possibilité pour PHP 5.5 afin de permettre aux développeurs de tester leur application, en particulier de la compatibilité avec cette version courante, aux sysadmin de préparer une migration, ou simplement d'utiliser cette version pour une application spécifique, j'ai décidé de créer cette nouvelle SCL.

Installation :

yum --enablerepo=remi install php55

emblem-important-2-24.pngA noter :

  • comme la SCL est totalement indépendante du système, et ne le modifie pas, cette SCL est dans le dépôt remi.
  • l'installation est dans le dossier /opt/remi
  • le module pour Apache, php55-php, est disponible, mais évidement un seul mod_php peut être utiliser (il faudrait donc désactiver ou désinstaller tout autre module afin de l'utiliser, celui fournit par le paquet "php" reste prioritaire)
  • le service FPM (php55-php-fpm) est disponible, il écoute par défaut sur le port 9000, il faudrait donc adapter la configuration si vous souhaitez utiliser plusieurs services FPM en même temps.
  • la commande php55 permet d'accéder simplement à cette version, cependant l'utilisation de la commande scl reste la meilleure méthode.
  • les extensions PECL sont aussi disponibles dans la collection.
  • seulement pour  x86_64, pas de plan pour les autres architectures.
  • cette SCL est incompatible avec celle disponible dans RHSCL 1.1 (il faut donc choisir votre fournisseur, et prendre tous les paquets au même endroit).

emblem-notice-24.pngLire aussi les autres articles concernant les SCL.

$ scl enable php54 'php -v'
PHP 5.5.16 (cli) (built: Sep 3 2014 08:55:14)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
with Zend OPcache v7.0.4-dev, Copyright (c) 1999-2014, by Zend Technologies
with Xdebug v2.2.5, Copyright (c) 2002-2014, by Derick Rethans

Les utilisateurs de Fedora 21 peuvent donc utiliser simultanément les 3 versions maintenues de PHP : 5.4 (SCL), 5.5 et 5.6 (système).

Comme d'habitude, vos retours sont les bienvenus, un forum dédié aux SCL est ouvert.

PHP 5.4 en Software Collection

Remi Collet

Les RPM de PHP 5.4, sont disponibles dans le dépôt remi pour Fedora 19, 20, 21 et Enterprise Linux 6, 7 (RHEL, CentOS, ...) dans une nouvelle Software Collection (php54) permettant son installation en parallèle de la version système.

Comme je crois fortement au potentiel des SCL pour fournir un moyen simple d'installer plusieurs versions en parallèle, et qu'il me semble utile d'offrir cette possibilité pour PHP 5.4 afin de permettre aux développeurs de tester leur application, en particulier de la compatibilité avec cette version ancienne mais courante sur les systèmes "Entreprise", aux sysadmin de préparer une migration, ou simplement d'utiliser cette version pour une application spécifique, j'ai décidé de créer cette nouvelle SCL.

Installation :

yum --enablerepo=remi install php54

emblem-important-2-24.pngA noter :

  • comme la SCL est totalement indépendante du système, et ne le modifie pas, cette SCL est dans le dépôt remi.
  • l'installation est dans le dossier /opt/remi
  • le module pour Apache, php54-php, est disponible, mais évidement un seul mod_php peut être utiliser (il faudrait donc désactiver ou désinstaller tout autre module afin de l'utiliser, celui fournit par le paquet "php" reste prioritaire)
  • le service FPM (php54-php-fpm) est disponible, il écoute par défaut sur le port 9000, il faudrait donc adapter la configuration si vous souhaitez utiliser plusieurs services FPM en même temps.
  • la commande php54 permet d'accéder simplement à cette version, cependant l'utilisation de la commande scl reste la meilleure méthode.
  • les extensions PECL sont aussi disponibles dans la collection.
  • seulement pour  x86_64, pas de plan pour les autres architectures.
  • cette SCL est incompatible avec celle disponible dans RHSCL 1.1 (il faut donc choisir votre fournisseur, et prendre tous les paquets au même endroit).

emblem-notice-24.pngLire aussi les autres articles concernant les SCL.

$ scl enable php54 'php -v'
PHP 5.4.32 (cli) (built: Aug 31 2014 20:02:48)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies
with Zend OPcache v7.0.3, Copyright (c) 1999-2014, by Zend Technologies

Les utilisateurs de Fedora 19/20 peuvent donc utiliser simultanément les 3 versions maintenues de PHP : 5.4, 5.5 (système) et 5.6 (SCL).

Comme d'habitude, vos retours sont les bienvenus, un forum dédié aux SCL est ouvert.

PHP version 5.6.0 finale !

Remi Collet

Les RPM de PHP version 5.6.0 sont disponibles dans le dépôt remi-php56 pour Fedora et Enterprise Linux (RHEL, CentOS).

Un peu plus d'un an après la sortie de PHP version 5.5.0, la version 5.6.0 est publiée.

Annonce de la version : PHP 5.6.0 Release Announcement

Remplacement de la version par défaut du système :

yum --enablerepo=remi,remi-php56 update php\*

Installation en parallèle, en Software Collections :

yum --enablerepo=remi install php56

Et bientôt dans les mises à jour officielles de Fedora 21.

emblem-important-2-24.pngÀ noter :

  • la version EL7 est construite avec RHEL-7.0
  • la version EL6 est construite avec RHEL-6.5
  • beaucoup d'extensions sont aussi disponibles, voir PECL extension RPM status page

emblem-notice-24.pngInformations, lire :

Paquets de base (php)

Software Collection (php56)

PHP 5.6 en Software Collection

Remi Collet

Les RPM de la prochaine nouvelle version majeure de PHP 5.6, sont disponibles dans le dépôt remi pour Fedora 19, 20 et Enterprise Linux 6, 7 (RHEL, CentOS, ...) dans une nouvelle Software Collection (php56) permettant son installation en parallèle de la version système.

Comme je crois fortement au potentiel des SCL pour fournir un moyen simple d'installer plusieurs versions en parallèle, et qu'il me semble utile d'offrir cette possibilité pour PHP 5.6 afin de permettre aux développeurs de tester leur application, aux sysadmin de préparer une migration, ou simplement d'utiliser cette version pour une application spécifique, j'ai décidé de créer cette nouvelle SCL.

Installation :

yum --enablerepo=remi install php56

emblem-important-2-24.pngA noter :

  • comme la SCL est totalement indépendante du système, et ne le modifie pas, cette SCL est dans le dépôt remi.
  • l'installation est dans le dossier /opt/remi
  • le module pour Apache, php56-php, est disponible, mais évidement un seul mod_php peut être utiliser (il faudrait donc désactiver ou désinstaller tout autre module afin de l'utiliser, celui fournit par le paquet "php" reste prioritaire)
  • le service FPM (php56-php-fpm) est disponible, il écoute par défaut sur le port 9000, il faudrait donc adapter la configuration si vous souhaitez utiliser plusieurs services FPM en même temps.
  • la commande php56 permet d'accéder simplement à cette version, cependant l'utilisation de la commande scl reste la meilleure méthode.
  • Il s'agit pour l'instant de la version 5.6.0RC4, mais la version stable devrait être rapidement disponible.
  • les extensions PECL seront aussi progressivement disponibles dans la collection.
  • seulement pour  x86_64, pas de plan pour les autres architectures.

emblem-notice-24.pngLire aussi les autres articles concernant les SCL.

$ scl enable php56 'php -v'
PHP 5.6.0RC4 (cli) (built: Aug 24 2014 20:24:53)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.6.0-dev, Copyright (c) 1998-2014 Zend Technologies
with Zend OPcache v7.0.4-dev, Copyright (c) 1999-2014, by Zend Technologies

Comme d'habitude, vos retours sont les bienvenus, un forum dédié aux SCL est ouvert.

Migration vers Oh my Zsh!

Guillaume Kulakowski

Cela fait déjà plusieurs années que j'utilise Zsh comme shell principal sur mes PCs et serveurs. Jusquà présent j'avais mon propre fichier /etc/zshrc que je déployais sur mes machines. Ce déploiement passait par un RPM et le fichier de configuration était long de plus de 500 lignes qu'il fallait mettre à jour au grès des évolutions de Zsh. Je connaissais déjà la projet Oh My Zsh!, mais je n'avais pas encore sauté le pas.

Oh my Zsh!

Puis, suite à des échanges avec un collègue de boulot, lui même adepte  de Zsh, et qui m'a bien vendu la chose (couplée à l'utilitaire Z), j'ai enfin adopté cette solution. Du coup, j'ai transposé mes 500 lignes de configuration en 200 lignes plus un thème. Le tout est disponible sur mon comptes GitHub.

My Zsh/Oh My Zsh configuration.

Migration vers Oh my Zsh!

Guillaume Kulakowski

Cela fait déjà plusieurs années que j'utilise Zsh comme shell principal sur mes PCs et serveurs. Jusquà présent j'avais mon propre fichier /etc/zshrc que je déployais sur mes machines. Ce déploiement passait par un RPM et le fichier de configuration était long de plus de 500 lignes qu'il fallait mettre à jour au grès des évolutions de Zsh. Je connaissais déjà la projet Oh My Zsh!, mais je n'avais pas encore sauté le pas.

Oh my Zsh!

Puis, suite à des échanges avec un collègue de boulot, lui même adepte  de Zsh, et qui m'a bien vendu la chose (couplée à l'utilitaire Z), j'ai enfin adopté cette solution. Du coup, j'ai transposé mes 500 lignes de configuration en 200 lignes plus un thème. Le tout est disponible sur mon comptes GitHub.

My Zsh/Oh My Zsh configuration.

PHP 5.4.32 et 5.5.16

Remi Collet

Les RPM de PHP version 5.5.16 sont disponibles dans le dépôt remi pour Fedora et dans le dépôt remi-php55 pour Enterprise Linux.

Les RPM de PHP version 5.4.32 sont disponibles dans le dépôt remi pour Enterprise Linux (RHEL, CentOS...).

security-medium-2-24.pngCes versions corrigeant plusieurs failles de sécurité, la mise à jour et vivement recommandée.

Annonces des versions :

emblem-important-4-24.pngMerci de noter que ces versions corrigent un problème de compatibilité détectée dans les versions 5.4.29 et 5.5.13. Cependant, le correctif peut encore casser quelques rares situations. La sécurité, concernée par ce correctif, reste le premier objectif du projet. Lire upgrading guide.

Installation de PHP 5.5

yum --enablerepo=remi-php55,remi update php\*

Installation de PHP 5.4

yum --enablerepo=remi update php\*

Et bientôt dans les mises à jour officielles:

Pour mémoire, Fedora 21 fournira PHP 5.6.

emblem-important-2-24.pngÀ noter :

  • la version EL7 est construite avec RHEL-7.0
  • la version EL6 est construite avec RHEL-6.5
  • pour php 5.5, l'extension Zip est désormais fournit dans le paquet php-pecl-zip.
  • beaucoup de nouvelles extensions sont aussi disponible, voir PECL extension RPM status page

emblem-notice-24.pngInformations, lire :

septembre 2014

Premier Samedi Date : samedi 6 septembre 2014 Horaires : de 14h00 à 18h00 Lieu : Carrefour Numérique, Cité des Sciences et de lIndustrie, Paris Pour une nouvelle installation ou pour des ajustements de votre distribution GNU/Linux Fedora, Mageia ou Ubuntu, venez nous retrouver le samedi 6 septembre 2014 au Carrefour Numérique de la Cité des Sciences […]

Utiliser la Garmin Forerunner 220 sans Windows (Linux / Android)

Guillaume Kulakowski

Depuis quelques temps je me suis mis à courir pas mal. En terme de suivi et d'informations relatives à mes sorties, J'avais envie d'aller un peu plus loin que ce que pouvait me donner une application comme RunKeeper. Pour faire simple, javais envie d'avoir les informations toujours disponibles (à mon bras) et également d'avoir mon rythme cardiaque. Je me suis donc lancé dans la recherche d'une montre GPS avec quelques près requis:

  • Bonne qualité,
  • Bon site de suivie des activités,
  • Informations récupérables et si possible transférables vers d'autre (RunKeeper, etc...),
  • Windows non obligatoire.

La marque Garmin à tout naturellement retenu mon attention et plus particulièrement le modèle Forerunner 220 pour les raisons suivantes:

Comble du bon goût, le projet dispose d'un dépôt YUM pour l'installer et le maintenir à jour !

garmin_forerunner_220_plugin_linux.png

Après plus de 2 mois d'utilisations voici un petit retour :

  • En ce qui concerne mes activités (run, records), la synchronisation Android joue parfaitement son rôle.
  • Pour ce qui est des entrainements je dois relier ma montre à mon PC et le plugin Garmin Communicator pour Linux fonctionne à merveille. Juste une petite règle SELinux à rajouter:
setsebool -P mozilla_plugin_use_gps 1

garmin_forerunner_220_linux.png

Au jour daujourdhui une seule déception: la mise à jour du firmware. Bien que l'application Android me notifie d'une nouvelle version (tout comme le site web), celle-ci reste incapable de mettre à jour la montre. Ceci est d'autant plus dommage, qu'au final la mise à jour consiste à pousser le nouveau firmware dans la mémoire de la montre et de la redémarrer. Je pense que si le plugin Garmin Communicator gérait cette opération (en lieu est place de Garmin Express), sa version Linux ferait également le job. Pour le moment je n'ai trouvé que 2 solutions de contournement: mon PC du boulot ou ma VirtualBox Windows 7.

garmin_forerunner_220_firmware.png

Bref, pour faire court: si vous êtes Linuxien et que vous aimez courir alors les montres de cette liste sont faites pour vous.

Utiliser la Garmin Forerunner 220 sans Windows (Linux / Android)

Guillaume Kulakowski

Depuis quelques temps je me suis mis à courir pas mal. En terme de suivi et d'informations relatives à mes sorties, J'avais envie d'aller un peu plus loin que ce que pouvait me donner une application comme RunKeeper. Pour faire simple, javais envie d'avoir les informations toujours disponibles (à mon bras) et également d'avoir mon rythme cardiaque. Je me suis donc lancé dans la recherche d'une montre GPS avec quelques près requis:

  • Bonne qualité,
  • Bon site de suivie des activités,
  • Informations récupérables et si possible transférables vers d'autre (RunKeeper, etc...),
  • Windows non obligatoire.

La marque Garmin à tout naturellement retenu mon attention et plus particulièrement le modèle Forerunner 220 pour les raisons suivantes:

Comble du bon goût, le projet dispose d'un dépôt YUM pour l'installer et le maintenir à jour !

garmin_forerunner_220_plugin_linux.jpg

Après plus de 2 mois d'utilisations voici un petit retour :

  • En ce qui concerne mes activités (run, records), la synchronisation Android joue parfaitement son rôle.
  • Pour ce qui est des entrainements je dois relier ma montre à mon PC et le plugin Garmin Communicator pour Linux fonctionne à merveille. Juste une petite règle SELinux à rajouter:
setsebool -P mozilla_plugin_use_gps 1

garmin_forerunner_220_linux.png

Au jour daujourdhui une seule déception: la mise à jour du firmware. Bien que l'application Android me notifie d'une nouvelle version (tout comme le site web), celle-ci reste incapable de mettre à jour la montre. Ceci est d'autant plus dommage, qu'au final la mise à jour consiste à pousser le nouveau firmware dans la mémoire de la montre et de la redémarrer. Je pense que si le plugin Garmin Communicator gérait cette opération (en lieu est place de Garmin Express), sa version Linux ferait également le job. Pour le moment je n'ai trouvé que 2 solutions de contournement: mon PC du boulot ou ma VirtualBox Windows 7.

garmin_forerunner_220_firmware.png

Bref, pour faire court: si vous êtes Linuxien et que vous aimez courir alors les montres de cette liste sont faites pour vous.

Changement de nom pour le blog

Guillaume Kulakowski

Alors qu'en Décembre, le blog va passer le cap des 10 ans, j'ai décidé de quelque peu le modifier. En effet, exit le pseudo llaumgui, exit le llaumgui.com (qui va fêter lui aussi c'est 10 ans le 26/08/2014) et bonjour blog.kulakowski.fr.

La raison est due au fait que lanonymat dont je pouvais jouir il y a 10 ans n'est plus avec les Facebook et autres et que du coup autant publier en son nom. De plus, professionnellement, ça fait un peu plus sérieux.

Voila, sinon le contenu ne change pas, je vais juste tacher d'augmenter la fréquence des mises à jour, qui en ce moment sont proches de 0.

Changement de nom pour le blog

Guillaume Kulakowski

Alors qu'en Décembre, le blog va passer le cap des 10 ans, j'ai décidé de quelque peu le modifier. En effet, exit le pseudo llaumgui, exit le llaumgui.com (qui va fêter lui aussi c'est 10 ans le 26/08/2014) et bonjour blog.kulakowski.fr.

La raison est due au fait que lanonymat dont je pouvais jouir il y a 10 ans n'est plus avec les Facebook et autres et que du coup autant publier en son nom. De plus, professionnellement, ça fait un peu plus sérieux.

Voila, sinon le contenu ne change pas, je vais juste tacher d'augmenter la fréquence des mises à jour, qui en ce moment sont proches de 0.

Koschei : intégration continue de la pile PHP dans Fedora

Remi Collet

L'intégration Continue est une préoccupation naturelle de tous développeurs.

La plupart des projets utilisent des outils comme Travis (disponible sous github.com). PHP dispose de sa propre suite de tests. Cela permet de vérifier que les modifications apportées au code source n'apportent pas de régression.

Cela semble suffisant pour une projet, mais pour la "pile PHP" dans sont ensemble, il faut pouvoir :

  • vérifier que la mise à jour d'une dépendance ne casse pas les projets l'utilisant
  • vérifier que la mise à jour de PHP n'entraine pas de régression dans les projets, dès les Release Candidate (les versions de PHP disponibles dans travis/github sont souvent en retard)
  • vérifier que les modifications liés au packaging ne cassent rien

Le projet Koschei permet de répondre à ces besoins en supervisant les mises à jour dans rawhide (la branche développement de Fedora) et en déclenchant une construction à blanc de tous les paquets dépendants.

Comme de nombreux outils et bibliothèques sont disponibles dans Fedora, nous les avons ajoutés pour qu'ils soient surveillés, en particulier :

  • PHP (uniquement la version 5.6 pour l'instant)
  • PHPUnit et toutes ses dépendances
  • Symfony
  • Doctrine
  • Horde
  • etc

Adresse de l'instance : http://koschei.cloud.fedoraproject.org/

Ce nouvel outil aurait pu nous permettre de détecter au plus tôt les régressions introduites dans PHP version 5.4.29 et 5.5.13. Je prévois donc d'importer les prochaines Release Candidate au plus tôt afin de bénéficier de l'outil.

Par exemple, il vient de permettre de détecter un FTBFS de symfony suite à la mise à jour de PHPUnit 4.2.0 (il s'agissait d'un problème spécifique au paquet et déjà corrigé).

Évidement, il est donc nécessaire de disposer de suite de test pour chaque projet et de les exécuter lors de la construction des paquets, mais cela fait, depuis longtemps, partie des bonnes pratiques.

Nous verrons à l'avenir comment l'outil se comporte, mais je pense qu'il apporte un vrai progrès pour l'intégration continue de l'ensemble de la pile PHP.

Il s'agit aussi et surtout d'un outil dont les résultats doivent bénéficier à chaque projet, prouvant l'utilité de la collaboration inter-projets (upstream / downstream), et donnant encore plus d'intérêt, pour chaque projet, à être intégré dans une distribution comme Fedora.

PHPUnit 4.2

Remi Collet

Les RPM de PHPUnit version 4.2 sont disponibles dans le dépôt remi pour fedora et Enterprise Linux (CentOS, RHEL...)

Documentation : PHPUnit 4.2 manual (english)

Jusqu'à la version 3.7, PHPUnit et ses composants était principalement distribué dans le canal PEAR "phpunit". Chaque composant étant donc distribué dans un RPM dédié de la même manière.

Depuis la version 4.0, le paquet pear fournit uniquement un grosse archive .phar, contenant l'ensemble des composants. C'est la méthode de diffusion choisi par l'auteur. Ce mode de distribution n'est, hélas, pas du tout acceptable pour une distribution RPM.

De plus, ce canal pear, doit être prochainement fermé (avant la fin de l'année).

Depuis la version 4.1 chaque composant est désormais construit à partir des sources github. Le mécanisme d'autoload étant maintenu.

Installation :

yum --enablerepo=remi install phpunit

Merci de tester cette nouvelle version, qui est aussi disponible dans Fedora 21, Rawhide et EPEL-7.

Apache httpd server 2.4.10 et PHP-FPM 5.6 dans Fedora 21

Remi Collet

Depuis la mise à jour dans Fedora 21 d'httpd version 2.4.10 et de php 5.6.0RC3, il est désormais possible de se passer de mod_php. php-fpm fonctionne désormais avec la configuration par défaut fournie.

Installation :

# yum remove php
# yum install php-fpm httpd

Démarrage des services

# systemctl start php-fpm.service
# systemctl start httpd.service

Test

# echo '<?php phpinfo()' >/var/www/html/info.php

URL: http://localhost/info.php

Vous devez voir le message : Server API: FPM/FastCGI

Configuration

La configuration fournie par défaut fonctionne donc désormais sans modification sous Fedora 21.

Il est possible de l'utiliser en Fedora 19 et 20 en appliquant les modifications au fichier de configuration de PHP /etc/httpd/conf.d/php.conf

Désactiver les directives php_* si mod_php n'est pas chargé

# mod_php options
<IfModule mod_php5.c>
...
php_value session.save_handler "files"
php_value session.save_path "/var/lib/php/session"
php_value soap.wsdl_cache_dir "/var/lib/php/wsdlcache"
</IfModule>

Activer la redirection vers le serveur php-fpm

# Redirect to local php-fpm if mod_php is not available
<IfModule !mod_php5.c>
<FilesMatch \.php$>
SetHandler "proxy:fcgi://127.0.0.1:9000"
</FilesMatch>
</IfModule>

Optimisation du serveur Apache

C'est l'occasion d'abandonner le MPM prefork dans /etc/httpd/conf.modules.d/00-mpm.conf

LoadModule mpm_event_module modules/mod_mpm_event.so

Pour les packageurs

php-fpm tire httpd-filesystem, uniquement pour la création de l'utilisateur apache et des dossiers de configuration, mais reste utilisable sans httpd, par exemple avec nginx. Cependant Apache httpd server reste, pour moi, le seul server adapté pour les applications web, en particulier parce qu'il permet de fournir un fichier de configuration par application contenant des alias globaux.

Je vous encourage à tester vos applications dans cette configuration, en particulier à mettre des conditions autour des directives php_* dans leur fichier de configuration.

La prochaine étape sera de supprimer la dépendance sur mod_php pour laisser le choix aux utilisateurs.

Conclusion

Cette fonctionnalité supprime enfin la difficulté d'utiliser PHP-FPM et les autres MPM d'apache. Dommage qu'elle ne soit pas disponible dans la version d'httpd fournie avec RHEL/CentOS-7.

Page générée le 25 sept 2014 à 15:00