aboutsummaryrefslogtreecommitdiffstats
path: root/modules/phpbb/manifests
diff options
context:
space:
mode:
Diffstat (limited to 'modules/phpbb/manifests')
-rw-r--r--modules/phpbb/manifests/init.pp125
1 files changed, 75 insertions, 50 deletions
diff --git a/modules/phpbb/manifests/init.pp b/modules/phpbb/manifests/init.pp
index 9481fbb4..3cba5496 100644
--- a/modules/phpbb/manifests/init.pp
+++ b/modules/phpbb/manifests/init.pp
@@ -1,69 +1,94 @@
class phpbb {
- $database = "phpbb"
- $user = "phpbb"
+ class base {
+ $db = "phpbb"
+ $user = "phpbb"
- include apache::mod_php
- include mysql
+ include apache::mod_php
+ include mysql
- package { ["php-gd","php-xml","php-zlib","php-ftp","php-magickwand","php-pgsql" ] :
- ensure => installed
- }
+ package { ["php-gd","php-xml","php-zlib","php-ftp","php-magickwand","php-pgsql" ] :
+ ensure => installed
+ }
- package { "perl-DBD-Pg":
- ensure => installed
- }
+ package { "perl-DBD-Pg":
+ ensure => installed
+ }
- file { "/usr/local/bin/phpbb_apply_config.pl":
- ensure => present,
- owner => root,
- group => root,
- mode => 755,
- source => 'puppet:///modules/phpbb/phpbb_apply_config.pl',
- }
+ file { "/usr/local/bin/phpbb_apply_config.pl":
+ ensure => present,
+ owner => root,
+ group => root,
+ mode => 755,
+ source => 'puppet:///modules/phpbb/phpbb_apply_config.pl',
+ }
- # TODO phpbb config
- # cookie_domain
- # board_contact
- #
- define phpbb_config($value) {
- exec { "/usr/local/bin/phpbb_apply_config.pl $name":
- user => root,
- environment => ["PGDATABASE=$database", "PGUSER=$user", "PGPASSWORD=$pgsql_password", "PGHOST=pgsql.$domain", "VALUE=$value"],
- require => File["/usr/local/bin/phpbb_apply_config.pl"],
+ # TODO phpbb config
+ # cookie_domain
+ # board_contact
+ #
+ define phpbb_config($value) {
+ exec { "/usr/local/bin/phpbb_apply_config.pl $name":
+ user => root,
+ environment => ["PGDATABASE=$database", "PGUSER=$user", "PGPASSWORD=$pgsql_password", "PGHOST=pgsql.$domain", "VALUE=$value"],
+ require => File["/usr/local/bin/phpbb_apply_config.pl"],
+ }
}
- }
- phpbb_config { "ldap_user":
- value => "cn=phpbb-friteuse,ou=System Accounts,$dc_suffix",
- }
+ $pgsql_password = extlookup("phpbb_pgsql",'x')
+ @@postgresql::user { $user:
+ password => $pgsql_password,
+ }
- phpbb_config { "ldap_server":
- value => "ldap.$domain",
+ $forums_dir = "/var/www/forums/"
+ file { "$forums_dir":
+ ensure => directory,
+ owner => root,
+ group => root,
+ }
}
- $ldap_password = extlookup("phpbb_ldap",'x')
- phpbb_config { "ldap_password":
- value => $ldap_password,
- }
+ define php_instance($lang) {
+ $database = "${db}_$lang"
- phpbb_config { "ldap_base_dn":
- value => "ou=People,$dc_suffix",
- }
+ include git::client
+ exec { "git clone git://git.$domain/forum/ $lang":
+ cwd => $forums_dir,
+ creates => "$forums_dir/$lang",
+ }
+ file { "$forums_dir/$lang/phpBB/config.php":
+ ensure => present,
+ owner => root,
+ group => root,
+ mode => 644,
+ content => template("phpbb/config.php"),
+ }
- # TODO git checkout of the code
- include git::client
+ include php::base
- # TODO phpbb database configuration
- $pgsql_password = extlookup("phpbb_pgsql",'x')
- @@postgresql::user { $user:
- password => $pgsql_password,
- }
+ @@postgresql::database { $database:
+ description => "Phpbb database",
+ user => $user,
+ require => Postgresql::User[$user]
+ }
+
+
+ phpbb_config { "ldap_user":
+ value => "cn=phpbb-friteuse,ou=System Accounts,$dc_suffix",
+ }
+
+ phpbb_config { "ldap_server":
+ value => "ldap.$domain",
+ }
- @@postgresql::database { $database:
- description => "Phpbb database",
- user => $user,
- require => Postgresql::User[$user]
+ $ldap_password = extlookup("phpbb_ldap",'x')
+ phpbb_config { "ldap_password":
+ value => $ldap_password,
+ }
+
+ phpbb_config { "ldap_base_dn":
+ value => "ou=People,$dc_suffix",
+ }
}
}