
The apache2 package installs a "default" vhost automatically. Disable it, since it interferes with vhost matching on the multi-site lists.openstack.org server. These vhosts are not enabled on our production servers, so this makes testing more like production. Change-Id: I32a3cea034ac0b198ec1f4610cc096a4502306e6
140 lines
3.3 KiB
YAML
140 lines
3.3 KiB
YAML
- name: Install apache2
|
|
package:
|
|
name:
|
|
- apache2
|
|
- apache2-utils
|
|
state: present
|
|
|
|
- name: Apache modules
|
|
apache2_module:
|
|
state: present
|
|
name: "{{ a2_mod }}"
|
|
loop:
|
|
- rewrite
|
|
- cgid
|
|
- ssl
|
|
loop_control:
|
|
loop_var: a2_mod
|
|
notify: mailman restart apache2
|
|
|
|
- name: Make sure packaged default site disabled
|
|
command: a2dissite 000-default.conf
|
|
args:
|
|
removes: /etc/apache2/sites-enabled/000-default.conf
|
|
|
|
- name: Install mailman
|
|
package:
|
|
name:
|
|
- mailman
|
|
- python-is-python2
|
|
state: present
|
|
|
|
# Install index.html, robots.txt
|
|
- name: Install mailman index.html
|
|
copy:
|
|
src: index.html
|
|
dest: /var/www/index.html
|
|
owner: root
|
|
group: root
|
|
mode: '0444'
|
|
|
|
- name: Install mailman robots.txt
|
|
copy:
|
|
src: robots.txt
|
|
dest: /var/www/robots.txt
|
|
owner: root
|
|
group: root
|
|
mode: '0444'
|
|
|
|
- name: multihost mailman configs
|
|
block:
|
|
- name: Create multihost dir
|
|
file:
|
|
path: /srv/mailman
|
|
state: directory
|
|
owner: root
|
|
group: root
|
|
mode: '0755'
|
|
- name: Install multihost mailman config
|
|
copy:
|
|
src: mm_cfg_multihost.py
|
|
dest: /etc/mailman/mm_cfg.py
|
|
owner: root
|
|
group: root
|
|
mode: '0444'
|
|
- name: Install mailman mk-archives-index
|
|
copy:
|
|
src: mk-archives-index
|
|
dest: /usr/local/sbin/mk-archives-index
|
|
owner: root
|
|
group: root
|
|
mode: '0744'
|
|
- name: Set cron PATH for mk-archives-index
|
|
cron:
|
|
name: PATH
|
|
env: yes
|
|
job: /usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin
|
|
- name: Enable mk-archives-index cron
|
|
cron:
|
|
name: "mk-archives-index cron"
|
|
state: present
|
|
job: mk-archives-index > /var/www/archives.yaml
|
|
minute: "0"
|
|
hour: "0"
|
|
- name: Create mm sites file
|
|
template:
|
|
src: sites.j2
|
|
dest: /etc/mailman/sites
|
|
owner: root
|
|
group: root
|
|
mode: '0444'
|
|
- name: Create mailman sites and lists
|
|
include_role:
|
|
name: mailman-site
|
|
vars:
|
|
mailman_site: "{{ site }}"
|
|
loop: "{{ mailman_sites }}"
|
|
loop_control:
|
|
loop_var: site
|
|
- name: Write /etc/aliases.domain
|
|
template:
|
|
src: "domain_aliases.j2"
|
|
dest: "/etc/aliases.domain"
|
|
mode: 0444
|
|
when: mailman_multihost
|
|
|
|
- name: normal mailman configs
|
|
block:
|
|
- name: Install normal mailman config
|
|
template:
|
|
src: mm_cfg.py.j2
|
|
dest: /etc/mailman/mm_cfg.py
|
|
owner: root
|
|
group: root
|
|
mode: '0444'
|
|
- name: Create normal mailman vhost config
|
|
template:
|
|
src: mailman.vhost.j2
|
|
dest: "/etc/apache2/sites-enabled/50-{{ mailman_listdomain }}.conf"
|
|
owner: root
|
|
group: root
|
|
mode: '0644'
|
|
notify: mailman reload apache2
|
|
- name: Enable mailman site service
|
|
service:
|
|
name: "mailman"
|
|
enabled: yes
|
|
- name: Create mailman site lists
|
|
include_role:
|
|
name: mailman-list
|
|
vars:
|
|
mm_site_name: "_default"
|
|
mm_list_name: "{{ list.name }}"
|
|
mm_list_description: "{{ list.description }}"
|
|
mm_list_admin: "{{ list.admin }}"
|
|
mm_list_password: "{{ list.password }}"
|
|
loop: "{{ mailman_lists }}"
|
|
loop_control:
|
|
loop_var: list
|
|
when: not mailman_multihost
|