--- - hosts: all vars: vhost: 'test.local' php_extra_packages: - '{{ php_package_prefix }}pgsql' php_install_xdebug: true php_autoremove_default_pool: true php_ini_fpm: display_errors: 'Off' php_ini_cli: error_reporting: 'E_ALL' php_fpm_poold: - pool_name: 'test_ansible' listen: '/run/php/php-ansible1.sock' pm: 'dynamic' pm_max_children: 250 pm_start_servers: 10 pm_min_spare_servers: 10 pm_max_spare_servers: 20 status_path: '/status' ping_path: '/ping' ping_response: 'ok' - name: 'test_ansible2' user: 'foo' php_value: display_errors: 'Off' php_admin_value: memory_limit: '98M' pre_tasks: - name: INCLUDE_TASKS | Pre tasks related to OS include_tasks: "includes/pre_{{ ansible_os_family }}.yml" - name: USER | Create PHP user user: name: 'foo' system: true create_home: false shell: '/usr/sbin/nologin' tasks: - name: TEMPLATE | Nginx site config template: src: "templates/nginx.conf.j2" dest: "{{ __nginx_conf }}" notify: reload nginx - name: COMMAND | Fix nginx config command: "cp {{ __nginx_conf | dirname }}/fastcgi_params {{ __nginx_conf | dirname }}/fastcgi.conf" args: creates: "{{ __nginx_conf | dirname }}/fastcgi.conf" notify: reload nginx - name: LINEINFILE | Fix nginx config (second step) lineinfile: regexp: '^fastcgi_param\s+SCRIPT_FILENAME' line: "fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;" dest: "{{ __nginx_conf | dirname }}/fastcgi.conf" notify: reload nginx - name: SERVICE | Ensure nginx is started service: name: nginx state: started when: ansible_virtualization_type != 'docker' - block: - name: COMMAND | Docker nginx status command: service nginx status args: warn: false changed_when: false failed_when: false register: ngs - name: COMMAND | Docker start nginx command: service nginx start args: warn: false when: ngs.stdout.find('nginx is not running') != -1 when: ansible_virtualization_type == 'docker' handlers: - name: reload nginx service: name: nginx state: reloaded notify: docker reload nginx - name: docker reload nginx command: service nginx reload args: warn: false notify: docker reload nginx when: ansible_virtualization_type == 'docker' roles: - ../../ post_tasks: - name: SHELL | Test php-cli shell: php -i | grep '^PHP Version => {{ php_version }}' | head -n 1 changed_when: false register: p failed_when: p.stdout == '' - name: FILE | Create /var/www file: dest: /var/www state: directory - name: COPY | Add phpinfo copy: dest: /var/www/phpinfo.php content: ' /dev/null | grep h1 | grep -o 'PHP Version {{ php_version }}' | sed -r 's/ /dev/null" args: warn: false changed_when: false register: c failed_when: 'php_fpm_poold.1.php_admin_value.memory_limit not in c.stdout' - name: URI | Check ping uri: url: "http://localhost{{ php_fpm_poold.0.ping_path }}" when: php_fpm_poold.0.ping_path is defined - name: URI | Check status uri: url: "http://localhost{{ php_fpm_poold.0.status_path }}" when: php_fpm_poold.0.status_path is defined