96 lines
2.3 KiB
YAML
96 lines
2.3 KiB
YAML
---
|
|
- name: Install Apache, PHP and Icinga Web 2
|
|
ansible.builtin.apt:
|
|
name:
|
|
- apache2
|
|
- libapache2-mod-php
|
|
- php
|
|
- php-cli
|
|
- php-intl
|
|
- php-mysql
|
|
- php-gd
|
|
- php-curl
|
|
- php-mbstring
|
|
- php-xml
|
|
- icingaweb2
|
|
- icingacli
|
|
state: latest
|
|
|
|
- name: Ensure Icinga Web 2 config directories exist
|
|
ansible.builtin.file:
|
|
path: "{{ item }}"
|
|
state: directory
|
|
owner: www-data
|
|
group: icingaweb2
|
|
mode: '2770'
|
|
loop:
|
|
- /etc/icingaweb2
|
|
- /etc/icingaweb2/modules
|
|
- /etc/icingaweb2/modules/icingadb
|
|
- /etc/icingaweb2/modules/icingadb/config
|
|
|
|
- name: Configure Icinga Web resources
|
|
ansible.builtin.template:
|
|
src: resources.ini.j2
|
|
dest: /etc/icingaweb2/resources.ini
|
|
owner: www-data
|
|
group: icingaweb2
|
|
mode: '0660'
|
|
|
|
- name: Configure Icinga Web authentication
|
|
ansible.builtin.template:
|
|
src: authentication.ini.j2
|
|
dest: /etc/icingaweb2/authentication.ini
|
|
owner: www-data
|
|
group: icingaweb2
|
|
mode: '0660'
|
|
|
|
- name: Configure Icinga Web roles
|
|
ansible.builtin.template:
|
|
src: roles.ini.j2
|
|
dest: /etc/icingaweb2/roles.ini
|
|
owner: www-data
|
|
group: icingaweb2
|
|
mode: '0660'
|
|
|
|
- name: Create admin user password hash
|
|
ansible.builtin.command: "openssl passwd -1 {{ icingaweb_admin_password }}"
|
|
register: icingaweb_admin_hash
|
|
changed_when: false
|
|
no_log: true
|
|
|
|
- name: Configure local Icinga Web users
|
|
ansible.builtin.template:
|
|
src: users.ini.j2
|
|
dest: /etc/icingaweb2/users.ini
|
|
owner: www-data
|
|
group: icingaweb2
|
|
mode: '0660'
|
|
no_log: true
|
|
|
|
- name: Configure Icinga DB Web module database
|
|
ansible.builtin.template:
|
|
src: icingadb-config.ini.j2
|
|
dest: /etc/icingaweb2/modules/icingadb/config.ini
|
|
owner: www-data
|
|
group: icingaweb2
|
|
mode: '0660'
|
|
|
|
- name: Configure Icinga DB Web command transport
|
|
ansible.builtin.template:
|
|
src: icingadb-commandtransports.ini.j2
|
|
dest: /etc/icingaweb2/modules/icingadb/commandtransports.ini
|
|
owner: www-data
|
|
group: icingaweb2
|
|
mode: '0660'
|
|
|
|
- name: Enable Icinga DB Web module
|
|
ansible.builtin.command: icingacli module enable icingadb
|
|
args:
|
|
creates: /etc/icingaweb2/enabledModules/icingadb
|
|
|
|
- name: Enable and start Apache
|
|
ansible.builtin.systemd:
|
|
name: apache2
|
|
enabled: true
|
|
state: started
|