class mail::web::virtual inherits websites::setup { # Class configuration if $lsbdistcodename != 'lenny' { case $roundcube_des_key { '': { fail("You need to define \$roundcube_des_key host config") } } } include php::imap apache::site { "postfixadmin": docroot => "${apache_sites_folder}/postfixadmin/site", use => [ "Site postfixadmin" ], mpm => false, } apache::site { "mail": docroot => $lsbdistcodename ? { 'lenny' => "/usr/share/squirrelmail", default => "/var/lib/roundcube", }, source => true, mpm => false, } file { "${apache_sites_folder}/postfixadmin/site/config.inc.php": ensure => present, owner => www-data, group => root, mode => 0640, content => template('mail/postfixadmin/config.inc.php.erb'), require => File["${apache_sites_folder}/postfixadmin/site"], } file { "/etc/roundcube/main.inc.php": ensure => $lsbdistcodename ? { 'lenny' => absent, default => present, }, owner => root, group => www-data, mode => 0640, content => template('mail/roundcube/main.inc.php.erb'), require => Package['roundcube'], } } class mail::web::sympa inherits websites::setup { apache::site { "$sympa_subdomain": docroot => "${apache_www_folder}/${sympa_subdomain}", source => true, owner => sympa, group => sympa, mpm => false, } package { [ 'apache2-suexec', 'libapache2-mod-fcgid' ]: ensure => present, } apache::module { "fcgid": ensure => present, require => Package["libapache2-mod-fcgid"], } apache::module { "suexec": ensure => present, require => Package["apache2-suexec"], } file { "${apache_www_folder}/${sympa_subdomain}/wwsympa.fcgi": ensure => present, owner => sympa, group => sympa, mode => 0550, content => "#!/bin/sh\n/usr/lib/cgi-bin/sympa/wwsympa.fcgi\n", require => File["${apache_www_folder}/${sympa_subdomain}"], } } class mail::web::sympa::disabled inherits mail::web::sympa { Apache::Site["$sympa_subdomain"] { ensure => absent, } File["${apache_www_folder}/${sympa_subdomain}/wwsympa.fcgi"] { require => undef, } } class mail::web::mlmmj inherits websites::setup { apache::site { "$mlmmj_subdomain": docroot => "/usr/share/mlmmj-php-web-admin", owner => 'mlmmj', group => 'mlmmj', mpm_user => 'mlmmj', mpm_group => 'mlmmj', manage_user => false, require => Package['mlmmj-php-web-admin'], } package { [ 'mlmmj-php-web', 'mlmmj-php-web-admin' ]: ensure => present, } file { '/etc/mlmmj-php-web-admin': ensure => directory, owner => mlmmj, group => mlmmj, mode => 0640, } file { '/etc/mlmmj-php-web-admin/htpasswd': ensure => present, owner => mlmmj, group => mlmmj, mode => 0640, source => [ "puppet:///modules/site-mail/mlmmj/htpasswd", "puppet:///modules/mail/mlmmj/htpasswd" ], } } class mail::web::mlmmj::disabled inherits mail::web::mlmmj { Apache::Site["$mlmmj_subdomain"] { ensure => absent, } Package[ 'mlmmj-php-web', 'mlmmj-php-web-admin' ] { ensure => absent, } File['/etc/mlmmj-php-web-admin'] { ensure => absent, force => true, } File['/etc/mlmmj-php-web-admin/htpasswd'] { ensure => absent, } }