63 lines
2.1 KiB
YAML
63 lines
2.1 KiB
YAML
---
|
|
|
|
- name: FILE | Create root folders (foreach nginx_vhosts)
|
|
file: >
|
|
path={{ nginx_root }}/{{ item.name[0] }}/public
|
|
state=directory
|
|
recurse=yes
|
|
owner={{ item.owner | default('www-data') }}
|
|
group={{ item.group | default('www-data') }}
|
|
mode={{ item.mode | default('0755') }}
|
|
with_items: nginx_vhosts
|
|
when: item.root is not defined
|
|
|
|
- name: TEMPLATE | Create vhosts
|
|
template: >
|
|
src=etc/nginx/sites-available/{{ item.template }}.j2
|
|
dest=/etc/nginx/sites-available/{{ item.name[0] }}
|
|
with_items: nginx_vhosts
|
|
notify: reload nginx
|
|
|
|
#- name: COPY | Add index.html / index.php
|
|
# copy: src={{ item }} dest={{ nginx_root }}/{{ item.name }}/public/{{ item }} owner=www-data group=www-data mode=0666
|
|
# with_fileglob: "web/*"
|
|
|
|
- name: FILE | Delete vhosts
|
|
file: dest=/etc/nginx/sites-enabled/{{ item.name[0] }} state=absent
|
|
file: dest=/etc/nginx/sites-available/{{ item.name[0] }} state=absent
|
|
with_items: nginx_vhosts
|
|
notify: reload nginx
|
|
when: item.delete is defined and item.delete
|
|
|
|
- name: FILE | Enable vhosts
|
|
file: >
|
|
src=/etc/nginx/sites-available/{{ item.name[0] }}
|
|
dest=/etc/nginx/sites-enabled/{{ item.name[0] }}
|
|
state=link
|
|
with_items: nginx_vhosts
|
|
notify: reload nginx
|
|
when: item.enabled is not defined or (item.enabled is defined and item.enabled)
|
|
|
|
- name: FILE | Disable vhosts
|
|
file: dest=/etc/nginx/sites-enabled/{{ item.name[0] }} state=absent
|
|
with_items: nginx_vhosts
|
|
notify: reload nginx
|
|
when: item.enabled is defined and not item.enabled
|
|
|
|
#- name: FILE | Create ssl dir per vhost (if needed)
|
|
# file: dest=/etc/nginx/ssl/{{ item.name }} owner=root mode=0750 state=directory
|
|
# with_items: nginx_vhosts
|
|
# when: item.ssl.use is defined and item.ssl.use
|
|
|
|
# TODO...
|
|
#- name: COPY | Deploy SSL keys if needed
|
|
# copy: src=keys/{{ item.name }}/{{ item.name }}.crt dest=/etc/nginx/ssl/{{ item.name }} mode=660
|
|
# copy: src=keys/{{ item.name }}/{{ item.name }}.key dest=/etc/nginx/ssl/{{ item.name }} mode=660
|
|
# with_items: nginx_vhosts
|
|
# when: item.ssl.use and not generatekey
|
|
|
|
# TODO:
|
|
# - deploy defaults files (index.html/index.php) allready in files/
|
|
# - work with role "ssl_autosign"
|
|
|