templates/ansible/roles/nginx/tasks/main.yml
---
- name: Install nginx
apt: name=nginx
tags: nginx
- name: Disable default nginx site
file: path=/etc/nginx/sites-enabled/default state=absent
notify: restart nginx
tags: nginx
- name: Copy nginx configuration
template: src={{ server_type }}.conf.j2 dest=/etc/nginx/sites-available/{{ server_name }}.conf
notify: restart nginx
tags: nginx
- name: Symlink nginx configuration
file: src=/etc/nginx/sites-available/{{ server_name }}.conf dest=/etc/nginx/sites-enabled/{{ server_name }}.conf state=link
notify: restart nginx
tags: nginx
- name: Create nginx.conf
template: src=nginx.conf.j2 dest=/etc/nginx/nginx.conf
notify: restart nginx
tags: nginx
- name: Create certificates directory
file: path={{ ssl_certificate_path|dirname }} recurse=yes state=directory
tags: nginx
- name: Create self-signed SSL cert
command: openssl req -new -nodes -x509 -subj "/C=US/ST=California/L=MountainView/O=IT/CN=${server_name}" -days 3650 -keyout {{ ssl_certificate_key_path }} -out {{ ssl_certificate_path }} -extensions v3_ca creates={{ ssl_certificate_path }}
notify: restart nginx
tags: nginx