xoxys.nginx/tasks/install.yml

129 lines
3.2 KiB
YAML
Raw Normal View History

2017-07-15 15:45:46 +02:00
---
2017-12-23 12:30:23 +01:00
- block:
2017-12-24 17:45:37 +01:00
- name: Add nginx repository
2017-12-23 12:30:23 +01:00
yum_repository:
name: nginx
file: nginx
description: NGINX High Performance Web Server
2017-12-23 13:05:52 +01:00
baseurl: "https://nginx.org/packages/centos/{{ ansible_distribution_major_version }}/$basearch/"
2017-12-23 12:30:23 +01:00
gpgkey: https://nginx.org/keys/nginx_signing.key
gpgcheck: yes
2018-08-09 21:20:06 +02:00
when: nginx_official_repo_enabled
2017-12-23 12:30:23 +01:00
- name: Installing nginx
yum:
name: nginx
state: installed
2017-12-24 14:05:27 +01:00
- name: Create group '{{ nginx_group }}'
group:
name: "{{ nginx_group }}"
state: present
when: nginx_group != "nginx"
- name: Create user '{{ nginx_user }}'
user:
name: "{{ nginx_user }}"
group: "{{ nginx_group }}"
createhome: no
shell: /sbin/nologin
when: nginx_user != "nginx"
2017-12-23 12:30:23 +01:00
- name: Prepare vhost directories
file:
2018-08-09 21:20:06 +02:00
path: "{{ item }}"
2017-12-23 12:30:23 +01:00
state: directory
2018-10-22 09:49:42 +02:00
owner: "{{ nginx_user }}"
group: "{{ nginx_group }}"
2017-12-23 12:30:23 +01:00
mode: 0750
with_items:
2018-08-09 21:20:06 +02:00
- "{{ nginx_vhosts_dir }}"
- "{{ nginx_vhosts_dir }}/default"
2017-12-23 12:30:23 +01:00
- name: Prepare nginx directories
file:
2018-08-09 21:20:06 +02:00
path: "{{ item }}"
2017-12-23 12:30:23 +01:00
state: directory
owner: root
group: root
mode: 0640
with_items:
- /etc/nginx/sites-available
- /etc/nginx/sites-enabled
- name: Update nginx.conf
template:
2018-08-09 21:20:06 +02:00
src: etc/nginx/nginx.conf.j2
dest: "/etc/nginx/nginx.conf"
2017-12-23 12:30:23 +01:00
owner: root
group: root
mode: 0640
2017-12-24 17:36:43 +01:00
validate: /sbin/nginx -t -c %s
2018-08-12 11:31:12 +02:00
notify: __nginx_reload
2017-12-23 12:30:23 +01:00
- name: Remove default.conf from conf.d
file:
path: /etc/nginx/conf.d/default.conf
state: absent
2018-08-11 15:33:16 +02:00
- name: Update header.conf
2017-12-23 12:30:23 +01:00
template:
2018-08-11 14:59:43 +02:00
src: etc/nginx/conf.d/header.conf.j2
dest: /etc/nginx/conf.d/header.conf
2017-12-23 12:30:23 +01:00
owner: root
group: root
mode: 0640
2018-08-13 21:50:09 +02:00
validate: bash -c 'nginx -t -c /dev/stdin <<< "events {worker_connections 1;} http { include %s; }"'
2018-08-12 11:31:12 +02:00
notify: __nginx_reload
2017-12-23 12:30:23 +01: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'
when: nginx_iptables_enabled
2018-09-27 00:06:07 +02:00
- name: Set selinux booleans
seboolean:
name: "{{ item.name }}"
state: "{{ item.state }}"
persistent: "{{ item.persistent }}"
with_items: "{{ nginx_set_sebooleans }}"
2018-09-27 00:12:19 +02:00
when: nginx_set_sebooleans is defined
2017-12-23 12:30:23 +01:00
become: True
become_user: root
2017-12-22 21:31:20 +01:00
2018-08-12 11:31:12 +02:00
- block:
- name: Add default page
template:
src: var/www/vhosts/default/index.html.j2
dest: /var/www/vhosts/default/index.html
2018-10-22 09:49:42 +02:00
owner: "{{ nginx_user }}"
group: "{{ nginx_group }}"
2018-08-12 11:31:12 +02:00
mode: 0750
when: nginx_default_page_enabled
become: True
2018-10-22 09:49:42 +02:00
become_user: "{{ nginx_user }}"
2018-08-12 11:31:12 +02:00
2017-12-23 12:25:55 +01:00
- block:
2018-08-11 14:59:43 +02:00
- name: Add default page configuration file
template:
2018-08-12 21:42:13 +02:00
src: etc/nginx/sites-available/default.j2
dest: /etc/nginx/sites-available/default
2017-12-23 12:25:55 +01:00
owner: root
group: root
2018-08-11 14:59:43 +02:00
mode: 0640
2018-08-12 11:31:12 +02:00
notify: __nginx_reload
2017-12-23 12:25:55 +01:00
2018-08-11 14:59:43 +02:00
- name: Enable default page
file:
src: /etc/nginx/sites-available/default
dest: /etc/nginx/sites-enabled/default
2017-12-23 12:25:55 +01:00
owner: root
group: root
2018-08-11 14:59:43 +02:00
state: link
2018-08-12 11:31:12 +02:00
notify: __nginx_reload
2018-08-11 14:59:43 +02:00
when: nginx_default_page_enabled
2017-12-23 12:25:55 +01:00
become: True
become_user: root