mjanser.php
Rôle Ansible : PHP
Un rôle Ansible qui installe PHP sur Ubuntu ou Fedora. Les versions suivantes de PHP sont supportées :
- PHP 5.6
- PHP 7.0
- PHP 7.1
Pour les versions de PHP autres que celle de la distribution sur Fedora, le référentiel RPM de Remi est utilisé. Pour Ubuntu, le PPA deb.sury.org sera installé.
Si nginx est installé sur le système, un upstream avec le nom php-fpm
sera configuré.
Exigences
Aucune
Variables du rôle
Les variables disponibles sont listées ci-dessous, avec leurs valeurs par défaut :
php_version: ~
php_timezone: UTC
php_debug: false
php_opcache_validate: false
php_redis: false
php_composer: true
php_fpm: true
php_fpm_socket: ~
php_fpm_user: ~
php_fpm_group: ~
php_fpm_acl_users: ~
php_fpm_pm: ~ # static, dynamic, ondemand
php_fpm_pm_max_children: ~
php_fpm_pm_start_servers: ~
php_fpm_pm_min_spare_servers: ~
php_fpm_pm_max_spare_servers: ~
php_fpm_pm_process_idle_timeout: ~
Version
La variable php_version
définit la version souhaitée de PHP à installer. Voir ci-dessus pour les versions supportées. Si cette variable n'est pas définie ou est définie sur une version non supportée, la version par défaut de PHP de la distribution Linux sera installée.
Fuseau horaire
Ce rôle prend en charge la définition du fuseau horaire par défaut de PHP avec la variable php_timezone
.
Débogage
Si la variable php_debug
est définie sur true
, le rapport d'erreur sera activé.
OPCache
Par défaut, l'OPCache de PHP ne valide pas le cache, ce qui est bon en environnement de production. La validation peut être activée en définissant la variable php_opcache_validate
sur true
.
Redis
La variable php_redis
peut être définie sur true
pour installer l'extension PHP pour Redis.
Composer
Par défaut, composer sera installé. Cela peut être empêché en définissant la variable php_composer
sur false
.
PHP-FPM
PHP-FPM peut être configuré avec les variables préfixées par php_fpm
. L'installation de PHP-FPM peut également être désactivée en définissant la variable php_fpm
sur false
.
Pour donner un accès supplémentaire aux utilisateurs à la socket PHP-FPM, vous pouvez définir la variable php_fpm_acl_users
.
Gestion des processus PHP-FPM
Avec les variables préfixées par php_fpm_pm
, le gestionnaire de processus de PHP-FPM peut être configuré. Voir la documentation pour plus d'informations.
Dépendances
Aucune
Exemple de Playbook
- hosts: all
roles:
- { role: mjanser.php }
Pour configurer une boîte de développement avec Vagrant, vous pouvez utiliser le playbook suivant.
- hosts: all
roles:
- { role: mjanser.php }
vars:
php_debug: true
php_fpm_user: vagrant
php_fpm_group: vagrant
php_fpm_acl_users: apache,nginx,vagrant
Licence
MIT
ansible-galaxy install mjanser.php