Problem with replication between two servers (ispconfig)

Claudio Junior csjunior at gmail.com
Wed May 12 19:09:50 EEST 2021


Hi people,

I am setting up replication between two servers. The installation of the
servers was done using ispconfig and the operating system is debian 10.
The problem is that after following the guide for this configuration,
https://wiki.dovecot.org/Replication, when I start the server, replication
does not start. I have also checked, via tcpdump, on the port associated
with doveadm.
If I force it with the command "doveadm -D sync -u user @ domain -d -N -l
30 -U" the replication happens, but it is not updating when the user
receives emails on server01.

At this time server02 will not receive emails (via postfix), and will also
not have users accessing via pop3 or imap, but I have the idea of
configuring so that both servers have these services working.

The configuration of the servers is below:

root at server01:~# doveconf -n
# 2.3.4.1 (f79e8e7e4): /etc/dovecot/dovecot.conf
# Pigeonhole version 0.5.4 ()
# OS: Linux 4.19.0-16-amd64 x86_64 Debian 10.9
# Hostname: server01.example.net
auth_mechanisms = plain login
debug_log_path = /var/log/dovecot.debug
disable_plaintext_auth = no
doveadm_password = # hidden, use -P to show it
doveadm_port = 2727
imap_capability = +SEPCIAL-USE XLIST
listen = *,[::]
lmtp_rcpt_check_quota = yes
log_timestamp = "%Y-%m-%d %H:%M:%S "
mail_debug = yes
mail_max_userip_connections = 100
mail_plugins = quota notify replication
mail_privileged_group = vmail
namespace inbox {
  inbox = yes
  location =
  mailbox Drafts {
    special_use = \Drafts
  }
  mailbox Junk {
    auto = subscribe
    autoexpunge = 60 days
    special_use = \Junk
  }
  mailbox Sent {
    special_use = \Sent
  }
  mailbox "Sent Messages" {
    special_use = \Sent
  }
  mailbox Trash {
    auto = subscribe
    autoexpunge = 60 days
    special_use = \Trash
  }
  prefix =
  separator = .
}
passdb {
  args = /etc/dovecot/dovecot-sql.conf
  driver = sql
}
plugin {
  mail_replica = tcp:server02.example.net:2727
  quota = dict:user::file:/var/vmailquota/%d/%n/.quotausage
  quota_status_nouser = DUNNO
  quota_status_overquota = 552 5.2.2 Mailbox is full
  quota_status_success = DUNNO
  sieve = /var/vmail/%d/%n/.sieve
  sieve_after = /var/vmail/%d/%n/.ispconfig.sieve
  sieve_before = /var/vmail/%d/%n/.ispconfig-before.sieve
  sieve_max_actions = 100
  sieve_max_redirects = 25
  sieve_max_script_size = 2M
}
protocols = imap pop3 lmtp
service aggregator {
  fifo_listener replication-notify-fifo {
    mode = 0660
    user = vmail
  }
  unix_listener replication-notify {
    mode = 0660
    user = vmail
  }
}
service auth {
  unix_listener /var/spool/postfix/private/auth {
    group = postfix
    mode = 0660
    user = postfix
  }
  unix_listener auth-userdb {
    group = vmail
    mode = 0600
    user = vmail
  }
  user = root
}
service doveadm {
  inet_listener {
    port = 2727
  }
  unix_listener doveadm-server {
    user = vmail
  }
}
service imap-login {
  client_limit = 1000
  process_limit = 512
}
service lmtp {
  unix_listener /var/spool/postfix/private/dovecot-lmtp {
    group = postfix
    mode = 0600
    user = postfix
  }
}
service quota-status {
  client_limit = 1
  executable = quota-status -p postfix
  unix_listener /var/spool/postfix/private/quota-status {
    group = postfix
    mode = 0660
    user = postfix
  }
}
service replicator {
  process_min_avail = 1
  unix_listener replicator-doveadm {
    mode = 0660
    user = vmail
  }
}
service stats {
  unix_listener stats-reader {
    group = vmail
    mode = 0660
    user = vmail
  }
  unix_listener stats-writer {
    group = vmail
    mode = 0660
    user = vmail
  }
}
ssl_cert = </etc/postfix/smtpd.cert
ssl_cipher_list =
ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384
ssl_dh = # hidden, use -P to show it
ssl_key = # hidden, use -P to show it
ssl_min_protocol = TLSv1.2
userdb {
  driver = prefetch
}
userdb {
  args = /etc/dovecot/dovecot-sql.conf
  driver = sql
}
protocol imap {
  auth_verbose = yes
  mail_plugins = quota imap_quota
}
protocol pop3 {
  auth_verbose = yes
  mail_plugins = quota
  pop3_uidl_format = %08Xu%08Xv
}
protocol lda {
  mail_plugins = sieve quota
  postmaster_address = postmaster at server01.example.net
}
protocol lmtp {
  mail_plugins = quota sieve
  postmaster_address = postmaster at server01.example.net
}
local_name server01.example.net {
  ssl_cert = </etc/letsencrypt/live/server01.example.net/fullchain.pem
  ssl_key = # hidden, use -P to show it
}
local_name mail.example.net {
  ssl_cert = </etc/letsencrypt/live/mail.example.net/fullchain.pem
  ssl_key = # hidden, use -P to show it
}
local_name mail.otherdomain1.com.br {
  ssl_cert = </etc/letsencrypt/live/mail.otherdomain1.com.br/fullchain.pem
  ssl_key = # hidden, use -P to show it
}


