--- - name: Install nginx apt: name: nginx state: latest update_cache: true - name: Start nginx service service: name: nginx state: started # not great if user already has the correct configs - name: Remove pre-existing sites-available and sites-enabled file: state: absent path: "{{item}}" loop: - /etc/nginx/sites-available - /etc/nginx/sites-enabled - name: Copy nginx config files copy: src: "{{role_path}}/templates/{{item.src}}" dest: "/etc/nginx/{{item.dest}}" loop: - {src: nginx.conf, dest: nginx.conf} - {src: mime.types, dest: mime.types} - {src: includes, dest: ""} - {src: sites-available, dest: ""} - name: Make new sites-enabled file: path: /etc/nginx/sites-enabled state: directory - name: Find all files in sites-available find: paths: /etc/nginx/sites-available register: sites - name: Link to sites-enabled file: src: "{{item.path}}" path: "/etc/nginx/sites-enabled/{{item.path|basename}}" state: link with_items: "{{sites.files}}" # restart nginx service