swcc.php-fpm

Statut de Construction Ansible Galaxy

php-fpm

Ce rôle installe et configure l'interpréteur php-fpm.

Attention

Le support RedHat est abandonné dans la version 2.0.0. Les requêtes de tirage sont les bienvenues.

Exigences

Ce rôle nécessite Ansible 1.4 ou supérieur et les plateformes testées sont listées dans le fichier de métadonnées.

Variables du Rôle

Le rôle utilise les variables suivantes :

  • php_fpm_version : La version de PHP qui doit être installée. Disponibles : 5.5, 5.6, 7.0, 7.1. Par défaut : 5.6. Attention : PHP 5.5 peut être utilisé, mais il a atteint sa fin de vie et doit être évité !
  • php_fpm_pools : La liste des pools pour php-fpm, chaque pool est un hachage avec une entrée nom (utilisée pour le nom de fichier), toutes les autres entrées dans le hachage sont les directives du pool (voir http://php.net/manual/en/install.fpm.configuration.php). Un niveau de dictionnaires imbriqués est supporté pour permettre de passer des variables d'environnement et des réglages PHP sous forme de dictionnaires.
  • php_fpm_pool_defaults : Une liste de directives par défaut utilisées pour tous les pools php-fpm (voir http://php.net/manual/en/install.fpm.configuration.php).
  • php_fpm_apt_packages : La liste des paquets à installer par le

apt module, par défaut [php5-fpm].

  • php_fpm_yum_packages : La liste des paquets à installer par le yum module, par défaut [php-fpm].
  • php_fpm_ini : Personnalisation du php.ini de php-fpm sous forme d'une liste d'options, chaque option est un hachage utilisant la structure suivante :
    • option : Le nom de l'option.
    • value : La valeur en chaîne de caractères à associer à l'option.
    • section : Nom de la section dans le fichier INI.
  • php_fpm_config : Personnalisation du fichier de configuration de php-fpm sous forme d'une liste d'options.
  • php_fpm_default_pool :
    • delete : Défini à une valeur True pour supprimer le pool par défaut.
    • name : Le nom du fichier de configuration du pool par défaut.
  • php_fpm_apt_latest : Si défini à yes, mettra à jour les paquets vers la dernière version.

Exemple de configuration

- role: php-fpm
  php_fpm_pool_defaults:
    pm: dynamic
    pm.max_children: 5
    pm.start_servers: 2
    pm.min_spare_servers: 1
    pm.max_spare_servers: 3
  php_fpm_pools:
   - name: foo
     user: www-data
     group: www-data
     listen: 8000
     chdir: /
   - name: bar
     user: www-data
     group: www-data
     listen: 8001
     env:
       PATH: "/usr/local/bin:/usr/bin:/bin"
       TMPDIR: "/tmp"
     php_admin_value:
       sendmail_path: "/usr/sbin/sendmail -t -i -f [email protected]"
       error_log = "/var/log/fpm-bar.www.log"
   php_fpm_ini:
   # Directives de section PHP
   - option: "engine"
     section: "PHP"
     value: "1"
   - option: "error_reporting"
     section: "PHP"
     value: "E_ALL & ~E_DEPRECATED & ~E_STRICT"
   - option: "date.timezone"
     section: "PHP"
     value: "Europe/Berlin"
   # Directives de section soap
   - option: "soap.wsdl_cache_dir"
     section: "soap"
     value: "/tmp"
   # Directives de section Pdo_mysql
   - option: "pdo_mysql.cache_size"
     section: "Pdo_mysql"
     value: "2000"
   php_fpm_config:
   - option: "log_level"
     section: "global"
     value: "notice"
   - option: "syslog.facility"
     section: "global"
     value: "daemon"

Exemple d'utilisation

---
# fichier : task.yml
- hosts: all
  roles:
    - nbz4live.php-fpm
    - {
        role: nbz4live.php-fpm,
        php_fpm_pools:[
          {name: foo, user: www-data, group: www-data, listen: 8000, chdir: /}
        ]
      }
    - role: php-fpm
        php_fpm_pools:
          - name: bar
            user: www-data
            group: www-data
            listen: 9000
            chdir: /

Attention

La configuration du gestionnaire de processus (pm, pm.max_children, pm.start_servers, pm.min_spare_servers, pm.max_spare_servers), dans les valeurs par défaut, est uniquement pour les tests. Ces valeurs doivent toujours être calculées en fonction des ressources serveur utilisées (hardware, nombre de pools, autres logiciels sur le serveur). Veuillez lire la documentation pour plus d'informations à propos de ces directives ou suivre ce guide pour calculer les meilleures valeurs pour votre cas.

Licence

BSD

Informations sur l'Auteur

À propos du projet

Ansible role for installing and configuring php-fpm

Installer
ansible-galaxy install swcc.php-fpm
Licence
Unknown
Téléchargements
79
Propriétaire