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
|
2020-05-28 13:07:27 +02:00
|
|
|
|
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
|
|
|
|
|