xoxys.nginx/tasks/config.yml

132 lines
2.7 KiB
YAML
Raw Normal View History

2017-07-15 15:45:46 +02:00
---
- name: Enable nginx service
service:
name: nginx
enabled: yes
state: started
2017-07-15 17:24:48 +02:00
2017-07-15 18:32:35 +02:00
- name: Prepare vhost directories
2017-07-15 17:24:48 +02:00
file:
2017-07-15 17:55:20 +02:00
path: '{{ item }}'
2017-07-15 17:24:48 +02:00
state: directory
owner: nginx
group: nginx
mode: 0750
2017-07-15 17:54:35 +02:00
with_items:
- /var/www/vhosts
- /var/www/vhosts/default
2017-07-15 17:24:48 +02:00
2017-07-15 18:32:35 +02:00
- name: Prepare nginx directories
file:
path: '{{ item }}'
state: directory
owner: root
group: root
mode: 0640
with_items:
- /etc/nginx/sites-available
- /etc/nginx/sites-enabled
2017-07-15 17:49:44 +02:00
- name: Add default page
template:
2017-07-15 17:52:19 +02:00
src: 'var/www/vhosts/default/index.html.j2'
2017-07-15 17:56:47 +02:00
dest: '/var/www/vhosts/default/index.html'
2017-07-15 17:49:44 +02:00
owner: nginx
group: nginx
mode: 0750
2017-07-15 17:24:48 +02:00
- name: Update nginx.conf
template:
src: 'etc/nginx/nginx.conf.j2'
dest: '/etc/nginx/nginx.conf'
owner: root
group: root
mode: 0640
notify:
2017-07-15 22:36:00 +02:00
- nginx_reload
2017-07-15 17:24:48 +02:00
- name: Update conf.d files
template:
src: 'etc/nginx/conf.d/{{ item }}.j2'
dest: '/etc/nginx/conf.d/{{ item }}'
owner: root
group: root
mode: 0640
with_items:
- header.conf
2017-07-15 22:35:00 +02:00
- tls.conf
2017-07-15 17:24:48 +02:00
notify:
2017-07-15 22:36:00 +02:00
- nginx_reload
2017-07-15 17:39:52 +02:00
2017-07-15 18:45:21 +02:00
- name: Remove default.conf from conf.d
file:
2017-07-15 18:48:34 +02:00
path: /etc/nginx/conf.d/default.conf
2017-07-15 18:45:21 +02:00
state: absent
2017-07-15 18:32:35 +02:00
- name: Add default page config
template:
2017-07-15 18:34:48 +02:00
src: 'etc/nginx/sites-available/default.j2'
dest: '/etc/nginx/sites-available/default'
2017-07-15 18:32:35 +02:00
owner: root
group: root
mode: 0640
- name: Enable default page
file:
src: /etc/nginx/sites-available/default
dest: /etc/nginx/sites-enabled/default
owner: root
group: root
state: link
notify:
2017-07-15 22:36:00 +02:00
- nginx_reload
2017-07-15 18:32:35 +02:00
2017-07-15 22:33:16 +02:00
- name: Copy ssl chained certs
copy:
content: '{{ ssl_chained_cert }}'
dest: /etc/pki/tls/certs/my-chained.crt
owner: root
group: root
mode: 0644
2017-07-15 22:35:00 +02:00
notify:
2017-07-15 22:36:00 +02:00
- nginx_reload
2017-07-15 22:33:16 +02:00
- name: Copy ssl intermediate cert
copy:
content: '{{ ssl_intermediate_cert }}'
dest: /etc/pki/tls/certs/my-intermediate.crt
owner: root
group: root
mode: 0644
2017-07-15 22:35:00 +02:00
notify:
2017-07-15 22:36:00 +02:00
- nginx_reload
2017-07-15 22:33:16 +02:00
- name: Copy ssl private key
copy:
content: '{{ ssl_priv_key }}'
dest: /etc/pki/tls/private/my-private.key
owner: root
group: root
mode: 0600
2017-07-15 22:35:00 +02:00
notify:
2017-07-15 22:36:00 +02:00
- nginx_reload
2017-07-15 22:33:16 +02:00
2017-07-15 23:01:47 +02:00
- name: register dhparam file
stat:
path: "{{ dhparam_file }}"
register: dh_file
- name: Generate Diffie-Hellman parameter file
shell: "/usr/bin/openssl dhparam -out '{{ dhparam_file }}' {{ dhparam_size }}"
async: 3600
poll: 60
2017-07-16 12:31:12 +02:00
when: dh_file.stat.exists == 'false'
notify:
- nginx_reload
2017-07-15 23:01:47 +02:00
2017-07-15 17:39:52 +02:00
- name: Open ports in iptables
iptables_raw:
name: allow_nginx_ports
state: present
rules: '-A INPUT -p tcp -m multiport --dports {{ nginx_open_ports|join(",") }} -j ACCEPT'