ansible-collection-webserver/roles/apache2/tasks/config.yml

51 lines
1.5 KiB
YAML
Raw Normal View History

2021-04-26 00:07:37 +02:00
---
- name: enable apache2 modules
community.general.apache2_module:
name: "{{ item }}"
loop: "{{ apache2_modules }}"
notify: restart apache2
2021-04-26 00:39:52 +02:00
- meta: flush_handlers
2021-04-26 00:07:37 +02:00
- name: check for tls keypair existence
stat:
path: "{{ item }}"
follow: yes
loop: |
{%- set files = [] -%}
{%- for name, site in apache2_sites | dict2items -%}
{%- if site.https_enabled | default(apache2_vhost_https_enabled) -%}
{%- endif -%}
{%- set _x = files.append(site.tls_certfile | default(apache2_tls_certfile)) -%}
{%- set _x = files.append(site.tls_keytfile | default(apache2_tls_keyfile)) -%}
{%- endfor -%}
{{- files | unique | list -}}
register: apache2_register_stat_tls_keypairs
- name: render apache site configs
template:
src: etc/apache2/sites-available/site.conf.j2
dest: "/etc/apache2/sites-available/{{ item.key }}.conf"
owner: root
group: root
mode: 0644
vars:
name: "{{ item.key }}"
site: "{{ item.value }}"
certfile_exists: "{{ apache2_register_stat_tls_keypairs[item.value.tls_certfile | default(apache2_tls_certfile)].stat.exists }}"
keyfile_exists: "{{ apache2_register_stat_tls_keypairs[item.value.tls_keyfile | default(apache2_tls_keyfile)].stat.exists }}"
loop: "{{ apache2_sites | dict2items }}"
notify: reload apache2
- name: enable apache2 sites
file:
path: "/etc/apache2/sites-enabled/{{ item }}.conf"
state: link
src: "../sites-available/{{ item }}.conf"
owner: root
group: root
mode: 0777
loop: "{{ apache2_sites }}"
notify: reload apache2