Présentation du 2018-05-03 à PHPQuébec

Présentation en anglais d'Andrew Caya, ZCE, ZCA sur DOCKER : Linux for PHP (LfPHP).

linuxforphp.net

Note de la présentation

Présentation de l'auteur:
- CEO/CTO de Foreach Code Factory
- Professeur du cours PHP-1 à Concordia
- Développeur du projet Linux For PHP

Présentation du projet Linux For PHP
C'est un conteneur "Docker" avec un serveur LAMPP.

But du projet
- doit être simple à compiler
- doit se faire à partir des bibliothèques originale (from scratch)
- lancement de version à tous les 6 mois
- chaîne de base standard aux environnement linux (glibc, readline, ...)

Alternative (compétiteur)
- Alpine
  - utilise musl-libc
  - outils busybox
  - inconvénient: existe parfois des problèmes de SEGFAULT pour certaines configurations de compilation (switch) 
                   sur certaines architectures matérielles (hardware).
  - avantage: léger, quelques Mo à télécharger
- Distribution Linux complète
  - inconvénient : lourd, de 800 Mo à 1.5 Go

Fonctionnalités actuelles:
- environnement avec glibc standard (près de 100 paquets)
- les meilleurs paquets pour PHP
- Configuration de compilation pour la plupart des architectures matérielles (hardware)
- images d'environ 500 Mo à télécharger
- lancement de version à tous les 6 mois
- inclus MariaDB 10.2.8 et libsodium (encryption pour PHP 7)
  Voir la liste complète sur le changelog
- En utilisant les conteneur docker, fonctionne sur plusieurs plateformes (cross-platform compatibility)
- utilise SystemD (/etc/init.d/packagename start|stop)

Utilisation:
- liste de recettes à utiliser pour compiler les composants sur le site web (Cookbook)
  - téléchargement de script pour l'install avec wget
- permet de démarrer de multiple versions en associant le port 80 du conteneur à des ports comme 8080, 8181, 8282...
- recette pour le service en ligne de profilage Blackfire.io
- ne possède pas de version pour XSERVER??? doublerait la taille de l'image docker.

Bientôt (juin 2018):
- utilisation de fichier package.json (composer) pour le démarrage et l'utilisation des conteneurs Docker pour Linux For PHP.

Question à la fin de la présentation

1. Est-ce qu'il y a des versions pré-compilés? Oui voir docker asclinux

2. Quand est-ce que la version pour composer sera prête? Pour juin 2018.

Question personnelle

Dans la présentation, il ne semble pas avoir de checksum ou d'empreinte PGP pour s'assurer de l'origine des paquets téléchargés. On utilise aussi des adresses http:// raccourci pour le téléchargement. Est-ce qu'il n'y a pas danger d'avoir des attaques d'interception lors de la mise à jour des paquets?

Réponse personnelle: je crois que docker a un mécanisme de vérification puisque l'image semble provenir de leur serveur sur hub.docker.com
http://bit.ly/2jheBrr semble être une redirection vers https://linuxforphp.net/download_file/force/34/210 (renommé en fichier production_LfPHP_setup.sh.txt)

Est-ce qu'il y a une version française du site de prévu pour linuxforphp.net?

Si les images docker originales sont mises à jour tous les 6 mois, est-ce qu'il y a un renouvellement des images Docker par LinuxForPHP s'il existe un problème (bug) dans les bibliothèques et dépendances?

Est-ce que LinuxForPHP peut résoudre un problème que j'ai présentement? Pas vraiment... j'y réfléchis encore.

Emplois

Turbulent - développeur Typescript et développeur PHP