133 lines
2.9 KiB
YAML
133 lines
2.9 KiB
YAML
---
|
|
- name: Remove nginx apt signing key from apt-key
|
|
ansible.builtin.apt_key:
|
|
id: "053473772654754373614404074646527257655730117366337542"
|
|
state: absent
|
|
tags:
|
|
- packages
|
|
- nginx
|
|
|
|
- name: Download nginx apt signing key
|
|
ansible.builtin.get_url:
|
|
url: https://nginx.org/keys/nginx_signing.key
|
|
dest: /usr/share/keyrings/nginx_signing.key
|
|
owner: root
|
|
group: root
|
|
mode: "0644"
|
|
checksum: sha256:55385da31d198fa6a5012d40ae98ecb272a6c4e8fffffba94719ffd3e87de37a
|
|
register: download_nginx_signing_key
|
|
tags:
|
|
- packages
|
|
- nginx
|
|
|
|
- name: Add nginx.org repo
|
|
ansible.builtin.template:
|
|
src: nginx_org_sources.list.j2
|
|
dest: /etc/apt/sources.list.d/nginx_org_sources.list
|
|
owner: root
|
|
group: root
|
|
mode: "0644"
|
|
register: add_nginx_apt_repository
|
|
tags:
|
|
- nginx
|
|
- packages
|
|
|
|
- name: Update apt cache
|
|
ansible.builtin.apt: # noqa no-handler
|
|
update_cache: true
|
|
when: (download_nginx_signing_key.status_code is defined and download_nginx_signing_key.status_code == 200) or add_nginx_apt_repository is changed
|
|
|
|
- name: Install nginx
|
|
ansible.builtin.apt:
|
|
pkg: nginx
|
|
cache_valid_time: 3600
|
|
state: present
|
|
tags:
|
|
- nginx
|
|
- packages
|
|
|
|
- name: Copy nginx.conf
|
|
ansible.builtin.template:
|
|
src: nginx.conf.j2
|
|
dest: /etc/nginx/nginx.conf
|
|
mode: "0644"
|
|
owner: root
|
|
group: root
|
|
notify:
|
|
- reload nginx
|
|
tags: nginx
|
|
|
|
- name: Copy extra nginx configs
|
|
ansible.builtin.copy:
|
|
src: "{{ item }}"
|
|
dest: /etc/nginx/{{ item }}
|
|
mode: "0644"
|
|
owner: root
|
|
group: root
|
|
loop:
|
|
- extra-security.conf
|
|
- fastcgi_cache
|
|
notify:
|
|
- reload nginx
|
|
tags: nginx
|
|
|
|
- name: Remove default nginx vhost
|
|
ansible.builtin.file:
|
|
path: /etc/nginx/conf.d/default.conf
|
|
state: absent
|
|
tags: nginx
|
|
|
|
- name: Create fastcgi cache dir
|
|
ansible.builtin.file:
|
|
path: /var/cache/nginx/cached/fastcgi
|
|
state: directory
|
|
owner: nginx
|
|
group: nginx
|
|
mode: "0755"
|
|
tags: nginx
|
|
|
|
- name: Configure nginx virtual hosts
|
|
ansible.builtin.include_tasks: vhosts.yml
|
|
when: nginx_vhosts is defined
|
|
tags: nginx
|
|
|
|
- name: Configure WordPress
|
|
ansible.builtin.include_tasks: wordpress.yml
|
|
when: nginx_vhosts is defined
|
|
tags: wordpress
|
|
|
|
- name: Configure blank nginx vhost
|
|
ansible.builtin.template:
|
|
src: blank-vhost.conf.j2
|
|
dest: "{{ nginx_confd_path }}/blank-vhost.conf"
|
|
mode: "0644"
|
|
owner: root
|
|
group: root
|
|
notify:
|
|
- reload nginx
|
|
tags: nginx
|
|
|
|
- name: Configure munin vhost
|
|
ansible.builtin.copy:
|
|
src: munin.conf
|
|
dest: /etc/nginx/conf.d/munin.conf
|
|
mode: "0644"
|
|
owner: root
|
|
group: root
|
|
notify:
|
|
- reload nginx
|
|
tags: nginx
|
|
|
|
- name: Start and enable nginx service
|
|
ansible.builtin.systemd:
|
|
name: nginx
|
|
state: started
|
|
enabled: true
|
|
tags: nginx
|
|
|
|
- name: Configure Let's Encrypt
|
|
ansible.builtin.include_tasks: letsencrypt.yml
|
|
tags: letsencrypt
|
|
|
|
# vim: set ts=2 sw=2:
|