nginx/tasks/configure-vhost.yml

108 lines
2.6 KiB
YAML
Raw Normal View History

2020-05-28 09:41:32 +02:00
---
- name: Ensure nginx is started
service:
name: nginx
state: started
enabled: true
ignore_errors: true
register: nginx_started
2020-05-28 10:31:53 +02:00
tags:
- vhost
2020-05-28 09:41:32 +02:00
- name: Nginx started failed | Delete file for repair nginx
file:
state: absent
path: "/etc/nginx/sites-enabled/"
when: nginx_started is failed
2020-05-28 10:31:53 +02:00
tags:
- vhost
2020-05-28 09:41:32 +02:00
- name: Nginx started failed | recreate folder for repair nginx
file:
state: directory
path: "/etc/nginx/sites-enabled/"
when: nginx_started is failed
2020-05-28 10:31:53 +02:00
tags:
- vhost
2020-05-28 09:41:32 +02:00
- name: Nginx started failed | create default link for repair nginx
file:
src: "/etc/nginx/sites-available/default"
dest: "/etc/nginx/sites-enabled/default"
state: link
when: nginx_started is failed
2020-05-28 10:31:53 +02:00
tags:
- vhost
2020-05-28 09:41:32 +02:00
- name: Nginx started failed | Restart Nginx
service:
name: nginx
state: started
when: nginx_started is failed
2020-05-28 10:31:53 +02:00
tags:
- vhost
2020-05-28 09:41:32 +02:00
2020-05-28 12:53:22 +02:00
- name: "Add Vhost"
2020-05-28 09:41:32 +02:00
template:
2020-05-28 10:41:36 +02:00
src: "vhosts/{{ item.template }}.j2"
2020-05-28 09:41:32 +02:00
dest: "/etc/nginx/sites-available/{{ item.name }}"
when:
2020-05-28 17:11:59 +02:00
- item.state == "present" or item.state is not defined
notify:
- Reload Nginx
2020-05-28 13:00:16 +02:00
loop: "{{ nginx_vhost }}"
tags:
- vhost
2020-06-02 11:49:17 +02:00
register: vhost_changed
2020-06-02 10:47:26 +02:00
- name: "Create certificate"
2021-10-22 19:57:51 +02:00
shell: "certbot certonly --non-interactive --webroot --email {{ nginx_letsencrypt_email }} --agree-tos --webroot-path=/var/www/letsencrypt {% for domain in item.server_name %} -d {{ domain }} {% endfor %} --expand --key-type ecdsa --elliptic-curve sec p384r1;"
2020-06-02 10:47:26 +02:00
when:
- item.ssl
- item.letsencrypt
- item.state == "present" or item.state is not defined
2020-06-02 16:15:22 +02:00
- vhost_changed.changed
2020-06-02 10:47:26 +02:00
loop: "{{ nginx_vhost }}"
tags:
- vhost
2020-07-20 09:44:35 +02:00
- name: "Create robots.txt's folder"
file:
path: "/var/www/{{ item.server_name[0] }}"
state: directory
recurse: yes
owner: www-data
group: www-data
loop: "{{ nginx_vhost }}"
when:
- item.state == "present" or item.state is not defined
2020-07-20 11:08:54 +02:00
- item.robotstxt is defined and item.robotstxt == true
2020-07-20 09:44:35 +02:00
tags:
- vhost
- name: "Add robots.txt"
template:
2020-07-20 11:08:54 +02:00
src: "robots.txt/robots.txt.j2"
2020-07-20 09:44:35 +02:00
dest: "/var/www/{{ item.server_name[0] }}/robots.txt"
when:
2020-07-20 11:08:54 +02:00
- item.robotstxt is defined and item.robotstxt == true
2020-07-20 09:44:35 +02:00
- item.state == "present" or item.state is not defined
loop: "{{ nginx_vhost }}"
tags:
- vhost
2020-05-28 13:00:16 +02:00
- name: "Enable vhost"
file:
src: "/etc/nginx/sites-available/{{ item.name }}"
dest: "/etc/nginx/sites-enabled/{{ item.name }}"
state: link
when:
2020-05-28 17:11:59 +02:00
- item.state == "present" or item.state is not defined
2020-05-28 12:53:22 +02:00
notify:
- Reload Nginx
2020-05-28 10:41:36 +02:00
loop: "{{ nginx_vhost }}"
2020-05-28 10:31:53 +02:00
tags:
- vhost
2020-06-02 10:47:26 +02:00
when: vhost_changed.changed
2020-05-28 09:41:32 +02:00