- name: Set mailman site root fact set_fact: mm_site_root: "/srv/mailman/{{ mailman_site.name }}" cacheable: no - name: Create mm site dirs file: path: "{{ inner_site_dir }}" state: directory owner: list group: list mode: '2775' loop: - "{{ mm_site_root }}/" - "{{ mm_site_root }}/etc" - "{{ mm_site_root }}/lists" - "{{ mm_site_root }}/logs" - "{{ mm_site_root }}/locks" - "{{ mm_site_root }}/data" - "{{ mm_site_root }}/spam" - "{{ mm_site_root }}/mail" - "{{ mm_site_root }}/run" - "{{ mm_site_root }}/archives" - "{{ mm_site_root }}/archives/public" - "{{ mm_site_root }}/archives/private" - "{{ mm_site_root }}/templates" - "{{ mm_site_root }}/qfiles" - "{{ mm_site_root }}/qfiles/in" - "{{ mm_site_root }}/qfiles/out" - "{{ mm_site_root }}/qfiles/commands" - "{{ mm_site_root }}/qfiles/bounces" - "{{ mm_site_root }}/qfiles/news" - "{{ mm_site_root }}/qfiles/archive" - "{{ mm_site_root }}/qfiles/shunt" - "{{ mm_site_root }}/qfiles/virgin" - "{{ mm_site_root }}/qfiles/bad" - "{{ mm_site_root }}/qfiles/retry" - "{{ mm_site_root }}/qfiles/maildir" loop_control: loop_var: inner_site_dir - name: Link html templates into site file: state: link src: "/usr/share/mailman/{{ site_language }}" dest: "{{ mm_site_root }}/templates/{{ site_language }}" owner: root group: root loop: "{{ mailman_site.install_languages }}" loop_control: loop_var: site_language - name: Create openstack specific en templates dir file: state: directory path: /srv/mailman/openstack/templates/en owner: root group: list mode: '0755' when: mailman_site.name == "openstack" - name: Copy openstack specific en templates into site synchronize: src: openstack/html-templates-en/ dest: /srv/mailman/openstack/templates/en rsync_opts: - "--usermap=*:root" - "--groupmap=*:list" when: mailman_site.name == "openstack" - name: Create site specific config template: src: mm_site_cfg.py.j2 dest: "{{ mm_site_root }}/etc/mm_cfg_local.py" owner: root group: root mode: '0444' - name: Create normal mailman vhost config template: src: mailman_multihost.vhost.j2 dest: "/etc/apache2/sites-enabled/50-{{ mailman_site.listdomain }}.conf" owner: root group: root mode: '0644' notify: mailman site reload apache2 - name: Create site init script template: src: mailman.init.j2 dest: "/etc/init.d/mailman-{{ mailman_site.name }}" owner: root group: root mode: '0755' - name: Enable mailman site service service: name: "mailman-{{ mailman_site.name }}" enabled: yes - name: Create mailman site lists include_role: name: mailman-list vars: mm_site_name: "{{ mailman_site.name }}" mm_site_listdomain: "{{ mailman_site.listdomain }}" mm_list_name: "{{ site_list.name }}" mm_list_description: "{{ site_list.description }}" mm_list_admin: "{{ site_list.admin }}" mm_list_password: "{{ site_list.password }}" loop: "{{ mailman_site.lists }}" loop_control: loop_var: site_list