cloudweeb.php

Rôle Ansible PHP

Statut de construction

Rôle Ansible pour installer PHP, inspiré par le rôle geerlingguy.php

Exigences

Aucune

Variables de rôle

php_version: 7.2              # définir la version de PHP à installer, par défaut elle n'est pas définie
php_web_server_enabled: true  # À mettre à vrai lorsque vous avez un serveur web installé sur le serveur
php_fpm_enabled: false        # À mettre à vrai si vous souhaitez activer PHP-FPM

php_remi_repo_enabled: true   # Activer le dépôt REMI uniquement sur les systèmes RHEL
php_sury_repo_enabled: true   # Activer le dépôt Sury uniquement sur les systèmes Debian

php_extra_packages: []        # Liste des paquets PHP supplémentaires que vous souhaitez installer

# liste de configuration php.ini
php_ini_disable_functions: []
php_ini_expose_php: 'Off'
php_ini_max_execution_time: '30'
php_ini_max_input_time: '60'
php_ini_max_input_vars: '2500'
php_ini_memory_limit: '128M'
php_ini_date_timezone: Asia/Jakarta

# liste de configuration PHP FPM
php_fpm_listen: '127.0.0.1:9000'
php_fpm_pm: dynamic                   # gestionnaire de processus PHP FPM (dynamique, statique, à la demande)
php_fpm_pm_max_children: '50'         # Le nombre maximum de processus enfants à créer
php_fpm_pm_start_servers: '5'
php_fpm_pm_min_spare_servers: '5'
php_fpm_pm_max_spare_servers: '20'
php_fpm_pm_max_requests: '4000'       # Le nombre de requêtes que chaque processus enfant doit exécuter avant d'être redémarré
php_fpm_pm_process_idle_timeout: 10s  # Le nombre de secondes après lesquelles un processus inactif sera tué

php_fpm_pools:                # Liste des pools php-fpm à définir
    # nom du pool php-fpm
  - name: www
    # nom de fichier du pool php-fpm
    filename: www.conf
    # adresse d'écoute du pool php-fpm
    listen: /var/run/php-fpm/php-fpm.sock
    # IP autorisée à se connecter au pool php-fpm
    listen_allowed_clients: '127.0.0.1'
    # variables d'environnement supplémentaires pour le pool php-fpm
    env_vars: |
      env[HOSTNAME] = $HOSTNAME
      env[PATH] = /usr/local/bin:/usr/bin:/bin
      env[TMP] = /tmp
      env[TMPDIR] = /tmp
      env[TEMP] = /tmp
    # configuration php supplémentaire pour le pool php-fpm
    extra_php_ini: |
      php_admin_value[error_log] = /var/log/php-fpm/www-error.log
      php_admin_flag[log_errors] = on
      php_admin_value[memory_limit] = 128M

php_web_server_daemon: httpd  # le nom du service du serveur web (httpd, apache2 ou nginx)
php_fpm_daemon: php-fpm       # le nom du service php-fpm (php-fpm, php7.2-fpm, php5.6-fpm, etc.)

php_base_packages:            # paquets de base php à installer
  - php
  - php-cli
  - php-common
  - php-fpm

php_conf_file:                # emplacement du fichier php.ini
  - /etc/php.ini

php_fpm_user: apache          # utilisateur php-fpm par défaut
php_fpm_group: apache         # groupe php-fpm par défaut

php_fpm_listen_owner: nobody  # propriétaire d'écoute par défaut pour php-fpm
php_fpm_listen_group: nobody  # groupe d'écoute par défaut pour php-fpm

php_fpm_pool_conf_path: /etc/php-fpm.d  # répertoire de configuration php-fpm

Dépendances

Aucune

Exemple de playbook

- hosts: serveurs
  vars:
    php_web_server_enabled: false
    php_fpm_enabled: true

    php_fpm_pools:
      - name: www
        filename: www.conf
        listen: /var/run/php-fpm/php-fpm.sock
        listen_allowed_clients: '127.0.0.1'
        env_vars: |
          env[HOSTNAME] = $HOSTNAME
          env[PATH] = /usr/local/bin:/usr/bin:/bin
          env[TMP] = /tmp
          env[TMPDIR] = /tmp
          env[TEMP] = /tmp

  roles:
    - role: cloudweeb.php

Licence

BSD/MIT

Informations sur l'auteur

Agnesius Santo Naibaho

À propos du projet

Install PHP on Linux server

Installer
ansible-galaxy install cloudweeb.php
Licence
mit
Téléchargements
341
Propriétaire