I'm trying to set up replication between two servers and I've hit a snag. I have two users and am using mbox files. If anybody has a sample config file for a simple system like mine I would really be grateful to see it.

Thanks,

The error I'm getting is:

Mar 23 14:07:31 knute2 dovecot: doveadm(192.168.3.100,nobody): Error: user nobody: Initialization failed: Namespace '': mkdir(/nonexistent/mail) failed: Permission denied (euid=65534(nobody) egid=65534(nogroup)) Mar 23 14:07:31 knute2 dovecot: doveadm(192.168.3.100,nobody): Error: dsync-server: User init failed Mar 23 14:07:31 knute2 dovecot: doveadm(nobody): Error: sync: Failed to start dsync-server command: 75

knute@knute2:/etc/dovecot/conf.d $ sudo doveadm user '*'
nobody
knute
penny

I don't know why the user 'nobody' shows up here? nobody is in the /etc/passwd file but he has no group.

knute@knute2:/ $ cat /etc/passwd | grep nobody
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin

-----------------------

I created a separate config file as suggested in Peer Heinlein's book.

knute@knute2:/etc/dovecot/conf.d $ cat 12-replication.conf
mail_plugins = $mail_plugins notify replication

service replicator {
    process_min_avail = 1
    unix_listener replicator-doveadm {
        mode = 0600
    }
}

service aggregator {
    fifo_listener replication-notify-fifo {
        mode = 0666
    }
    unix_listener replication-notify {
        mode = 0666
    }
}

service doveadm {
    inet_listener {
        port = 30303
    }
}

#doveadm_port = 30303

doveadm_password = secret

plugin {
    mail_replica = tcp:knute2.frazmtn.com:30303
}

replication_dsync_parameters = -d -N -l 30 -U

---------------------

