68 lines
1.8 KiB
YAML
68 lines
1.8 KiB
YAML
- name: "Vhost setup"
|
|
hosts: webservers
|
|
become: true
|
|
vars_files:
|
|
- ./config/{{ inventory_hostname }}.yaml
|
|
- ./config/common.yaml
|
|
tasks:
|
|
- name: "Ensure ssl cert directory exists"
|
|
ansible.builtin.file:
|
|
path: /etc/ssl/certificates
|
|
state: directory
|
|
owner: root
|
|
group: root
|
|
mode: '0751'
|
|
|
|
- name: "Copy over certificates"
|
|
ansible.builtin.copy:
|
|
src: data/certificates/{{ item }}
|
|
dest: /etc/ssl/certificates
|
|
owner: root
|
|
group: root
|
|
mode: '0640'
|
|
loop:
|
|
- as205079.net.crt
|
|
- as205079.net.key
|
|
|
|
- name: "Create directories"
|
|
ansible.builtin.file:
|
|
path: "{{ item.root }}"
|
|
owner: www-data
|
|
group: www-data
|
|
mode: '0751'
|
|
state: directory
|
|
loop: "{{ nginx_vhosts | default([]) }}"
|
|
when: item.enabled | default(true) and item.root is defined
|
|
|
|
- name: "Create splash site"
|
|
ansible.builtin.copy:
|
|
dest: "/var/www/as205079-default/index.html"
|
|
content: |-
|
|
<h1>No website exists at this address.</h1>
|
|
<hr>
|
|
<p>Hosted on <a href="https://as205079.net">as205079<a/></p>
|
|
mode: '0640'
|
|
owner: www-data
|
|
group: www-data
|
|
|
|
- name: "Create as205079 site"
|
|
ansible.builtin.copy:
|
|
dest: "/var/www/as205079.net/index.html"
|
|
content: |-
|
|
<h1>Hello, world!</h1>
|
|
<hr>
|
|
<p>as205079 is a experimental ipv6-only network by <a href="https://mziesel.nl">Mans Ziesel</a></p>
|
|
mode: '0640'
|
|
owner: www-data
|
|
group: www-data
|
|
|
|
- name: "Webserver setup"
|
|
hosts: webservers
|
|
vars_files:
|
|
- ./config/{{ inventory_hostname }}.yaml
|
|
- ./config/common.yaml
|
|
become: true
|
|
roles:
|
|
# - base
|
|
- nginx
|