--- - name: Install NGINX apt: update_cache: true name: nginx register: apt_result retries: 3 until: apt_result is succeeded - name: Copy snippets template: src: "nginx/snippets/{{ item }}.j2" dest: "/etc/nginx/snippets/{{ item }}" owner: root group: root mode: 0644 loop: - options-ssl.conf - options-proxypass.conf - name: Copy dhparam template: src: letsencrypt/dhparam.j2 dest: /etc/letsencrypt/dhparam owner: root group: root mode: 0644 - name: Disable default site file: dest: "/etc/nginx/sites-enabled/default" state: absent - name: Copy reverse proxy sites when: nginx.reverseproxy_sites is defined or nginx.redirect_sites 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: nginx.reverseproxy_sites is defined or nginx.redirect_sites 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: Indicate role in motd template: src: update-motd.d/05-service.j2 dest: /etc/update-motd.d/05-nginx mode: 0755 - 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