common/tasks/apache/install.yml

94 lines
2.7 KiB
YAML

---
- name: Install Apache
apt:
name: apache2
- name: Create directories for Apache configuration
file:
state: directory
path: '{{ item }}'
mode: 'u=rwx,go=rx'
owner: root
group: root
with_items:
- '{{ common__apache__conf_dir }}'
- '{{ common__apache__conf_available_dir }}'
- '{{ common__apache__conf_enabled_dir }}'
- '{{ common__apache__available_dir }}'
- '{{ common__apache__enabled_dir }}'
- '{{ common__apache__snippets_dir }}'
notify: common | Restart Apache
- name: Configure Apache ports
template:
src: templates/apache/ports.conf
dest: '{{ common__apache__conf_dir }}/ports.conf'
mode: 'u=rw,go=r'
owner: root
group: root
notify: common | Restart Apache
- name: Disable Apache logging
file:
state: absent
path: '{{ common__apache__conf_enabled_dir }}/other-vhosts-access-log.conf'
notify: common | Restart Apache
- name: Install Apache log config
copy:
src: 'files/apache/syslog.conf'
dest: '{{ common__apache__conf_available_dir }}/syslog.conf'
mode: 'u=rw,go=r'
owner: root
group: root
notify: common | Restart Apache
- name: Enable Apache log config
file:
state: link
src: '{{ common__apache__conf_available_dir }}/syslog.conf'
dest: '{{ common__apache__conf_enabled_dir }}/syslog.conf'
owner: root
group: root
notify: common | Restart Apache
- name: Disable directory listing
lineinfile:
path: '{{ common__apache__conf_dir }}/apache2.conf'
regexp: '^Options Indexes FollowSymLinks$'
line: 'Options FollowSymLinks'
notify: common | Restart Apache
- name: Remove Apache default site
file:
state: absent
path: '{{ common__apache__enabled_dir }}/000-default.conf'
when: common__apache__remove_default|bool
notify: common | Restart Apache
- name: Enable Apache modules
command: '/usr/sbin/a2enmod "{{ item }}"'
register: common__apache__enable_apache_modules_result
changed_when: >
common__apache__enable_apache_modules_result.stdout is search('Enabling module')
with_items: '{{ common__apache__modules }}'
notify: common | Restart Apache
- name: Add Apache sites
template:
src: 'templates/apache/{{ item.type }}.conf'
dest: '{{ common__apache__available_dir }}/{{ item.domain }}.conf'
mode: 'u=rw,go=r'
owner: root
group: root
with_items: '{{ common__apache__sites }}'
notify: common | Restart Apache
- name: Enable Apache sites
command: '/usr/sbin/a2ensite "{{ item.domain }}.conf"'
register: common__apache__enable_apache_sites_result
changed_when: >
common__apache__enable_apache_sites_result.stdout is search('Enabling site')
with_items: '{{ common__apache__sites }}'
notify: common | Restart Apache