On 16/06/15 14:27, lejeczek wrote:> On 16/06/15 14:16, lejeczek wrote: >> On 16/06/15 13:14, B wrote: >>> P, >>> >>> On Tue, Jun 16, 2015 at 01:07:52PM +0100, lejeczek wrote: >>> >>>> I've barely started reading on dsync and I wonder.. >>>> would you know if it is possible to sync/replicate only >>>> specific >>>> domain(users)? or it's always the whole lot? >>> See >>> http://blog.dovecot.org/2012/02/dovecot-clustering-with-dsync-based.html >>> >>> >>> basically set 'mail_replica' to 'remote:server3' in your >>> userdb >>> >>> >>> B >>> >> thanks B, >> userdb as appose to plugin? >> it's quite unclear what to put there, to a beginner. >> > also if I put mail_replica (having the rest, pretty much > take form wiki in repl.conf) into userdb > I get: > > line 24: Unknown setting: mail_replica > > this userdb uses ldap driver in case it may matter, I > guess it should not. >gee, I cannot figure it out, and I'd guess it must be sort of typical situation, where one would want to avoid replication os local/system users and only sync a virtual domain(s), no? Can it be done by means of config files?
On 06/17/2015 06:07 PM, lejeczek wrote:> On 16/06/15 14:27, lejeczek wrote: >> On 16/06/15 14:16, lejeczek wrote: >>> On 16/06/15 13:14, B wrote: >>>> P, >>>> >>>> On Tue, Jun 16, 2015 at 01:07:52PM +0100, lejeczek wrote: >>>> >>>>> I've barely started reading on dsync and I wonder.. >>>>> would you know if it is possible to sync/replicate only specific >>>>> domain(users)? or it's always the whole lot? >>>> See >>>> http://blog.dovecot.org/2012/02/dovecot-clustering-with-dsync-based.html >>>> >>>> basically set 'mail_replica' to 'remote:server3' in your userdb >>>> >>>> >>>> B >>>> >>> thanks B, >>> userdb as appose to plugin? >>> it's quite unclear what to put there, to a beginner. >>> >> also if I put mail_replica (having the rest, pretty much take form wiki in repl.conf) into userdb >> I get: >> >> line 24: Unknown setting: mail_replica >> >> this userdb uses ldap driver in case it may matter, I guess it should not. >> > gee, I cannot figure it out, and I'd guess it must be sort of typical situation, > where one would want to avoid replication os local/system users and only sync a virtual domain(s), no? > Can it be done by means of config files?What the original answer meant was, that you should put it in your userdb backend, in this case LDAP. So add a field in LDAP, which for users you want to replicate points to the replication destination and for other users is blank. then add it via a LDAP attribute template, e.g. user_attrs = \ =mail_replica=%{ldap:nameOfFieldContainingReplica} Make sure (with auth_debug=yes and mail_debug=yes in your config)the mail_replica is empty for users you do not want to replicate. Please read http://wiki2.dovecot.org/AuthDatabase/LDAP/Userdb http://wiki2.dovecot.org/Replication?highlight=%28mail_replica%29 and http://wiki2.dovecot.org/Tools/Doveadm/Sync?highlight=%28mail_replica%29 carefully. br, Teemu Huovila
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Thu, 18 Jun 2015, Teemu Huovila wrote:> On 06/17/2015 06:07 PM, lejeczek wrote: >> On 16/06/15 14:27, lejeczek wrote: >>> On 16/06/15 14:16, lejeczek wrote: >>>> On 16/06/15 13:14, B wrote: >>>>> On Tue, Jun 16, 2015 at 01:07:52PM +0100, lejeczek wrote: >>>>> >>>>>> I've barely started reading on dsync and I wonder.. >>>>>> would you know if it is possible to sync/replicate only specific >>>>>> domain(users)? or it's always the whole lot? >>>>> See >>>>> http://blog.dovecot.org/2012/02/dovecot-clustering-with-dsync-based.html >>>>> >>>>> basically set 'mail_replica' to 'remote:server3' in your userdb>>>> userdb as appose to plugin? >>>> it's quite unclear what to put there, to a beginner. >>>> >>> also if I put mail_replica (having the rest, pretty much take form wiki in repl.conf) into userdb >>> I get: >>> >>> line 24: Unknown setting: mail_replica >>> >>> this userdb uses ldap driver in case it may matter, I guess it should not. >>> >> gee, I cannot figure it out, and I'd guess it must be sort of typical situation, >> where one would want to avoid replication os local/system users and only sync a virtual domain(s), no? >> Can it be done by means of config files? > What the original answer meant was, that you should put it in your userdb backend, in this case LDAP. So add a field in LDAP, > which for users you want to replicate points to the replication destination and for other users is blank. then add it via a LDAP > attribute template, e.g. > > user_attrs = \ > =mail_replica=%{ldap:nameOfFieldContainingReplica} > > Make sure (with auth_debug=yes and mail_debug=yes in your config)the mail_replica is empty for users you do not want to replicate. > > Please read http://wiki2.dovecot.org/AuthDatabase/LDAP/Userdb http://wiki2.dovecot.org/Replication?highlight=%28mail_replica%29 > and http://wiki2.dovecot.org/Tools/Doveadm/Sync?highlight=%28mail_replica%29 carefully.I would recommend using the generic http://wiki2.dovecot.org/UserDatabase/ExtraFields?highlight=%28userdb_import%29 for such settings, enable it with: user_attrs = customLDAPattribute=userdb_import pass_attrs = customLDAPattribute=userdb_userdb_import then populate any UserDB setting as <TAB> separated list in the specified LDAP attribute. If the attribute is missing, nothing happens. If you need a setting: customLDAPattribute: mail_replica=.... - -- Steffen Kaiser -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQEVAwUBVYLIR3z1H7kL/d9rAQIJmAf/SQqK8BtTL1XhMatjFurQ7BSrPhKAbcyO ECcIPCym1AI5NCnDagsrDr8FR5ZV9L5VGrkmaDlu3fz1ZbWJliEcyFJVvdhuzDAp R5ptjieJ903kQ65mM+9SZw8PfyPb48khOz08jw+i8yTkSuJP8OBiB765UB3fz5IC fK4TvjU79xtTMUsCP5IC67XIX7EOKZOTf4NhgpOtWnj6oTXl77DU0bVxcSpr5PZg 8cfTeJoAJelIgWpUNYv41I6/7992LYNrincURTNzm65XFc9lj1S5VikI1zExXLOQ bMvM7+D7a6lV1WUDs7h1uDI6AZIaATJA/QGu3gVyA6tL0zjfhZXF+g==pDhC -----END PGP SIGNATURE-----
On 18/06/15 14:01, Teemu Huovila wrote:> On 06/17/2015 06:07 PM, lejeczek wrote: >> On 16/06/15 14:27, lejeczek wrote: >>> On 16/06/15 14:16, lejeczek wrote: >>>> On 16/06/15 13:14, B wrote: >>>>> P, >>>>> >>>>> On Tue, Jun 16, 2015 at 01:07:52PM +0100, lejeczek wrote: >>>>> >>>>>> I've barely started reading on dsync and I wonder.. >>>>>> would you know if it is possible to sync/replicate only specific >>>>>> domain(users)? or it's always the whole lot? >>>>> See >>>>> http://blog.dovecot.org/2012/02/dovecot-clustering-with-dsync-based.html >>>>> >>>>> basically set 'mail_replica' to 'remote:server3' in your userdb >>>>> >>>>> >>>>> B >>>>> >>>> thanks B, >>>> userdb as appose to plugin? >>>> it's quite unclear what to put there, to a beginner. >>>> >>> also if I put mail_replica (having the rest, pretty much take form wiki in repl.conf) into userdb >>> I get: >>> >>> line 24: Unknown setting: mail_replica >>> >>> this userdb uses ldap driver in case it may matter, I guess it should not. >>> >> gee, I cannot figure it out, and I'd guess it must be sort of typical situation, >> where one would want to avoid replication os local/system users and only sync a virtual domain(s), no? >> Can it be done by means of config files? > What the original answer meant was, that you should put it in your userdb backend, in this case LDAP. So add a field in LDAP, > which for users you want to replicate points to the replication destination and for other users is blank. then add it via a LDAP > attribute template, e.g. > > user_attrs = \ > =mail_replica=%{ldap:nameOfFieldContainingReplica} > > Make sure (with auth_debug=yes and mail_debug=yes in your config)the mail_replica is empty for users you do not want to replicate. > > Please read http://wiki2.dovecot.org/AuthDatabase/LDAP/Userdb http://wiki2.dovecot.org/Replication?highlight=%28mail_replica%29 > and http://wiki2.dovecot.org/Tools/Doveadm/Sync?highlight=%28mail_replica%29 carefully. > > br, > Teemu Huovila >ok, I see, thank you before now I delve into trying - having used wiki howto/example literally to setup replication I see that dsync attempts to replicate every user above my first_valid_uid, which already is a problem since this uid is my vmail=492 (I use if for non system users) and there are other system users up to uid=1000 (where "regular" users (ldap backend) start, a common scenario I believe). Now, this wasn't a problem cause no system user ever tried to login to dovecot but now with replication it seems messy! If I suss out replication for users from a specific backend that does not somehow automatically/miraculously deactivate replication for all the other users, does it? here just in case is my simple repl-config service replicator { process_min_avail = 1 unix_listener replicator-doveadm { mode = 0660 } } service aggregator { fifo_listener replication-notify-fifo { user = vmail } unix_listener replication-notify { user = vmail } } service doveadm { inet_listener { port = 12345 } } #doveadm_port = 12345 doveadm_password = secret plugin { mail_replica = tcp:rider.ccnr.biotechnology:12345 # use doveadm_port #mail_replica = tcp:anotherhost.example.com:12345 # use port 12345 explicitly }
On 18/06/15 14:01, Teemu Huovila wrote:> On 06/17/2015 06:07 PM, lejeczek wrote: >> On 16/06/15 14:27, lejeczek wrote: >>> On 16/06/15 14:16, lejeczek wrote: >>>> On 16/06/15 13:14, B wrote: >>>>> P, >>>>> >>>>> On Tue, Jun 16, 2015 at 01:07:52PM +0100, lejeczek wrote: >>>>> >>>>>> I've barely started reading on dsync and I wonder.. >>>>>> would you know if it is possible to sync/replicate only specific >>>>>> domain(users)? or it's always the whole lot? >>>>> See >>>>> http://blog.dovecot.org/2012/02/dovecot-clustering-with-dsync-based.html >>>>> >>>>> basically set 'mail_replica' to 'remote:server3' in your userdb >>>>> >>>>> >>>>> B >>>>> >>>> thanks B, >>>> userdb as appose to plugin? >>>> it's quite unclear what to put there, to a beginner. >>>> >>> also if I put mail_replica (having the rest, pretty much take form wiki in repl.conf) into userdb >>> I get: >>> >>> line 24: Unknown setting: mail_replica >>> >>> this userdb uses ldap driver in case it may matter, I guess it should not. >>> >> gee, I cannot figure it out, and I'd guess it must be sort of typical situation, >> where one would want to avoid replication os local/system users and only sync a virtual domain(s), no? >> Can it be done by means of config files? > What the original answer meant was, that you should put it in your userdb backend, in this case LDAP. So add a field in LDAP, > which for users you want to replicate points to the replication destination and for other users is blank. then add it via a LDAP > attribute template, e.g. > > user_attrs = \ > =mail_replica=%{ldap:nameOfFieldContainingReplica} > > Make sure (with auth_debug=yes and mail_debug=yes in your config)the mail_replica is empty for users you do not want to replicate. > > Please read http://wiki2.dovecot.org/AuthDatabase/LDAP/Userdb http://wiki2.dovecot.org/Replication?highlight=%28mail_replica%29 > and http://wiki2.dovecot.org/Tools/Doveadm/Sync?highlight=%28mail_replica%29 carefully. > > br, > Teemu Huovila >ok, I hope I'm beginning to understand this, do we have an attribute good for this? Common/default schemas do not seem to provide anything suitable. many thanks.