--- - name: APT_REPOSITORY | Install backports apt_repository: repo: 'deb http://httpredir.debian.org/debian {{ ansible_distribution_release }}-backports main' state: present when: nginx_backports - block: - name: APT | Install DotDeb key apt_key: url: 'http://www.dotdeb.org/dotdeb.gpg' state: present - name: APT_REPOSITORY | Install dotdeb (PHP 7) apt_repository: repo: 'deb http://packages.dotdeb.org {{ ansible_distribution_release }} all' state: present - name: LINEFILEFILE | Dotdeb priority (prevent install nginx from dotdeb) copy: content: "Package: *\nPin: release o=packages.dotdeb.org\nPin-Priority: 100" dest: /etc/apt/preferences when: ansible_distribution_release == 'jessie' and dotdeb | default(false) - block: - name: APT | Install apt-transport-https apt: pkg: apt-transport-https update_cache: yes cache_valid_time: 3600 - name: APT_KEY | Install GPG key apt_key: url: 'https://packages.sury.org/php/apt.gpg' - name: APT_REPOSITORY | Add APT repository apt_repository: repo: 'deb https://packages.sury.org/php {{ ansible_distribution_release }} main' when: sury | default(false) - name: APT | Install needed packages apt: pkg: "{{ item }}" update_cache: yes cache_valid_time: 3600 state: present with_items: - cron - curl - fcgiwrap - jq - nghttp2 - strace - vim - unzip - name: APT | Install daemonize from Stretch apt: deb: http://ftp.us.debian.org/debian/pool/main/d/daemonize/daemonize_1.7.7-1+b1_amd64.deb - name: APT | Install PHP apt: pkg: "{{ item.version | php_fpm_package }}" update_cache: yes cache_valid_time: 3600 state: present with_items: "{{ nginx_php }}" register: apt_php - name: SERVICE | Force start fcgiwrap service: name: "fcgiwrap" state: started # Bypasses Ansible 2.4 issue (cannot use service module)... With service module... php is not really started! - name: COMMAND | Force start PHP command: "service {{ item.version | php_fpm_service }} start" with_items: "{{ nginx_php }}" when: apt_php.changed - name: GET_URL | Download ngrok get_url: url: "https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-amd64.zip" dest: "/tmp/ngrok.zip" - name: UNARCHIVE | Uncompress ngrok unarchive: src: "/tmp/ngrok.zip" dest: "/tmp" remote_src: yes - name: SHELL | Check if ngrok is started shell: ps aux | grep -q [n]grok register: psngrok changed_when: false failed_when: false - block: - name: SHELL | Start ngrok shell: daemonize /tmp/ngrok http 8888 -bind-tls=false - name: WAIT_FOR | ngrok started wait_for: delay: 2 port: 4040 when: psngrok.rc > 0 - name: SHELL | Get ngrok public address shell: curl 'http://127.0.0.1:4040/api/tunnels/command_line' | jq '.public_url' | grep -oE '[[:alnum:]]+\.ngrok\.io' register: ngrok changed_when: false