93 lines
2.7 KiB
YAML
93 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,g=rx,o=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,g=r,o=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,g=r,o=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,g=r,o=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
|