--- - 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: 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"