From 305c9c010447eec4ea644d370095b43bf18ed5a3 Mon Sep 17 00:00:00 2001 From: Victor LABORIE Date: Mon, 4 Mar 2019 15:57:48 +0100 Subject: [PATCH] Documentation for using multi PHP versions --- README.md | 93 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 93 insertions(+) diff --git a/README.md b/README.md index e1c21dc..f870ce5 100644 --- a/README.md +++ b/README.md @@ -31,6 +31,99 @@ TODO TODO +### Conteneurs LXC (Multi PHP) + +#### PHP 5.6 + +On installe un conteneur Debian Jessie : + +~~~ +/usr/bin/lxc-create --name php56 --template debian --bdev dir --logfile /var/log/lxc/lxc-php56.log --logpriority INFO -- --arch amd64 --release jessie +~~~ + +Puis on installe les paquets PHP 5.6 dans ce conteneur : + +~~~ +lxc-attach -n php56 apt install php5-fpm php5-cli php5-gd php5-imap php5-ldap php5-mcrypt php5-mysql php5-pgsql php-gettext php5-intl php5-curl php5-ssh2 libphp-phpmailer +~~~ + +On configure ensuite PHP via les fichiers **/etc/php5/fpm/conf.d/z-evolinux-defaults.ini** et **/etc/php5/cli/conf.d/z-evolinux-defaults.ini** (dans le conteneur) : + +~~~ +[PHP] +short_open_tag = Off +expose_php = Off +display_errors = Off +log_errors = On +html_errors = Off +allow_url_fopen = Off +disable_functions = exec,shell-exec,system,passthru,putenv,popen +~~~ + +Il ne reste plus qu'a redémarrer FPM : + +~~~ +lxc-attach -n php56 /etc/init.d/php5-fpm restart +~~~ + +#### PHP 7.0 + +On installe un conteneur Debian Stretch : + +~~~ +/usr/bin/lxc-create --name php70 --template debian --bdev dir --logfile /var/log/lxc/lxc-php70.log --logpriority INFO -- -t download --arch amd64 --release stretch +~~~ + +Puis on installe les paquets PHP 7.0 dans ce conteneur : + +~~~ +lxc-attach -n php70 apt install php-fpm php-cli php-gd php-intl php-imap php-ldap php-mcrypt php-mysql php-pgsql php-gettext php-curl php-ssh2 composer libphp-phpmailer +~~~ + +On configure ensuite PHP via les fichiers **/etc/php/7.0/fpm/conf.d/z-evolinux-defaults.ini** et **/etc/php/7.0/cli/conf.d/z-evolinux-defaults.ini** : + +~~~ +[PHP] +short_open_tag = Off +expose_php = Off +display_errors = Off +log_errors = On +html_errors = Off +allow_url_fopen = Off +disable_functions = exec,shell-exec,system,passthru,putenv,popen +~~~ + +Il ne reste plus qu'a redémarrer FPM : + +~~~ +lxc-attach -n php70 /etc/init.d/php7.0-fpm restart +~~~ + +#### Toutes versions + +Pour envoyer des mails, on peut installer **ssmtp** qui va forwarder les mails du conteneur vers l'hôte (à faire par conteneur via lxc-attach) : + +~~~ +apt install ssmtp +~~~ + +Editer **/etc/ssmtp/ssmtp.conf** (remplacer example.com par le hostname complet de votre machine) : + +~~~ +root=postmaster +mailhub=127.0.0.1 +hostname=example.com +FromLineOverride=YES +~~~ + +#### + +Une fois les conteneurs installés, il faut configurer evoadmin-web pour lui diniquer les versions disponibles de PHP dans **/etc/evolinux/web-add.conf** : + +~~~ +PHP_VERSIONS=(56 70) +~~~ + ## Méthodes de collaboration Lire le fichier GUIDELINES.