summaryrefslogtreecommitdiff
path: root/manifests/virtual/web/client.pp
diff options
context:
space:
mode:
Diffstat (limited to 'manifests/virtual/web/client.pp')
-rw-r--r--manifests/virtual/web/client.pp60
1 files changed, 60 insertions, 0 deletions
diff --git a/manifests/virtual/web/client.pp b/manifests/virtual/web/client.pp
new file mode 100644
index 0000000..88c9a28
--- /dev/null
+++ b/manifests/virtual/web/client.pp
@@ -0,0 +1,60 @@
+class mail::virtual::web::client(
+ $roundcube_des_key = hiera('mail::virtual::web::roundcube_des_key', $mail::virtual::web::params::roundcube_des_key),
+ $roundcube_logo = hiera('mail::virtual::web::roundcube_logo', $mail::virtual::web::params::roundcube_logo),
+ $roundcube_login_info = hiera('mail::virtual::web::roundcube_login_info', $mail::virtual::web::params::roundcube_login_info)
+) {
+ include php::imap
+
+ case $roundcube_des_key {
+ '': { fail("You need to define mail::virtual::web::roundcube_des_key config") }
+ }
+
+ apache::site { "mail":
+ docroot => $::lsbdistcodename ? {
+ 'lenny' => "/usr/share/squirrelmail",
+ default => "/var/lib/roundcube",
+ },
+ source => true,
+ mpm => false,
+ }
+
+ $web_db_pass = hiera('mail::virtual::web::database::password', '')
+
+ database::instance { "mail":
+ password => "${web_db_pass}",
+ }
+
+ # Old config
+ file { "/etc/roundcube/main.inc.php":
+ ensure => absent,
+ owner => root,
+ group => www-data,
+ mode => 0640,
+ require => Package['roundcube'],
+ }
+
+ file { "/etc/roundcube/config.inc.php":
+ ensure => $::lsbdistcodename ? {
+ 'lenny' => absent,
+ default => present,
+ },
+ owner => root,
+ group => www-data,
+ mode => 0640,
+ content => template('mail/virtual/roundcube/config.inc.php.erb'),
+ require => Package['roundcube'],
+ }
+
+ file { "/var/lib/roundcube/plugins/login_info":
+ ensure => $::lsbdistcodename ? {
+ 'lenny' => absent,
+ default => directory,
+ },
+ recurse => true,
+ owner => root,
+ group => root,
+ mode => 0644,
+ source => "puppet:///modules/mail/roundcube/plugins/login_info",
+ require => Package['roundcube'],
+ }
+}