define phpbb::instance() { include phpbb::base $lang = $name $database = "${phpbb::base::db}_${lang}" $user = $phpbb::base::user $pgsql_password = $phpbb::base::pgsql_password $forums_dir = $phpbb::base::forums_dir include git::client exec { "git_clone ${lang}": command =>"git clone git://git.${::domain}/web/forums/ ${lang}", cwd => $forums_dir, creates => "${forums_dir}/${lang}", require => File[$forums_dir], notify => Exec["rm_install ${lang}"], } # remove this or the forum will not work ( 'board disabled' ) # maybe it would be better to move this elsehwere, I # am not sure ( and in any case, that's still in git ) exec { "rm_install ${lang}": command => "rm -Rf ${forums_dir}/${lang}/phpBB/install", onlyif => "test -d ${forums_dir}/${lang}/phpBB/install", } # list found by reading ./install/install_install.php # end of check_server_requirements ( 2 loops ) $writable_dirs = ['cache', 'images/avatars/upload', 'files', 'store' ] $dir_names = regsubst($writable_dirs,'^',"${forums_dir}/${lang}/phpBB/") file { $dir_names: ensure => directory, owner => 'apache', require => Exec["git_clone ${lang}"], } file { "${forums_dir}/${lang}/phpBB/config.php": content => template('phpbb/config.php'), } @@phpbb::locale_db { $database: user => $user, } Phpbb::Config { database => $database, } $ldap_password = extlookup( 'phpbb_ldap','x') phpbb::config { "ldap_user/${lang}": key => 'ldap_user', value => "cn=phpbb-${::hostname},ou=System Accounts,${::dc_suffix}"; "ldap_server/${lang}": key => 'ldap_server', value => "ldaps://ldap.${::domain} ldaps://ldap-slave-1.${::domain}"; "ldap_password/${lang}": key => 'ldap_password', value => $ldap_password; "ldap_base_dn/${lang}": key => 'ldap_base_dn', value => "ou=People,${::dc_suffix}"; "auth_method/${lang}": key => 'auth_method', value => 'ldap'; "ldap_mail/${lang}": key => 'ldap_mail', value => 'mail'; "ldap_uid/${lang}": key => 'ldap_uid', value => 'uid'; "cookie_domain/${lang}": key => 'cookie_domain', value => "forums.${::domain}"; "server_name/${lang}": key => 'server_name', value => "forums.${::domain}"; "default_lang/${lang}": key => 'default_lang', value => $lang; } }