smartmachine 1.2.3 → 1.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/smart_machine/apps/app.rb +1 -0
- data/lib/smart_machine/buildpackers/buildpacker.rb +2 -2
- data/lib/smart_machine/commands/grid.rb +8 -0
- data/lib/smart_machine/commands/grid_commands/emailer.rb +107 -0
- data/lib/smart_machine/commands/grid_commands/roundcube.rb +107 -0
- data/lib/smart_machine/configuration.rb +35 -2
- data/lib/smart_machine/credentials.rb +10 -0
- data/lib/smart_machine/engine.rb +7 -1
- data/lib/smart_machine/grids/adminer.rb +1 -0
- data/lib/smart_machine/grids/certbot.rb +1 -0
- data/lib/smart_machine/grids/emailer/imapsync.rb +7 -0
- data/lib/smart_machine/grids/emailer.rb +188 -0
- data/lib/smart_machine/grids/haproxy.rb +1 -0
- data/lib/smart_machine/grids/mariadb.rb +1 -0
- data/lib/smart_machine/grids/postgresql.rb +1 -0
- data/lib/smart_machine/grids/roundcube/.keep +0 -0
- data/lib/smart_machine/grids/roundcube.rb +184 -0
- data/lib/smart_machine/machine.rb +7 -0
- data/lib/smart_machine/syncer.rb +10 -0
- data/lib/smart_machine/templates/dotsmartmachine/config/emailer/docker/command.rb +50 -0
- data/lib/smart_machine/templates/dotsmartmachine/config/emailer/docker/entrypoint.rb +196 -0
- data/lib/smart_machine/templates/dotsmartmachine/config/emailer/docker/logtailer.rb +75 -0
- data/lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/dovecot/conf.d/10-auth.conf +132 -0
- data/lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/dovecot/conf.d/10-mail.conf +427 -0
- data/lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/dovecot/conf.d/10-master.conf +153 -0
- data/lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/dovecot/conf.d/10-ssl.conf +87 -0
- data/lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/dovecot/conf.d/15-mailboxes.conf +94 -0
- data/lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/dovecot/conf.d/20-imap.conf +102 -0
- data/lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/dovecot/conf.d/20-lmtp.conf +43 -0
- data/lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/dovecot/conf.d/90-quota.conf +114 -0
- data/lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/dovecot/conf.d/90-sieve.conf +229 -0
- data/lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/dovecot/dovecot-sql.conf.ext +163 -0
- data/lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/dovecot/sieve/learn-ham.sh +2 -0
- data/lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/dovecot/sieve/learn-ham.sieve +5 -0
- data/lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/dovecot/sieve/learn-spam.sh +2 -0
- data/lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/dovecot/sieve/learn-spam.sieve +2 -0
- data/lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/dovecot/sieve-after/spam-to-folder.sieve +6 -0
- data/lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/haproxy/haproxy.cfg +58 -0
- data/lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/monit/conf.d/services.cfg +70 -0
- data/lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/monit/monitrc +344 -0
- data/lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/opendkim.conf +71 -0
- data/lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/postfix/main.cf +128 -0
- data/lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/postfix/master.cf +149 -0
- data/lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/postfix/mysql-sender-login-maps.cf +7 -0
- data/lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/postfix/mysql-virtual-alias-domains.cf +7 -0
- data/lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/postfix/mysql-virtual-alias-maps-domains.cf +7 -0
- data/lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/postfix/mysql-virtual-alias-maps-masters.cf +7 -0
- data/lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/postfix/mysql-virtual-alias-maps-users.cf +7 -0
- data/lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/postfix/mysql-virtual-alias-maps-userstothemselves.cf +7 -0
- data/lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/postfix/mysql-virtual-mailbox-domains.cf +7 -0
- data/lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/postfix/mysql-virtual-mailbox-maps.cf +7 -0
- data/lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/postfix-policyd-spf-python/policyd-spf.conf +12 -0
- data/lib/smart_machine/templates/dotsmartmachine/config/emailer/etc/spamassassin/local.cf +124 -0
- data/lib/smart_machine/templates/dotsmartmachine/config/emailer/usr/local/bin/quota-warning.sh +22 -0
- data/lib/smart_machine/templates/dotsmartmachine/config/emailer.yml +37 -0
- data/lib/smart_machine/templates/dotsmartmachine/config/engine.yml +2 -0
- data/lib/smart_machine/templates/dotsmartmachine/config/roundcube/docker/custom-docker-entrypoint.sh +185 -0
- data/lib/smart_machine/templates/dotsmartmachine/config/roundcube/docker/entrypoint.rb +58 -0
- data/lib/smart_machine/templates/dotsmartmachine/config/roundcube/etc/apache2/sites-available/000-default.conf +36 -0
- data/lib/smart_machine/templates/dotsmartmachine/config/roundcube/usr/local/etc/php/conf.d/zzz_roundcube-custom.ini +4 -0
- data/lib/smart_machine/templates/dotsmartmachine/config/roundcube/var/roundcube/config/config.custom.inc.php +25 -0
- data/lib/smart_machine/templates/dotsmartmachine/config/roundcube/var/www/html/plugins/password/config.inc.php +523 -0
- data/lib/smart_machine/templates/dotsmartmachine/config/roundcube.yml +49 -0
- data/lib/smart_machine/templates/dotsmartmachine/config/users.yml +1 -1
- data/lib/smart_machine/version.rb +2 -2
- data/lib/smart_machine.rb +2 -0
- metadata +89 -8
@@ -0,0 +1,36 @@
|
|
1
|
+
<VirtualHost *:80>
|
2
|
+
# The ServerName directive sets the request scheme, hostname and port that
|
3
|
+
# the server uses to identify itself. This is used when creating
|
4
|
+
# redirection URLs. In the context of virtual hosts, the ServerName
|
5
|
+
# specifies what hostname must appear in the request's Host: header to
|
6
|
+
# match this virtual host. For the default virtual host (this file) this
|
7
|
+
# value is not decisive as it is used as a last resort host regardless.
|
8
|
+
# However, you must set it for any further virtual host explicitly.
|
9
|
+
#ServerName www.example.com
|
10
|
+
|
11
|
+
ServerAdmin webmaster@localhost
|
12
|
+
DocumentRoot /var/www/html
|
13
|
+
|
14
|
+
ServerSignature Off
|
15
|
+
|
16
|
+
# If you are setting a different request_path other than '/' in roundcube.yml config file,
|
17
|
+
# then please uncomment the below line and add that path here as an alias.
|
18
|
+
#Alias /your/request/path /var/www/html
|
19
|
+
Alias %<roundcubemail_request_path>s /var/www/html
|
20
|
+
|
21
|
+
# Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
|
22
|
+
# error, crit, alert, emerg.
|
23
|
+
# It is also possible to configure the loglevel for particular
|
24
|
+
# modules, e.g.
|
25
|
+
#LogLevel info ssl:warn
|
26
|
+
|
27
|
+
ErrorLog ${APACHE_LOG_DIR}/error.log
|
28
|
+
CustomLog ${APACHE_LOG_DIR}/access.log combined
|
29
|
+
|
30
|
+
# For most configuration files from conf-available/, which are
|
31
|
+
# enabled or disabled at a global level, it is possible to
|
32
|
+
# include a line for only one particular virtual host. For example the
|
33
|
+
# following line enables the CGI configuration for this host only
|
34
|
+
# after it has been globally disabled with "a2disconf".
|
35
|
+
#Include conf-available/serve-cgi-bin.conf
|
36
|
+
</VirtualHost>
|
@@ -0,0 +1,25 @@
|
|
1
|
+
<?php
|
2
|
+
|
3
|
+
/**
|
4
|
+
* Add custom roundcube config. It will be used when running roundcube.
|
5
|
+
*/
|
6
|
+
|
7
|
+
$config['support_url'] = '';
|
8
|
+
|
9
|
+
$config['skin_logo'] = null;
|
10
|
+
/**
|
11
|
+
* $config['skin_logo'] = [
|
12
|
+
* // show the image /images/logo_login_small.png for the Login screen in the Elastic skin on small screens
|
13
|
+
* "elastic:login[small]" => "/images/logo_login_small.png",
|
14
|
+
* // show the image /images/logo_login.png for the Login screen in the Elastic skin
|
15
|
+
* "elastic:login" => "/images/logo_login.png",
|
16
|
+
* // show the image /images/logo_small.png in the Elastic skin
|
17
|
+
* "elastic:*[small]" => "/images/logo_small.png",
|
18
|
+
* // show the image /images/larry.png in the Larry skin
|
19
|
+
* "larry:*" => "/images/larry.png",
|
20
|
+
* // show the image /images/logo_login.png on the login template in all skins
|
21
|
+
* "login" => "/images/logo_login.png",
|
22
|
+
* // show the image /images/logo_print.png for all print type logos in all skins
|
23
|
+
* "[print]" => "/images/logo_print.png",
|
24
|
+
* ];
|
25
|
+
*/
|
@@ -0,0 +1,523 @@
|
|
1
|
+
<?php
|
2
|
+
|
3
|
+
// Password Plugin options
|
4
|
+
// -----------------------
|
5
|
+
// A driver to use for password change. Default: "sql".
|
6
|
+
// See README file for list of supported driver names.
|
7
|
+
$config['password_driver'] = 'sql';
|
8
|
+
|
9
|
+
// A driver to use for checking password strength. Default: null (disabled).
|
10
|
+
// See README file for list of supported driver names.
|
11
|
+
$config['password_strength_driver'] = null;
|
12
|
+
|
13
|
+
// Determine whether current password is required to change password.
|
14
|
+
// Default: false.
|
15
|
+
$config['password_confirm_current'] = true;
|
16
|
+
|
17
|
+
// Require the new password to be a certain length.
|
18
|
+
// set to blank to allow passwords of any length
|
19
|
+
//$config['password_minimum_length'] = 8;
|
20
|
+
$config['password_minimum_length'] = 12;
|
21
|
+
|
22
|
+
// Require the new password to have at least the specified strength score.
|
23
|
+
// Note: Password strength is scored from 1 (week) to 5 (strong).
|
24
|
+
$config['password_minimum_score'] = 0;
|
25
|
+
|
26
|
+
// Enables logging of password changes into logs/password
|
27
|
+
$config['password_log'] = false;
|
28
|
+
|
29
|
+
// Array of login exceptions for which password change
|
30
|
+
// will be not available (no Password tab in Settings)
|
31
|
+
$config['password_login_exceptions'] = null;
|
32
|
+
|
33
|
+
// Array of hosts that support password changing.
|
34
|
+
// Listed hosts will feature a Password option in Settings; others will not.
|
35
|
+
// Example: ['mail.example.com', 'mail2.example.org'];
|
36
|
+
// Default is NULL (all hosts supported).
|
37
|
+
$config['password_hosts'] = null;
|
38
|
+
|
39
|
+
// Enables saving the new password even if it matches the old password. Useful
|
40
|
+
// for upgrading the stored passwords after the encryption scheme has changed.
|
41
|
+
//$config['password_force_save'] = false;
|
42
|
+
$config['password_force_save'] = true;
|
43
|
+
|
44
|
+
// Enables forcing new users to change their password at their first login.
|
45
|
+
$config['password_force_new_user'] = false;
|
46
|
+
|
47
|
+
// Password hashing/crypting algorithm.
|
48
|
+
// Possible options: des-crypt, ext-des-crypt, md5-crypt, blowfish-crypt,
|
49
|
+
// sha256-crypt, sha512-crypt, md5, sha, smd5, ssha, ssha256, ssha512, samba, ad, dovecot, clear.
|
50
|
+
// Also supported are password_hash() algoriths: hash-bcrypt, hash-argon2i, hash-argon2id.
|
51
|
+
// Default: 'clear' (no hashing)
|
52
|
+
// For details see password::hash_password() method.
|
53
|
+
//$config['password_algorithm'] = 'clear';
|
54
|
+
$config['password_algorithm'] = 'dovecot';
|
55
|
+
|
56
|
+
// Additional options for password hashing function(s).
|
57
|
+
// For password_hash()-based passwords see https://www.php.net/manual/en/function.password-hash.php
|
58
|
+
// It can be used to set the Blowfish algorithm cost, e.g. ['cost' => 12]
|
59
|
+
$config['password_algorithm_options'] = [];
|
60
|
+
|
61
|
+
// Password prefix (e.g. {CRYPT}, {SHA}) for passwords generated
|
62
|
+
// using password_algorithm above. Default: empty.
|
63
|
+
$config['password_algorithm_prefix'] = '';
|
64
|
+
|
65
|
+
// Path for dovecotpw/doveadm-pw (if not in the $PATH).
|
66
|
+
// Used for password_algorithm = 'dovecot'.
|
67
|
+
// $config['password_dovecotpw'] = '/usr/local/sbin/doveadm pw'; // for dovecot-2.x
|
68
|
+
//$config['password_dovecotpw'] = '/usr/local/sbin/dovecotpw'; // for dovecot-1.x
|
69
|
+
$config['password_dovecotpw'] = '/usr/bin/doveadm pw';
|
70
|
+
|
71
|
+
// Dovecot password scheme.
|
72
|
+
// Used for password_algorithm = 'dovecot'.
|
73
|
+
//$config['password_dovecotpw_method'] = 'CRAM-MD5';
|
74
|
+
$config['password_dovecotpw_method'] = 'BLF-CRYPT';
|
75
|
+
|
76
|
+
// Enables use of password with method prefix, e.g. {MD5}$1$LUiMYWqx$fEkg/ggr/L6Mb2X7be4i1/
|
77
|
+
// when using password_algorithm=dovecot
|
78
|
+
//$config['password_dovecotpw_with_method'] = false;
|
79
|
+
$config['password_dovecotpw_with_method'] = true;
|
80
|
+
|
81
|
+
// Number of rounds for the sha256 and sha512 crypt hashing algorithms.
|
82
|
+
// Must be at least 1000. If not set, then the number of rounds is left up
|
83
|
+
// to the crypt() implementation. On glibc this defaults to 5000.
|
84
|
+
// Be aware, the higher the value, the longer it takes to generate the password hashes.
|
85
|
+
//$config['password_crypt_rounds'] = 50000;
|
86
|
+
|
87
|
+
// This option temporarily disables the password change functionality.
|
88
|
+
// Use it when the users database server is in maintenance mode or something like that.
|
89
|
+
// You can set it to TRUE/FALSE or a text describing the reason
|
90
|
+
// which will replace the default.
|
91
|
+
$config['password_disabled'] = false;
|
92
|
+
|
93
|
+
// Various drivers/setups use different format of the username.
|
94
|
+
// This option allows you to force specified format use. Default: '%u'.
|
95
|
+
// Supported variables:
|
96
|
+
// %u - full username,
|
97
|
+
// %l - the local part of the username (in case the username is an email address)
|
98
|
+
// %d - the domain part of the username (in case the username is an email address)
|
99
|
+
// Note: This may no apply to some drivers implementing their own rules, e.g. sql.
|
100
|
+
$config['password_username_format'] = '%u';
|
101
|
+
|
102
|
+
// Options passed when creating Guzzle HTTP client, used to access various external APIs.
|
103
|
+
// This will overwrite global http_client settings. For example:
|
104
|
+
// [
|
105
|
+
// 'timeout' => 10,
|
106
|
+
// 'proxy' => 'tcp://localhost:8125',
|
107
|
+
// ]
|
108
|
+
$config['password_http_client'] = [];
|
109
|
+
|
110
|
+
|
111
|
+
// SQL Driver options
|
112
|
+
// ------------------
|
113
|
+
// PEAR database DSN for performing the query. By default
|
114
|
+
// Roundcube DB settings are used.
|
115
|
+
// Supported replacement variables:
|
116
|
+
// %h - user's IMAP hostname
|
117
|
+
// %n - hostname ($_SERVER['SERVER_NAME'])
|
118
|
+
// %t - hostname without the first part
|
119
|
+
// %d - domain (http hostname $_SERVER['HTTP_HOST'] without the first part)
|
120
|
+
// %z - IMAP domain (IMAP hostname without the first part)
|
121
|
+
//$config['password_db_dsn'] = '';
|
122
|
+
$config['password_db_dsn'] = '%<roundcubemail_plugins_password_database_type>s://%<roundcubemail_plugins_password_database_user>s:%<roundcubemail_plugins_password_database_pass>s@%<roundcubemail_plugins_password_database_host>s/%<roundcubemail_plugins_password_database_name>s';
|
123
|
+
|
124
|
+
// The SQL query used to change the password.
|
125
|
+
// The query can contain the following macros that will be expanded as follows:
|
126
|
+
// %p is replaced with the plaintext new password
|
127
|
+
// %P is replaced with the crypted/hashed new password
|
128
|
+
// according to configured password_algorithm
|
129
|
+
// %o is replaced with the old (current) password
|
130
|
+
// %O is replaced with the crypted/hashed old (current) password
|
131
|
+
// according to configured password_algorithm
|
132
|
+
// %h is replaced with the imap host (from the session info)
|
133
|
+
// %u is replaced with the username (from the session info)
|
134
|
+
// %l is replaced with the local part of the username
|
135
|
+
// (in case the username is an email address)
|
136
|
+
// %d is replaced with the domain part of the username
|
137
|
+
// (in case the username is an email address)
|
138
|
+
// Escaping of macros is handled by this module.
|
139
|
+
// Default: "SELECT update_passwd(%P, %u)"
|
140
|
+
//$config['password_query'] = 'SELECT update_passwd(%P, %u)';
|
141
|
+
$config['password_query'] = 'UPDATE virtual_users SET password=%P WHERE email=%u';
|
142
|
+
|
143
|
+
// By default domains in variables are using unicode.
|
144
|
+
// Enable this option to use punycoded names
|
145
|
+
$config['password_idn_ascii'] = false;
|
146
|
+
|
147
|
+
|
148
|
+
// Poppassd Driver options
|
149
|
+
// -----------------------
|
150
|
+
// The host which changes the password (default: localhost)
|
151
|
+
// Supported replacement variables:
|
152
|
+
// %n - hostname ($_SERVER['SERVER_NAME'])
|
153
|
+
// %t - hostname without the first part
|
154
|
+
// %d - domain (http hostname $_SERVER['HTTP_HOST'] without the first part)
|
155
|
+
// %h - IMAP host
|
156
|
+
// %z - IMAP domain without first part
|
157
|
+
// %s - domain name after the '@' from e-mail address provided at login screen
|
158
|
+
$config['password_pop_host'] = 'localhost';
|
159
|
+
|
160
|
+
// TCP port used for poppassd connections (default: 106)
|
161
|
+
$config['password_pop_port'] = 106;
|
162
|
+
|
163
|
+
|
164
|
+
// SASL Driver options
|
165
|
+
// -------------------
|
166
|
+
// Additional arguments for the saslpasswd2 call
|
167
|
+
$config['password_saslpasswd_args'] = '';
|
168
|
+
|
169
|
+
|
170
|
+
// LDAP, LDAP_SIMPLE and LDAP_EXOP Driver options
|
171
|
+
// -----------------------------------
|
172
|
+
// LDAP server name to connect to.
|
173
|
+
// You can provide one or several hosts in an array in which case the hosts are tried from left to right.
|
174
|
+
// Example: ['ldap1.example.com', 'ldap2.example.com'];
|
175
|
+
// Default: 'localhost'
|
176
|
+
$config['password_ldap_host'] = 'localhost';
|
177
|
+
|
178
|
+
// LDAP server port to connect to
|
179
|
+
// Default: '389'
|
180
|
+
$config['password_ldap_port'] = '389';
|
181
|
+
|
182
|
+
// TLS is started after connecting
|
183
|
+
// Using TLS for password modification is recommended.
|
184
|
+
// Default: false
|
185
|
+
$config['password_ldap_starttls'] = false;
|
186
|
+
|
187
|
+
// LDAP version
|
188
|
+
// Default: '3'
|
189
|
+
$config['password_ldap_version'] = '3';
|
190
|
+
|
191
|
+
// LDAP base name (root directory)
|
192
|
+
// Example: 'dc=example,dc=com'
|
193
|
+
$config['password_ldap_basedn'] = 'dc=example,dc=com';
|
194
|
+
|
195
|
+
// LDAP connection method
|
196
|
+
// There are two connection methods for changing a user's LDAP password.
|
197
|
+
// 'user': use user credential (recommended, require password_confirm_current=true)
|
198
|
+
// 'admin': use admin credential (this mode require password_ldap_adminDN and password_ldap_adminPW)
|
199
|
+
// Default: 'user'
|
200
|
+
$config['password_ldap_method'] = 'user';
|
201
|
+
|
202
|
+
// LDAP Admin DN
|
203
|
+
// Used only in admin connection mode
|
204
|
+
// Default: null
|
205
|
+
$config['password_ldap_adminDN'] = null;
|
206
|
+
|
207
|
+
// LDAP Admin Password
|
208
|
+
// Used only in admin connection mode
|
209
|
+
// Default: null
|
210
|
+
$config['password_ldap_adminPW'] = null;
|
211
|
+
|
212
|
+
// LDAP user DN mask
|
213
|
+
// The user's DN is mandatory and as we only have his login,
|
214
|
+
// we need to re-create his DN using a mask
|
215
|
+
// '%login' will be replaced by the current roundcube user's login
|
216
|
+
// '%name' will be replaced by the current roundcube user's name part
|
217
|
+
// '%domain' will be replaced by the current roundcube user's domain part
|
218
|
+
// '%dc' will be replaced by domain name hierarchal string e.g. "dc=test,dc=domain,dc=com"
|
219
|
+
// Example: 'uid=%login,ou=people,dc=example,dc=com'
|
220
|
+
$config['password_ldap_userDN_mask'] = 'uid=%login,ou=people,dc=example,dc=com';
|
221
|
+
|
222
|
+
// LDAP search DN
|
223
|
+
// The DN roundcube should bind with to find out user's DN
|
224
|
+
// based on his login. Note that you should comment out the default
|
225
|
+
// password_ldap_userDN_mask setting for this to take effect.
|
226
|
+
// Use this if you cannot specify a general template for user DN with
|
227
|
+
// password_ldap_userDN_mask. You need to perform a search based on
|
228
|
+
// users login to find his DN instead. A common reason might be that
|
229
|
+
// your users are placed under different ou's like engineering or
|
230
|
+
// sales which cannot be derived from their login only.
|
231
|
+
$config['password_ldap_searchDN'] = 'cn=roundcube,ou=services,dc=example,dc=com';
|
232
|
+
|
233
|
+
// LDAP search password
|
234
|
+
// If password_ldap_searchDN is set, the password to use for
|
235
|
+
// binding to search for user's DN. Note that you should comment out the default
|
236
|
+
// password_ldap_userDN_mask setting for this to take effect.
|
237
|
+
// Warning: Be sure to set appropriate permissions on this file so this password
|
238
|
+
// is only accessible to roundcube and don't forget to restrict roundcube's access to
|
239
|
+
// your directory as much as possible using ACLs. Should this password be compromised
|
240
|
+
// you want to minimize the damage.
|
241
|
+
$config['password_ldap_searchPW'] = 'secret';
|
242
|
+
|
243
|
+
// LDAP search base
|
244
|
+
// If password_ldap_searchDN is set, the base to search in using the filter below.
|
245
|
+
// Note that you should comment out the default password_ldap_userDN_mask setting
|
246
|
+
// for this to take effect.
|
247
|
+
$config['password_ldap_search_base'] = 'ou=people,dc=example,dc=com';
|
248
|
+
|
249
|
+
// LDAP search filter
|
250
|
+
// If password_ldap_searchDN is set, the filter to use when
|
251
|
+
// searching for user's DN. Note that you should comment out the default
|
252
|
+
// password_ldap_userDN_mask setting for this to take effect.
|
253
|
+
// '%login' will be replaced by the current roundcube user's login
|
254
|
+
// '%name' will be replaced by the current roundcube user's name part
|
255
|
+
// '%domain' will be replaced by the current roundcube user's domain part
|
256
|
+
// '%dc' will be replaced by domain name hierarchal string e.g. "dc=test,dc=domain,dc=com"
|
257
|
+
// Example: '(uid=%login)'
|
258
|
+
// Example: '(&(objectClass=posixAccount)(uid=%login))'
|
259
|
+
$config['password_ldap_search_filter'] = '(uid=%login)';
|
260
|
+
|
261
|
+
// LDAP password hash type
|
262
|
+
// Standard LDAP encryption type which must be one of: crypt,
|
263
|
+
// ext_des, md5crypt, blowfish, md5, sha, smd5, ssha, ad, cram-md5 (dovecot style) or clear.
|
264
|
+
// Set to 'default' if you want to use method specified in password_algorithm option above.
|
265
|
+
// Multiple password Values can be generated by concatenating encodings with a +. E.g. 'cram-md5+crypt'
|
266
|
+
// Default: 'crypt'.
|
267
|
+
$config['password_ldap_encodage'] = 'crypt';
|
268
|
+
|
269
|
+
// LDAP password attribute
|
270
|
+
// Name of the ldap's attribute used for storing user password
|
271
|
+
// Default: 'userPassword'
|
272
|
+
$config['password_ldap_pwattr'] = 'userPassword';
|
273
|
+
|
274
|
+
// LDAP password force replace
|
275
|
+
// Force LDAP replace in cases where ACL allows only replace not read
|
276
|
+
// See http://pear.php.net/package/Net_LDAP2/docs/latest/Net_LDAP2/Net_LDAP2_Entry.html#methodreplace
|
277
|
+
// Default: true
|
278
|
+
$config['password_ldap_force_replace'] = true;
|
279
|
+
|
280
|
+
// LDAP Password Last Change Date
|
281
|
+
// Some places use an attribute to store the date of the last password change
|
282
|
+
// The date is measured in "days since epoch" (an integer value)
|
283
|
+
// Whenever the password is changed, the attribute will be updated if set (e.g. shadowLastChange)
|
284
|
+
$config['password_ldap_lchattr'] = '';
|
285
|
+
|
286
|
+
// LDAP Samba password attribute, e.g. sambaNTPassword
|
287
|
+
// Name of the LDAP's Samba attribute used for storing user password
|
288
|
+
$config['password_ldap_samba_pwattr'] = '';
|
289
|
+
|
290
|
+
// LDAP Samba Password Last Change Date attribute, e.g. sambaPwdLastSet
|
291
|
+
// Some places use an attribute to store the date of the last password change
|
292
|
+
// The date is measured in "seconds since epoch" (an integer value)
|
293
|
+
// Whenever the password is changed, the attribute will be updated if set
|
294
|
+
$config['password_ldap_samba_lchattr'] = '';
|
295
|
+
|
296
|
+
// LDAP PPolicy Driver options
|
297
|
+
// -----------------------------------
|
298
|
+
|
299
|
+
// LDAP Change password command - filename of the perl script
|
300
|
+
// Example: 'change_ldap_pass.pl'
|
301
|
+
$config['password_ldap_ppolicy_cmd'] = 'change_ldap_pass.pl';
|
302
|
+
|
303
|
+
// LDAP URI
|
304
|
+
// Example: 'ldap://ldap.example.com/ ldaps://ldap2.example.com:636/'
|
305
|
+
$config['password_ldap_ppolicy_uri'] = 'ldap://localhost/';
|
306
|
+
|
307
|
+
// LDAP base name (root directory)
|
308
|
+
// Example: 'dc=example,dc=com'
|
309
|
+
$config['password_ldap_ppolicy_basedn'] = 'dc=example,dc=com';
|
310
|
+
|
311
|
+
$config['password_ldap_ppolicy_searchDN'] = 'cn=someuser,dc=example,dc=com';
|
312
|
+
|
313
|
+
$config['password_ldap_ppolicy_searchPW'] = 'secret';
|
314
|
+
|
315
|
+
// LDAP search filter
|
316
|
+
// Example: '(uid=%login)'
|
317
|
+
// Example: '(&(objectClass=posixAccount)(uid=%login))'
|
318
|
+
$config['password_ldap_ppolicy_search_filter'] = '(uid=%login)';
|
319
|
+
|
320
|
+
// CA Certificate file if in URI is LDAPS connection
|
321
|
+
$config['password_ldap_ppolicy_cafile'] = '/etc/ssl/cacert.crt';
|
322
|
+
|
323
|
+
|
324
|
+
|
325
|
+
// DirectAdmin Driver options
|
326
|
+
// --------------------------
|
327
|
+
// The host which changes the password
|
328
|
+
// Use 'ssl://host' instead of 'tcp://host' when running DirectAdmin over SSL.
|
329
|
+
// The host can contain the following macros that will be expanded as follows:
|
330
|
+
// %h is replaced with the imap host (from the session info)
|
331
|
+
// %d is replaced with the domain part of the username (if the username is an email)
|
332
|
+
$config['password_directadmin_host'] = 'tcp://localhost';
|
333
|
+
|
334
|
+
// TCP port used for DirectAdmin connections
|
335
|
+
$config['password_directadmin_port'] = 2222;
|
336
|
+
|
337
|
+
|
338
|
+
// vpopmaild Driver options
|
339
|
+
// -----------------------
|
340
|
+
// The host which changes the password
|
341
|
+
$config['password_vpopmaild_host'] = 'localhost';
|
342
|
+
|
343
|
+
// TCP port used for vpopmaild connections
|
344
|
+
$config['password_vpopmaild_port'] = 89;
|
345
|
+
|
346
|
+
// Timeout used for the connection to vpopmaild (in seconds)
|
347
|
+
$config['password_vpopmaild_timeout'] = 10;
|
348
|
+
|
349
|
+
|
350
|
+
// cPanel Driver options
|
351
|
+
// ---------------------
|
352
|
+
// The cPanel Host name
|
353
|
+
$config['password_cpanel_host'] = 'host.domain.com';
|
354
|
+
|
355
|
+
// The cPanel port to use
|
356
|
+
$config['password_cpanel_port'] = 2096;
|
357
|
+
|
358
|
+
|
359
|
+
// XIMSS (Communigate server) Driver options
|
360
|
+
// -----------------------------------------
|
361
|
+
// Host name of the Communigate server
|
362
|
+
$config['password_ximss_host'] = 'mail.example.com';
|
363
|
+
|
364
|
+
// XIMSS port on Communigate server
|
365
|
+
$config['password_ximss_port'] = 11024;
|
366
|
+
|
367
|
+
|
368
|
+
// chpasswd Driver options
|
369
|
+
// ---------------------
|
370
|
+
// Command to use (see "Sudo setup" in README)
|
371
|
+
$config['password_chpasswd_cmd'] = 'sudo /usr/sbin/chpasswd 2> /dev/null';
|
372
|
+
|
373
|
+
|
374
|
+
// XMail Driver options
|
375
|
+
// ---------------------
|
376
|
+
$config['xmail_host'] = 'localhost';
|
377
|
+
$config['xmail_user'] = 'YourXmailControlUser';
|
378
|
+
$config['xmail_pass'] = 'YourXmailControlPass';
|
379
|
+
$config['xmail_port'] = 6017;
|
380
|
+
|
381
|
+
|
382
|
+
// hMail Driver options
|
383
|
+
// -----------------------
|
384
|
+
// Remote hMailServer configuration
|
385
|
+
// true: HMailserver is on a remote box (php.ini: com.allow_dcom = true)
|
386
|
+
// false: Hmailserver is on same box as PHP
|
387
|
+
$config['hmailserver_remote_dcom'] = false;
|
388
|
+
// Windows credentials
|
389
|
+
$config['hmailserver_server'] = [
|
390
|
+
'Server' => 'localhost', // hostname or ip address
|
391
|
+
'Username' => 'administrator', // windows username
|
392
|
+
'Password' => 'password' // windows user password
|
393
|
+
];
|
394
|
+
|
395
|
+
|
396
|
+
// pw_usermod Driver options
|
397
|
+
// --------------------------
|
398
|
+
// Use comma delimited exlist to disable password change for users.
|
399
|
+
// See "Sudo setup" in README file.
|
400
|
+
$config['password_pw_usermod_cmd'] = 'sudo /usr/sbin/pw usermod -h 0 -n';
|
401
|
+
|
402
|
+
|
403
|
+
// DBMail Driver options
|
404
|
+
// -------------------
|
405
|
+
// Additional arguments for the dbmail-users call
|
406
|
+
$config['password_dbmail_args'] = '-p sha512';
|
407
|
+
|
408
|
+
|
409
|
+
// Expect Driver options
|
410
|
+
// ---------------------
|
411
|
+
// Location of expect binary
|
412
|
+
$config['password_expect_bin'] = '/usr/bin/expect';
|
413
|
+
|
414
|
+
// Location of expect script (see helpers/passwd-expect)
|
415
|
+
$config['password_expect_script'] = '';
|
416
|
+
|
417
|
+
// Arguments for the expect script. See the helpers/passwd-expect file for details.
|
418
|
+
// This is probably a good starting default:
|
419
|
+
// -telnet -host localhost -output /tmp/passwd.log -log /tmp/passwd.log
|
420
|
+
$config['password_expect_params'] = '';
|
421
|
+
|
422
|
+
|
423
|
+
// smb Driver options
|
424
|
+
// ---------------------
|
425
|
+
// Samba host (default: localhost)
|
426
|
+
// Supported replacement variables:
|
427
|
+
// %n - hostname ($_SERVER['SERVER_NAME'])
|
428
|
+
// %t - hostname without the first part
|
429
|
+
// %d - domain (http hostname $_SERVER['HTTP_HOST'] without the first part)
|
430
|
+
$config['password_smb_host'] = 'localhost';
|
431
|
+
// Location of smbpasswd binary (default: /usr/bin/smbpasswd)
|
432
|
+
$config['password_smb_cmd'] = '/usr/bin/smbpasswd';
|
433
|
+
|
434
|
+
// gearman driver options
|
435
|
+
// ---------------------
|
436
|
+
// Gearman host (default: localhost)
|
437
|
+
$config['password_gearman_host'] = 'localhost';
|
438
|
+
|
439
|
+
|
440
|
+
// Plesk/PPA Driver options
|
441
|
+
// --------------------
|
442
|
+
// You need to allow RCP for IP of roundcube-server in Plesk/PPA Panel
|
443
|
+
|
444
|
+
// Plesk RCP Host
|
445
|
+
$config['password_plesk_host'] = '10.0.0.5';
|
446
|
+
|
447
|
+
// Plesk RPC Username
|
448
|
+
$config['password_plesk_user'] = 'admin';
|
449
|
+
|
450
|
+
// Plesk RPC Password
|
451
|
+
$config['password_plesk_pass'] = 'password';
|
452
|
+
|
453
|
+
// Plesk RPC Port
|
454
|
+
$config['password_plesk_rpc_port'] = '8443';
|
455
|
+
|
456
|
+
// Plesk RPC Path
|
457
|
+
$config['password_plesk_rpc_path'] = 'enterprise/control/agent.php';
|
458
|
+
|
459
|
+
|
460
|
+
// kpasswd Driver options
|
461
|
+
// ---------------------
|
462
|
+
// Command to use
|
463
|
+
$config['password_kpasswd_cmd'] = '/usr/bin/kpasswd';
|
464
|
+
|
465
|
+
|
466
|
+
// Modoboa Driver options
|
467
|
+
// ---------------------
|
468
|
+
// put token number from Modoboa server
|
469
|
+
$config['password_modoboa_api_token'] = '';
|
470
|
+
|
471
|
+
|
472
|
+
// Mail-in-a-Box Driver options
|
473
|
+
// ----------------------------
|
474
|
+
// the url to the control panel of Mail-in-a-Box, e.g. https://box.example.com/admin/
|
475
|
+
$config['password_miab_url'] = '';
|
476
|
+
// name (email) of the admin user used to access api
|
477
|
+
$config['password_miab_user'] = '';
|
478
|
+
// password of the admin user used to access api
|
479
|
+
$config['password_miab_pass'] = '';
|
480
|
+
|
481
|
+
|
482
|
+
// TinyCP
|
483
|
+
// --------------
|
484
|
+
// TinyCP host, port, user and pass.
|
485
|
+
$config['password_tinycp_host'] = '';
|
486
|
+
$config['password_tinycp_port'] = '';
|
487
|
+
$config['password_tinycp_user'] = '';
|
488
|
+
$config['password_tinycp_pass'] = '';
|
489
|
+
|
490
|
+
// HTTP-API Driver options
|
491
|
+
// ---------------------
|
492
|
+
|
493
|
+
// Base URL of password change API. HTTPS recommended.
|
494
|
+
$config['password_httpapi_url'] = 'https://passwordserver.example.org';
|
495
|
+
|
496
|
+
// Method (also affects how vars are sent). Default: POST.
|
497
|
+
// GET is not recommended as passwords will appears in the remote webserver's access log
|
498
|
+
$config['password_httpapi_method'] = 'POST';
|
499
|
+
|
500
|
+
// GET or POST variable in which to put the username
|
501
|
+
$config['password_httpapi_var_user'] = 'user';
|
502
|
+
|
503
|
+
// GET or POST variable in which to put the current password
|
504
|
+
$config['password_httpapi_var_curpass'] = 'curpass';
|
505
|
+
|
506
|
+
// GET or POST variable in which to put the new password
|
507
|
+
$config['password_httpapi_var_newpass'] = 'newpass';
|
508
|
+
|
509
|
+
// HTTP codes other than 2xx are assumed to mean the password changed failed.
|
510
|
+
// Optionally, if set, this variable additionally checks the body of the 2xx response to
|
511
|
+
// confirm the change. It's a preg_match regular expression.
|
512
|
+
$config['password_httpapi_expect'] = '/^ok$/i';
|
513
|
+
|
514
|
+
|
515
|
+
// dovecot_passwdfile
|
516
|
+
// ------------------
|
517
|
+
$config['password_dovecot_passwdfile_path'] = '/etc/mail/imap.passwd';
|
518
|
+
|
519
|
+
|
520
|
+
// Mailcow driver options
|
521
|
+
// ----------------------
|
522
|
+
$config['password_mailcow_api_host'] = 'localhost';
|
523
|
+
$config['password_mailcow_api_token'] = '';
|
@@ -0,0 +1,49 @@
|
|
1
|
+
roundcubeone:
|
2
|
+
fqdn: "yourroundcubeone.yourdomain.com"
|
3
|
+
sysadmin_email: "adminname@yourdomain.com"
|
4
|
+
networks: ["mysqlone-network"]
|
5
|
+
database_type: "mysql"
|
6
|
+
database_host: mysqlone
|
7
|
+
database_port: 3306
|
8
|
+
database_user: <%= SmartMachine.credentials.dig(:roundcubeone, :database_user) %>
|
9
|
+
database_pass: <%= SmartMachine.credentials.dig(:roundcubeone, :database_pass) %>
|
10
|
+
database_name: <%= SmartMachine.credentials.dig(:roundcubeone, :database_name) %>
|
11
|
+
mail_host: "ssl://youremailerone.yourdomain.com"
|
12
|
+
mail_port: 993
|
13
|
+
smtp_host: "tls://youremailerone.yourdomain.com"
|
14
|
+
smtp_port: 587
|
15
|
+
request_path: "/"
|
16
|
+
plugins: ["password", "managesieve", "archive", "zipdownload"]
|
17
|
+
plugins_password_database_type: "mysql"
|
18
|
+
plugins_password_database_host: mysqlone
|
19
|
+
plugins_password_database_user: <%= SmartMachine.credentials.dig(:emailerone, :mysql_user) %>
|
20
|
+
plugins_password_database_pass: <%= SmartMachine.credentials.dig(:emailerone, :mysql_password) %>
|
21
|
+
plugins_password_database_name: <%= SmartMachine.credentials.dig(:emailerone, :mysql_database_name) %>
|
22
|
+
skin: "elastic"
|
23
|
+
upload_max_filesize: "5M"
|
24
|
+
aspell_dictionaries: ["en"]
|
25
|
+
|
26
|
+
# roundcubetwo:
|
27
|
+
# fqdn: "yourroundcubetwo.yourdomain.com"
|
28
|
+
# sysadmin_email: "adminname@yourdomain.com"
|
29
|
+
# networks: ["mysqlone-network"]
|
30
|
+
# database_type: "mysql"
|
31
|
+
# database_host: mysqlone
|
32
|
+
# database_port: 3306
|
33
|
+
# database_user: <%= SmartMachine.credentials.dig(:roundcubetwo, :database_user) %>
|
34
|
+
# database_pass: <%= SmartMachine.credentials.dig(:roundcubetwo, :database_pass) %>
|
35
|
+
# database_name: <%= SmartMachine.credentials.dig(:roundcubetwo, :database_name) %>
|
36
|
+
# mail_host: "ssl://youremailertwo.yourdomain.com"
|
37
|
+
# mail_port: 993
|
38
|
+
# smtp_host: "tls://youremailertwo.yourdomain.com"
|
39
|
+
# smtp_port: 587
|
40
|
+
# request_path: "/"
|
41
|
+
# plugins: ["password", "managesieve", "archive", "zipdownload"]
|
42
|
+
# plugins_password_database_type: "mysql"
|
43
|
+
# plugins_password_database_host: mysqlone
|
44
|
+
# plugins_password_database_user: <%= SmartMachine.credentials.dig(:emailertwo, :mysql_user) %>
|
45
|
+
# plugins_password_database_pass: <%= SmartMachine.credentials.dig(:emailertwo, :mysql_password) %>
|
46
|
+
# plugins_password_database_name: <%= SmartMachine.credentials.dig(:emailertwo, :mysql_database_name) %>
|
47
|
+
# skin: "elastic"
|
48
|
+
# upload_max_filesize: "5M"
|
49
|
+
# aspell_dictionaries: ["en"]
|