cloudweeb.php

Rola Ansible PHP

Status budowy

Rola Ansible do instalacji PHP, inspirowana rolą geerlingguy.php.

Wymagania

Brak

Zmienne roli

php_version: 7.2              # ustawia wersję PHP, która ma być zainstalowana, domyślnie nie jest ustawiona
php_web_server_enabled: true  # Ustaw na true, gdy masz zainstalowany serwer WWW
php_fpm_enabled: false        # Ustaw na true, gdy chcesz włączyć PHP-FPM

php_remi_repo_enabled: true   # Włącz repozytorium REMI tylko na systemach RHEL
php_sury_repo_enabled: true   # Włącz repozytorium Sury tylko na systemach Debian

php_extra_packages: []        # Lista dodatkowych pakietów PHP, które chcesz zainstalować

# Lista konfiguracji 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

# Lista konfiguracji PHP FPM
php_fpm_listen: '127.0.0.1:9000'
php_fpm_pm: dynamic                   # Menedżer procesów PHP FPM (dynamiczny, statyczny, na żądanie)
php_fpm_pm_max_children: '50'         # Maksymalna liczba procesów podrzędnych, które mają być utworzone
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'       # Liczba zapytań, które każdy proces podrzędny powinien wykonać przed ponownym uruchomieniem
php_fpm_pm_process_idle_timeout: 10s  # Liczba sekund po których bezczynny proces zostanie zabity

php_fpm_pools:                # Lista pul php-fpm, które będą ustawione
    # Nazwa puli php-fpm
  - name: www
    # Nazwa pliku konfiguracyjnego puli php-fpm
    filename: www.conf
    # Adres nasłuchu puli php-fpm
    listen: /var/run/php-fpm/php-fpm.sock
    # Dozwolone adresy IP do łączenia się z pulą
    listen_allowed_clients: '127.0.0.1'
    # Dodatkowe zmienne środowiskowe puli php-fpm
    env_vars: |
      env[HOSTNAME] = $HOSTNAME
      env[PATH] = /usr/local/bin:/usr/bin:/bin
      env[TMP] = /tmp
      env[TMPDIR] = /tmp
      env[TEMP] = /tmp
    # Dodatkowa konfiguracja php puli 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  # nazwa usługi serwera WWW (httpd, apache2 lub nginx)
php_fpm_daemon: php-fpm       # nazwa usługi php-fpm (php-fpm, php7.2-fpm, php5.6-fpm, itp.)

php_base_packages:            # podstawowe pakiety php, które będą zainstalowane
  - php
  - php-cli
  - php-common
  - php-fpm

php_conf_file:                # lokalizacja pliku php.ini
  - /etc/php.ini

php_fpm_user: apache          # domyślny użytkownik php-fpm
php_fpm_group: apache         # domyślna grupa php-fpm

php_fpm_listen_owner: nobody  # domyślny właściciel nasłuchu php-fpm
php_fpm_listen_group: nobody  # domyślna grupa nasłuchu php-fpm

php_fpm_pool_conf_path: /etc/php-fpm.d  # katalog konfiguracyjny php-fpm

Zależności

Brak

Przykład Playbooka

- hosts: serwery
  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

Licencja

BSD/MIT

Informacje o autorze

Agnesius Santo Naibaho

O projekcie

Install PHP on Linux server

Zainstaluj
ansible-galaxy install cloudweeb.php
Licencja
mit
Pobrania
341
Właściciel