Problem configuring lmtp on cyrus backend
Dan White
dwhite at olp.net
Wed Mar 16 11:50:38 EDT 2011
On 16/03/11 14:12 +0100, Michael Menge wrote:
>Hi,
>
>i have a problem configuring cyrus backend in a almost traditional
>murder setup.
>
>I have one master process which starts the forntend and backend services.
>The forntend services use /etc/imapd_fe.conf as config file and listen
>on the external network interface and the backend services listen to
>the internal network interfaces and use /etc/imapd_be.conf
>
>The lmtpdproxy delivers the mail to the backend using lmtp over tcp.
>The backend lmtpd asks the mupdate server where the mailbox is,
>which results in the "wrong" answer that the mailbox is remote.
>The backend tries to proxies the mail to an other lmtpd
>on the same backend. This results in an infinite loop.
>I tried this with 2.4.6 and 2.3.16.
>
>AFAIK the backend config must contain the mupdate_server
>because create mailbox, rename mailbox and delete mailbox
>information must be send to the mupdate master.
>But if mupdate_server is configured lmtpd will ask
>the mupdate_server where the mailbox is, which will always
>result in an "remote mailbox" as answer
>
>What do i need to change?
>
>Regards
>
> Michael Menge
>
>---------- cyrus.conf -------------------------------
>
>START {
> fe_recover cmd="ctl_cyrusdb -r -C /etc/imapd_fe.conf"
> be_recover cmd="ctl_cyrusdb -r -C /etc/imapd_be.conf"
> be_mupdatepush cmd="ctl_mboxlist -m -C /etc/imapd_be.conf"
>}
>
>SERVICES {
> imap cmd="imapd -C /etc/imapd_fe.conf"
>listen="localhost:imap" prefork=1 maxfds=1024
> imaps cmd="imapd -U 50 -s -C /etc/imapd_fe.conf"
>listen="mailserv05.uni-tuebingen.de:imaps" prefork=1 maxfds=1024
> feimaps cmd="imapd -U 50 -s -C /etc/imapd_fe.conf"
>listen="mailserv.uni-tuebingen.de:imaps" prefork=1 maxfds=1024
Shouldn't these be 'proxyd' instead of 'imapd'?
> pop3s cmd="pop3d -s -C /etc/imapd_fe.conf"
>listen="mailserv05.uni-tuebingen.de:pop3s" prefork=1 maxfds=1024
> fepop3s cmd="pop3d -s -C /etc/imapd_fe.conf"
>listen="mailserv.uni-tuebingen.de:pop3s" prefork=1 maxfds=1024
> sieve cmd="timsieved -C /etc/imapd_fe.conf"
>listen="mailserv05.uni-tuebingen.de:sieve" prefork=0 maxfds=1024
> lmtpunix cmd="lmtpd -U 5 -C /etc/imapd_fe.conf"
>listen="/var/spool/postfix/public/lmtp" prefork=1 maxfds=1024
And I think this should be lmtpproxyd.
> lomupdate cmd="mupdate -C /etc/imapd_fe.conf"
>listen="mailserv05.uni-tuebingen.de:mupdate" prefork=1
Is the mupdate master on another server? If not (and you intend for
imapd_fe.conf to be the mudpate master), you need to specify a -m parameter
to mupdate here.
> beimap cmd="imapd -U 50 -C /etc/imapd_be.conf"
>listen="be05.mail.localhost:imap" prefork=1 maxfds=1024
> beimaps cmd="imapd -U 50 -s -C /etc/imapd_be.conf"
>listen="be05.mail.localhost:imaps" prefork=1 maxfds=1024
> bepop3s cmd="pop3d -s -C /etc/imapd_be.conf"
>listen="be05.mail.localhost:pop3s" prefork=1 maxfds=1024
> besieve cmd="timsieved -C /etc/imapd_be.conf"
>listen="be05.mail.localhost:sieve" prefork=0 maxfds=1024
> belmtp cmd="lmtpd -U 5 -C /etc/imapd_be.conf"
>listen="be05.mail.localhost:lmtp" prefork=1 maxfds=1024
>}
>
>EVENTS {
> fecheckpoint cmd="ctl_cyrusdb -c -C /etc/imapd_fe.conf" period=30
> becheckpoint cmd="ctl_cyrusdb -c -C /etc/imapd_be.conf" period=30
>
> bedelprune cmd="cyr_expire -E 3 -X 4 -D 4 -C
>/etc/imapd_be.conf" at=0100
>
> fetlsprune cmd="tls_prune -C /etc/imapd_fe.conf" at=0400
> betlsprune cmd="tls_prune -C /etc/imapd_be.conf" at=0430
>
> besquatter cmd="squatter -C /etc/imapd_be.conf -s -r -i user" at=2200
>}
>
>--------------- imapd_be.conf ------------------------------
>servername: be05.mail.localhost
>configdirectory: /home/cyrus-be
>partition-default: /home/cyrus-be
>defaultpartition: default
>admins: xxxxx xxxxx-xxxxxxx
>
>mupdate_server: mupdate.mail.localhost
>mupdate_port: 3905
>mupdate_authname: xxxxx-xxxxxxx
>mupdate_password: xxxxxxxx
>proxy_authname: xxxxx-xxxxxxx
>proxy_password: xxxxxxxx
>
>allowusermoves: 1
>allowallsubscribe: 1
>
>sievedir: /home/cyrus-be/sieve
>sieve_extensions: fileinto reject vacation imapflags notify include
>envelope body relational regex subaddress copy
>sieve_maxscriptsize: 150
>
>sasl_pwcheck_method: saslauthd
>sasl_mech_list: plain login
>
>---------------------------------------------------------
What does your imapd_fe.conf look like?
Do:
ctl_mboxlist -C /etc/imapd_fe.conf -d
ctl_mboxlist -C /etc/imapd_be.conf -d
and see if the output is sensible. The output of the backend should
reference a local partition for the location of your mailboxes ('default'),
and should not reference a remote server.
In the frontend mailbox list output, you should see the location of the
mailbox list pointing to <backend>!default, or something that resolves
(uniquely) to the backend.
--
Dan White
More information about the Info-cyrus
mailing list