Problem with replication between two servers (ispconfig)
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@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@server01.example.net } protocol lmtp { mail_plugins = quota sieve postmaster_address = postmaster@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@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@example.net } protocol lmtp { mail_plugins = quota sieve postmaster_address = postmaster@example.net } root@server02:/var/vmail#
Att
Claudio Jr.
-- Claudio da Silva Junior csjunior@gmail.com
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@example.net } protocol lmtp { mail_plugins = quota sieve postmaster_address = postmaster@example.net } root@server02:/var/vmail#
Att
Claudio Jr.
-- Claudio da Silva Junior csjunior@gmail.com
Did you forget to use "mail_plugins = $mail_plugins ..." here, since you are missing the base plugins completely here.
Aki
Hello Aki,
You solved the problem in which I spent a few hours looking for the solution ;-) I understand that in this case the respective plugins were not loaded and because of this, the event that sends the information to the other server is not generated. What remains now is to create a certificate, and I will use a letsencrypt certificate for server02 and enable SSL. With this, the demand is concluded.
Thank you for your help.
Claudio da Silva Junior csjunior@gmail.com
Em qua., 12 de mai. de 2021 às 13:13, Aki Tuomi <aki.tuomi@open-xchange.com> escreveu:
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@example.net } protocol lmtp { mail_plugins = quota sieve postmaster_address = postmaster@example.net } root@server02:/var/vmail#
Att
Claudio Jr.
-- Claudio da Silva Junior csjunior@gmail.com
Did you forget to use "mail_plugins = $mail_plugins ..." here, since you are missing the base plugins completely here.
Aki
participants (2)
-
Aki Tuomi
-
Claudio Junior