---
# install apache(httpd)
- name: Install apache (package)
  ansible.builtin.package:
    state: present
    name:
    - httpd
    - httpd-tools
  tags:
  - packages
  - apache
  when: ansible_cmdline.ostree is not defined

- name: Install mod_http2 on rhel8 hosts
  ansible.builtin.package:
    state: present
    name:
      - mod_http2
  tags:
  - packages
  - apache
  when: ansible_distribution_major_version|int >= 8 and ansible_distribution == 'RedHat'

- name: Set apache running/enabled
  service: name=httpd enabled=yes
  ignore_errors: true
  notify:
  - Reload apache
  tags:
  - service
  - apache

# install hash randomization hotfix
- name: Hotfix - copy over new httpd init script
  ansible.builtin.copy: src="{{ files }}/hotfix/httpd/httpd.init" dest=/etc/init.d/httpd
        owner=root group=root mode=0755
  when: ansible_distribution_major_version|int < 30 and ansible_distribution == 'Fedora'
  notify:
  - Reload apache
  tags:
  - config
  - hotfix
  - apache

# install hash randomization hotfix
- name: Hotfix - copy over new httpd init script
  ansible.builtin.copy: src="{{ files }}/hotfix/httpd/httpd.init" dest=/etc/init.d/httpd
        owner=root group=root mode=0755
  when: ansible_distribution_major_version|int <= 8 and ansible_distribution == 'RedHat'
  notify:
  - Reload apache
  tags:
  - config
  - hotfix
  - apache

- name: Add appserver headers.conf
  ansible.builtin.template: src="{{ files }}/httpd/headers.conf.j2" dest=/etc/httpd/conf.d/headers.conf
  notify:
  - Reload apache
  tags:
  - config
  - apache
  - apache/headers

- name: Add appserver h2.conf
  ansible.builtin.template: src="{{ files }}/httpd/h2.conf.j2" dest=/etc/httpd/conf.d/h2.conf
  when: ansible_distribution == 'Fedora'
  notify:
  - Reload apache
  tags:
  - config
  - apache
  - h2

- name: Add apache_status location for collectd
  ansible.builtin.template: src="{{ files }}/httpd/apachestatus.conf" dest=/etc/httpd/conf.d/apachestatus.conf
  notify:
  - Reload apache
  tags:
  - config
  - apache
  - apachestatus

- name: Setup logrotate to our needs
  ansible.builtin.template: src="{{ files }}/httpd/httpd.logrotate.j2" dest=/etc/logrotate.d/httpd
  tags:
  - config
  - apache
