Clark Boylan 61c3fded0a Create /srv/mailman
The multihost setup mailman setup assumes /srv/mailman is present which
then causes failures in testing because we don't explicitly create this
path. Fix that by managing the /srv/mailman path in puppet too.

Change-Id: Ia378b098b672e471897c8397f2562fc21a327f38
2020-04-29 11:03:14 -07:00

74 lines
1.6 KiB
Puppet

# == Class: mailman
#
class mailman(
$vhost_name = $::fqdn,
$multihost = false,
) {
include httpd
package { 'mailman':
ensure => installed,
}
if ($multihost) {
file { '/srv/mailman':
ensure => directory,
owner => 'root',
group => 'root',
mode => '0755',
}
file { '/etc/mailman/mm_cfg.py':
ensure => present,
owner => 'root',
group => 'root',
mode => '0444',
content => template('mailman/mm_cfg_multihost.py.erb'),
replace => true,
require => Package['mailman'],
}
} else {
::httpd::vhost { $vhost_name:
port => 80,
docroot => '/var/www/',
priority => '50',
template => 'mailman/mailman.vhost.erb',
}
file { '/etc/mailman/mm_cfg.py':
ensure => present,
owner => 'root',
group => 'root',
mode => '0444',
content => template('mailman/mm_cfg.py.erb'),
replace => true,
require => Package['mailman'],
}
service { 'mailman':
ensure => running,
hasrestart => true,
hasstatus => false,
subscribe => File['/etc/mailman/mm_cfg.py'],
require => Package['mailman'],
}
}
httpd_mod { 'rewrite':
ensure => present,
before => Service['httpd'],
}
httpd_mod { 'cgid':
ensure => present,
before => Service['httpd'],
}
file { '/var/www/index.html':
ensure => present,
source => 'puppet:///modules/mailman/index.html',
owner => 'root',
group => 'root',
replace => true,
mode => '0444',
}
}