Front End not forwarding requests to the backend

Michael Menge michael.menge at zdv.uni-tuebingen.de
Mon Nov 7 04:30:29 EST 2016


Hi,

Quoting Alberto Cardenas via Info-cyrus <info-cyrus at lists.andrew.cmu.edu>:

> Hello,
>
>
> I'm trying to setup Cyrus Murder for testing and have three virtual  
> machines for this purpose (frontend, mupdate and backend). The three  
> machines are running Centos 6.5, SASL 2.1.23 and Cyrus 2.3.16
>

you might want to consider using a more recent cyrus Version. Cyrus 2.3.16
is about 7 years old. 2.5.10 is the latest stable, 3.0 will be coming out
soon. I don't think it has something to do with your problems but, there
have been many bugfixes and improvements since 2.3. And if you set up a
new system it would make things easier in the future.

>
> Looks like communication from frontend to muptade and from backend  
> to mupdate is working fine since I can list the mailboxes created in  
> the backend using the “cyradm -u cyrus localhost” and “lm” commands,  
> which shows the same user’s mailboxes result on the three boxes.
>
> The problem seems to be between the frontend and the backend since  
> the frontend is not forwarding the imap requests to the backend. To  
> test this, I am using the command “telnet localhost 143” on the  
> frontend server. Once that I get connected and authenticated, I  
> issue the command “select inbox”, but I receive the message “NO  
> Server(s) unavailable to complete operation”. In the  
> /usr/log/maillog file there is an error message that says “failed:  
> Connection timed out”
>
>
> I have not configured yet the smtp server, not sure if it is  
> required, so I am trying to focus to get the imap part working.
>

The smtp server is needed to for the mail delivery and sieve redirects
and vacation but not for the imap access, so you can configure it later.

>
> Any guidance would be appreciated.  I have spent several days  
> working in this problem without getting any progress at all.

First, you din't set servername in you backend imapd.conf, which could lead
to the problem that the wrong name is used in the mailbox.db on the  
mupdate server.

You can check that name used to register the created mailboxes on the  
mupdate by

mupdate> ctl_mboxlist -d

The 3. column is the name of the backend follwod by the partition name  
seperated by !
Make sure that the name used resolves to the correct ip address and  
the the backend
is listening on the imap port on this ip

The forndend needs to be able to connect to the backend on the imap  
port. You can test this
with telnet, but you can also use imtest which can help you to speak starttls.
Also check your audit logs on the frontend, selinux tends to block  
wanted connections.

also "netstat -tupen | grep :143" can help to check the connection  
between frontend and backend.

>
>
> Here are my configuration files:
> Frontend’s imap.conf
> configdirectory: /var/lib/imap
> partition-default: /var/spool/imap
> admins: cyrus murder
> sievedir: /var/lib/imap/sieve
> sendmail: /usr/sbin/sendmail
> hashimapspool: true
> sasl_pwcheck_method: auxprop
> sasl_mech_list: PLAIN
> #tls_cert_file: /etc/pki/cyrus-imapd/cyrus-imapd.pem
> #tls_key_file: /etc/pki/cyrus-imapd/cyrus-imapd.pem
> #tls_ca_file: /etc/pki/tls/certs/ca-bundle.crt
> allowplaintext: yes
> mupdate_server: cyrus-mupdate.cvacyrus.com
> mupdate_port: 3905
> mupdate_username: murder
> mupdate_authname: murder
> mupdate_password: cvacva
> cyrus-backend2_password: cvacva
> proxy_authname: murder
>
>
> Frontend’s cyrus.conf
> START {
>  recover       cmd="ctl_cyrusdb -r"
>  idled         cmd="idled"
> }
> SERVICES {
>  mupdate       cmd="mupdate" listen=3905 prefork=1
>  imap          cmd="proxyd" listen="imap" prefork=5
> }
> EVENTS {
>  checkpoint    cmd="ctl_cyrusdb -c" period=30
>  delprune      cmd="cyr_expire -E 3" at=0400
>  tlsprune      cmd="tls_prune" at=0400
> }
>
>
>
>
> Backend’s imap.conf
> configdirectory: /var/lib/imap
> partition-default: /var/spool/imap
> admins: cyrus murder
> sievedir: /var/lib/imap/sieve
> sendmail: /usr/sbin/sendmail
> hashimapspool: true
> sasl_pwcheck_method: auxprop
> sasl_mech_list: PLAIN
> altnamespace: yes
> allowplaintext: yes
> proxyservers: murder
> mupdate_server: cyrus-mupdate.cvacyrus.com
> mupdate_port: 3905
> mupdate_username: murder
> mupdate_authname: murder
> mupdate_password: cvacva
>
>
> Backend’s cyrus.conf
> START {
>  recover       cmd="ctl_cyrusdb -r"
>  idled         cmd="idled"
>  mupdatepush cmd="ctl_mboxlist -m"
> }
> SERVICES {
>  imap          cmd="imapd" listen="imap" prefork=5
> }
> EVENTS {
>  checkpoint    cmd="ctl_cyrusdb -c" period=30
>  delprune      cmd="cyr_expire -E 3" at=0400
>  tlsprune      cmd="tls_prune" at=0400
> }
>
>
> Mupdate’s imap.conf
> configdirectory: /var/lib/imap
> partition-default: /var/spool/imap
> admins: cyrus murder
> sievedir: /var/lib/imap/sieve
> sendmail: /usr/sbin/sendmail
> hashimapspool: true
> sasl_pwcheck_method: auxprop
> sasl_mech_list: PLAIN
> allowplaintext: 1
>
>
> Mupsate’s cyrus.conf
> START {
>  recover       cmd="ctl_cyrusdb -r"
>  idled         cmd="idled"
> }
> SERVICES {
>  imap          cmd="imapd" listen="imap" prefork=5
>  mupdate cmd="mupdate -m" listen="mupdate" prefork=1
> }
> EVENTS {
>  checkpoint    cmd="ctl_cyrusdb -c" period=30
>  delprune      cmd="cyr_expire -E 3" at=0400
>  tlsprune      cmd="tls_prune" at=0400
> }



--------------------------------------------------------------------------------
M.Menge                                Tel.: (49) 7071/29-70316
Universität Tübingen                   Fax.: (49) 7071/29-5912
Zentrum für Datenverarbeitung          mail:  
michael.menge at zdv.uni-tuebingen.de
Wächterstraße 76
72074 Tübingen



More information about the Info-cyrus mailing list