119 lines
2.9 KiB
YAML
119 lines
2.9 KiB
YAML
---
|
|
|
|
- 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
|