- name: Record (initial) disk space used shell: df -B1 --output=used / | tail -1 register: df1 - name: "Install packages: python3-dateutil, python3-jinja2" package: name: - python3-dateutil - python3-jinja2 state: present - name: mkdir /opt/iiab/captiveportal for scripts & templates, set owner to {{ apache_user }} file: path: /opt/iiab/captiveportal state: directory owner: "{{ apache_user }}" - name: mkdir /var/log/captiveportal for logs, set ownership {{ apache_user }}:{{ apache_user }}, set mode '0750' file: path: /var/log/captiveportal state: directory owner: "{{ apache_user }}" group: "{{ apache_user }}" mode: '0750' # Same as /var/log/apache2 - name: "Install 3 scripts from template: /opt/iiab/captiveportal/checkurls, /usr/sbin/iiab-divert-to-nginx, /usr/sbin/iiab-make-cp-servers.py" template: src: "{{ item.src }}" dest: "{{ item.dest }}" mode: "{{ item.mode }}" with_items: - { src: roles/captiveportal/templates/checkurls, dest: /opt/iiab/captiveportal/, mode: '0644' } - { src: roles/captiveportal/templates/iiab-divert-to-nginx.j2, dest: /usr/sbin/iiab-divert-to-nginx, mode: '0755' } - { src: roles/captiveportal/templates/iiab-make-cp-servers.py, dest: /usr/sbin/, mode: '0755' } - name: Install /opt/iiab/captiveportal/capture-wsgi.py from template, mode '0755' (creates the server) template: src: capture-wsgi.py.j2 dest: /opt/iiab/captiveportal/capture-wsgi.py mode: '0755' - name: Copy files {simple.template, mac.template} into /opt/iiab/captiveportal/ copy: src: "{{ item }}" dest: /opt/iiab/captiveportal/ with_items: - simple.template - mac.template - name: Run /usr/sbin/iiab-make-cp-servers.py to generate NGINX servers from /opt/iiab/captiveportal/checkurls input list (creates /etc/nginx/sites-available/capture.conf) command: /usr/sbin/iiab-make-cp-servers.py args: creates: /etc/nginx/sites-available/capture.conf # RECORD Captive Portal AS INSTALLED - name: Record (final) disk space used shell: df -B1 --output=used / | tail -1 register: df2 - name: Add 'captiveportal_disk_usage = {{ df2.stdout|int - df1.stdout|int }}' to {{ iiab_ini_file }} ini_file: path: "{{ iiab_ini_file }}" # /etc/iiab/iiab.ini section: captiveportal option: captiveportal_disk_usage value: "{{ df2.stdout|int - df1.stdout|int }}" - name: "Set 'captiveportal_installed: True'" set_fact: captiveportal_installed: True - name: "Add 'captiveportal_installed: True' to {{ iiab_state_file }}" lineinfile: path: "{{ iiab_state_file }}" # /etc/iiab/iiab_state.yml regexp: '^captiveportal_installed' line: 'captiveportal_installed: True'