1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
|
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 elsewhere, 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;
}
}
|