knute@knute2:/etc/dovecot/conf.d $ dovecot -n
# 2.2.13: /etc/dovecot/dovecot.conf
# OS: Linux 4.1.19-v7+ armv7l Debian 8.0
doveadm_password = secret
mail_location = mbox:~/mail:INBOX=/var/mail/%u
mail_plugins = " notify replication"
namespace {
  inbox = yes
  location =
  mailbox {
    special_use = \Drafts
    name = Drafts
  }
  mailbox {
    special_use = \Junk
    name = Junk
  }
  mailbox {
    special_use = \Sent
    name = Sent
  }
  mailbox {
    special_use = \Sent
    name = Sent Messages
  }
  mailbox {
    auto = subscribe
    special_use = \Trash
    name = Trash
  }
  prefix =
  name = inbox
}
passdb {
  driver = pam
}
plugin {
  mail_replica = tcp:knute3.frazmtn.com:30303
}
protocols = " imap"
service {
  fifo_listener {
    mode = 0666
    path = replication-notify-fifo
  }
  unix_listener {
    mode = 0666
    path = replication-notify
  }
  name = aggregator
}
service anvil-auth-penalty {
  name = anvil
}
service auth-worker {
  name = auth-worker
}
service auth-client {
  name = auth
}
service config {
  name = config
}
service dict {
  name = dict
}
service login/proxy-notify {
  name = director
}
service dns-client {
  name = dns_client
}
service {
  inet_listener {
    port = 30303
    name =
  }
  name = doveadm
}
service imap {
  inet_listener {
    port = 0
    name = imaps
  }
  name = imap-login
}
service imap-urlauth {
  name = imap-urlauth-login
}
service imap-urlauth-worker {
  name = imap-urlauth-worker
}
service token-login/imap-urlauth {
  name = imap-urlauth
}
service login/imap {
  name = imap
}
service indexer-worker {
  name = indexer-worker
}
service indexer {
  name = indexer
}
service ipc {
  name = ipc
}
service lmtp {
  name = lmtp
}
service log-errors {
  name = log
}
service {
  inet_listener {
    port = 0
    name = pop3
  }
  inet_listener {
    port = 0
    name = pop3s
  }
  name = pop3-login
}
service login/pop3 {
  name = pop3
}
service {
  process_min_avail = 1
  unix_listener {
    mode = 0600
    path = replicator-doveadm
  }
  name = replicator
}
service login/ssl-params {
  name = ssl-params
}
service stats-mail {
  name = stats
}
ssl_cert = </etc/dovecot/dovecot.pem
ssl_key = </etc/dovecot/private/dovecot.pem
userdb {
  driver = passwd
}
protocol lmtp {
  service replication-notify-fifo {
    name = aggregator
  }
  service anvil-auth-penalty {
    name = anvil
  }
  service auth-worker {
    name = auth-worker
  }
  service auth-client {
    name = auth
  }
  service config {
    name = config
  }
  service dict {
    name = dict
  }
  service login/proxy-notify {
    name = director
  }
  service dns-client {
    name = dns_client
  }
  service doveadm-server {
    name = doveadm
  }
  service imap {
    name = imap-login
  }
  service imap-urlauth {
    name = imap-urlauth-login
  }
  service imap-urlauth-worker {
    name = imap-urlauth-worker
  }
  service token-login/imap-urlauth {
    name = imap-urlauth
  }
  service login/imap {
    name = imap
  }
  service indexer-worker {
    name = indexer-worker
  }
  service indexer {
    name = indexer
  }
  service ipc {
    name = ipc
  }
  service lmtp {
    name = lmtp
  }
  service log-errors {
    name = log
  }
  service pop3 {
    name = pop3-login
  }
  service login/pop3 {
    name = pop3
  }
  service replicator-doveadm {
    name = replicator
  }
  service login/ssl-params {
    name = ssl-params
  }
  service stats-mail {
    name = stats
  }
}
protocol lda {
  service replication-notify-fifo {
    name = aggregator
  }
  service anvil-auth-penalty {
    name = anvil
  }
  service auth-worker {
    name = auth-worker
  }
  service auth-client {
    name = auth
  }
  service config {
    name = config
  }
  service dict {
    name = dict
  }
  service login/proxy-notify {
    name = director
  }
  service dns-client {
    name = dns_client
  }
  service doveadm-server {
    name = doveadm
  }
  service imap {
    name = imap-login
  }
  service imap-urlauth {
    name = imap-urlauth-login
  }
  service imap-urlauth-worker {
    name = imap-urlauth-worker
  }
  service token-login/imap-urlauth {
    name = imap-urlauth
  }
  service login/imap {
    name = imap
  }
  service indexer-worker {
    name = indexer-worker
  }
  service indexer {
    name = indexer
  }
  service ipc {
    name = ipc
  }
  service lmtp {
    name = lmtp
  }
  service log-errors {
    name = log
  }
  service pop3 {
    name = pop3-login
  }
  service login/pop3 {
    name = pop3
  }
  service replicator-doveadm {
    name = replicator
  }
  service login/ssl-params {
    name = ssl-params
  }
  service stats-mail {
    name = stats
  }
}
protocol imap {
  mail_max_userip_connections = 32
  service replication-notify-fifo {
    name = aggregator
  }
  service anvil-auth-penalty {
    name = anvil
  }
  service auth-worker {
    name = auth-worker
  }
  service auth-client {
    name = auth
  }
  service config {
    name = config
  }
  service dict {
    name = dict
  }
  service login/proxy-notify {
    name = director
  }
  service dns-client {
    name = dns_client
  }
  service doveadm-server {
    name = doveadm
  }
  service imap {
    name = imap-login
  }
  service imap-urlauth {
    name = imap-urlauth-login
  }
  service imap-urlauth-worker {
    name = imap-urlauth-worker
  }
  service token-login/imap-urlauth {
    name = imap-urlauth
  }
  service login/imap {
    name = imap
  }
  service indexer-worker {
    name = indexer-worker
  }
  service indexer {
    name = indexer
  }
  service ipc {
    name = ipc
  }
  service lmtp {
    name = lmtp
  }
  service log-errors {
    name = log
  }
  service pop3 {
    name = pop3-login
  }
  service login/pop3 {
    name = pop3
  }
  service replicator-doveadm {
    name = replicator
  }
  service login/ssl-params {
    name = ssl-params
  }
  service stats-mail {
    name = stats
  }
}

--

Knute Johnson

Reply via email to