root at server02:/var/vmail# doveconf -n
# 2.3.4.1 (f79e8e7e4): /etc/dovecot/dovecot.conf
# Pigeonhole version 0.5.4 ()
# OS: Linux 4.19.0-16-amd64 x86_64 Debian 10.9
# Hostname: server02.example.net
auth_mechanisms = plain login
debug_log_path = /var/log/dovecot.debug
disable_plaintext_auth = no
doveadm_password = # hidden, use -P to show it
doveadm_port = 2727
listen = *,[::]
log_timestamp = "%Y-%m-%d %H:%M:%S "
mail_debug = yes
mail_max_userip_connections = 100
mail_plugins = " notify replication"
mail_privileged_group = vmail
namespace inbox {
  inbox = yes
  location =
  mailbox Drafts {
    auto = no
    special_use = \Drafts
  }
  mailbox Junk {
    auto = subscribe
    autoexpunge = 60 days
    special_use = \Junk
  }
  mailbox Sent {
    auto = no
    special_use = \Sent
  }
  mailbox "Sent Messages" {
    auto = no
    special_use = \Sent
  }
  mailbox Trash {
    auto = subscribe
    autoexpunge = 60 days
    special_use = \Trash
  }
  prefix =
}
passdb {
  args = /etc/dovecot/dovecot-sql.conf
  driver = sql
}
plugin {
  mail_replica = tcp:server01.example.net:2727
  quota = dict:user::file:/var/vmailquota/%d/%n/.quotausage
  sieve = /var/vmail/%d/%n/.sieve
  sieve_max_redirects = 25
}
protocols = imap pop3
service aggregator {
  fifo_listener replication-notify-fifo {
    group = root
    mode = 0660
    user = vmail
  }
  unix_listener replication-notify {
    group = root
    mode = 0660
    user = vmail
  }
}
service auth {
  unix_listener /var/spool/postfix/private/auth {
    group = postfix
    mode = 0660
    user = postfix
  }
  unix_listener auth-userdb {
    group = vmail
    mode = 0600
    user = vmail
  }
  user = root
}
service doveadm {
  inet_listener {
    port = 2727
  }
  unix_listener doveadm-server {
    user = vmail
  }
}
service imap-login {
  client_limit = 1000
  process_limit = 512
}
service lmtp {
  unix_listener /var/spool/postfix/private/dovecot-lmtp {
    group = postfix
    mode = 0600
    user = postfix
  }
}
service replicator {
  unix_listener replicator-doveadm {
    group = root
    mode = 0660
    user = vmail
  }
}
service stats {
  unix_listener stats-reader {
    group = vmail
    mode = 0660
    user = vmail
  }
  unix_listener stats-writer {
    group = vmail
    mode = 0660
    user = vmail
  }
}
ssl_cert = </etc/postfix/smtpd.cert
ssl_dh = # hidden, use -P to show it
ssl_key = # hidden, use -P to show it
userdb {
  driver = prefetch
}
userdb {
  args = /etc/dovecot/dovecot-sql.conf
  driver = sql
}
protocol imap {
  mail_plugins = quota imap_quota
}
protocol pop3 {
  mail_plugins = quota
  pop3_uidl_format = %08Xu%08Xv
}
protocol lda {
  mail_plugins = sieve quota
  postmaster_address = postmaster at example.net
}
protocol lmtp {
  mail_plugins = quota sieve
  postmaster_address = postmaster at example.net
}
root at server02:/var/vmail#

Att

Claudio Jr.

--
Claudio da Silva Junior
csjunior at gmail.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://dovecot.org/pipermail/dovecot/attachments/20210512/6041ed41/attachment.html>


More information about the dovecot mailing list