--- - 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 }}' - 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 directory listing lineinfile: path: '{{ common__apache__conf_dir }}/apache2.conf' regexp: '^Options Indexes FollowSymLinks$' line: 'Options FollowSymLinks' 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: 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