--- - name: Install NGINX apt: update_cache: true name: nginx register: apt_result retries: 3 until: apt_result is succeeded - name: Copy proxypass snippets template: src: nginx/snippets/options-proxypass.conf.j2 dest: /etc/nginx/snippets/options-proxypass.conf owner: root group: root mode: 0644 - name: Copy SSL snippets template: src: nginx/snippets/options-ssl.conf.j2 dest: /etc/nginx/snippets/options-ssl.{{ item.name }}.conf owner: root group: root mode: 0644 loop: "{{ nginx.ssl }}" - name: Disable default site file: dest: /etc/nginx/sites-enabled/default state: absent - name: Copy reverse proxy sites when: reverseproxy is defined template: src: nginx/sites-available/{{ item }}.j2 dest: /etc/nginx/sites-available/{{ item }} owner: root group: root mode: 0644 loop: - reverseproxy - reverseproxy_redirect_dname - redirect notify: Reload nginx - name: Create log directories file: path: /var/log/nginx/{{ item.from }} state: directory mode: 0755 owner: root with_items: - "{{ reverseproxy.reverseproxy_sites }}" - name: Activate reverse proxy sites when: reverseproxy is defined file: src: /etc/nginx/sites-available/{{ item }} dest: /etc/nginx/sites-enabled/{{ item }} owner: root group: root state: link loop: - reverseproxy - reverseproxy_redirect_dname - redirect notify: Reload nginx ignore_errors: "{{ ansible_check_mode }}" - name: Copy service nginx configuration when: nginx.servers is defined and nginx.servers|length > 0 template: src: nginx/sites-available/service.j2 dest: /etc/nginx/sites-available/{{ nginx.service_name }} owner: root group: root mode: 0644 notify: Reload nginx - name: Activate local nginx service site when: nginx.servers is defined and nginx.servers|length > 0 file: src: /etc/nginx/sites-available/{{ nginx.service_name }} dest: /etc/nginx/sites-enabled/{{ nginx.service_name }} owner: root group: root state: link notify: Reload nginx ignore_errors: "{{ ansible_check_mode }}" - name: Copy 50x error page template: src: www/html/50x.html.j2 dest: /var/www/html/50x.html owner: www-data group: www-data mode: 0644 - name: Copy robots.txt file when: nginx.deploy_robots_file template: src: www/html/robots.txt.j2 dest: /var/www/html/robots.txt owner: www-data group: www-data mode: 0644 - name: Install passwords when: nginx.auth_passwd|length > 0 template: src: nginx/passwd.j2 dest: /etc/nginx/passwd mode: 0644 - name: Copy 401 error page when: nginx.auth_passwd|length > 0 template: src: www/html/401.html.j2 dest: /var/www/html/401.html owner: www-data group: www-data mode: 0644 - name: Indicate role in motd template: src: update-motd.d/05-service.j2 dest: /etc/update-motd.d/05-nginx mode: 0755 - name: Clean old files file: path: "{{ item }}" state: absent loop: - /etc/nginx/snippets/options-ssl.conf - /var/www/custom_401.html - /var/www/robots.txt