--- # Variable setup. - name: Include OS-specific variables. include_vars: "{{ ansible_os_family }}.yml" - name: Define nginx_user. set_fact: nginx_user: "{{ __nginx_user }}" when: nginx_user is not defined # Setup/install tasks. - include_tasks: setup-RedHat.yml when: ansible_os_family == 'RedHat' - include_tasks: setup-Ubuntu.yml when: ansible_distribution == 'Ubuntu' - include_tasks: setup-Debian.yml when: ansible_os_family == 'Debian' - include_tasks: setup-FreeBSD.yml when: ansible_os_family == 'FreeBSD' - include_tasks: setup-OpenBSD.yml when: ansible_os_family == 'OpenBSD' - include_tasks: setup-Archlinux.yml when: ansible_os_family == 'Archlinux' # Vhost configuration. - import_tasks: vhosts.yml # Nginx setup. - name: Copy nginx configuration in place. template: src: "{{ nginx_conf_template }}" dest: "{{ nginx_conf_file_path }}" owner: root group: "{{ root_group }}" mode: "0644" notify: - reload nginx - name: Copy configuration file for realip template: src: "realip.conf.j2" dest: "{{ nginx_conf_path }}/realip.conf" owner: root group: "{{ root_group }}" mode: "0644" notify: - reload nginx when: nginx_realIP_Proxy - name: Apply logrotate file template: dest: /etc/logrotate.d/nginx src: logrotate/nginx.j2 - name: create nginx config ssl file template: mode: 0750 dest: "{{ nginx_conf_path }}/{{ nginx_ssl_cert_name }}.ssl" src: nginx_ssl_config.j2 when: nginx_ssl_cert_name is defined - name: Ensure nginx is started and enabled to start at boot. service: name: nginx state: started enabled: yes