front and back on the same server
Thomas Vogt
tv at solnet.ch
Wed Dec 8 15:58:48 EST 2004
Hi
Since imapd 2.2.x doesn't support unified murder, I try to reach my goal
with some "config vodoo".
Situation:
I've 2 server. Both have 2 network interfaces and both are running
postfix (lmtp) and cyrus-imapd.
Now I try to run backend and frontend server on every machine. Server A
(soho) is hosting username a-m and Server B (sokrates) is hosting n-z User.
Idea:
User a can connect server B and get his mailbox or vice versa.
My mupdate master server is called soho, the frontend soho.lan and the
other server is called sokrates (murder without -m) and sokrates.lan
(frontend).
cyrus-backend.conf:
START {
recover cmd="ctl_cyrusdb ctl_cyrusdb -C
/usr/local/etc/imapd-backend.conf -r"
mupdatepush cmd="ctl_mboxlist -C /usr/local/etc/imapd-backend.conf -m"
}
SERVICES {
pop3 cmd="pop3d -C /usr/local/etc/imapd-backend.conf"
listen="soho.lan:pop3" prefork=10
imap cmd="imapd -C /usr/local/etc/imapd-backend.conf"
listen="soho.lan:imap" prefork=5
lmtp cmd="lmtpd -C /usr/local/etc/imapd-backend.conf"
listen="soho.lan:lmtp" prefork=5
sieve cmd="timsieved" listen="sieve" perfork= 0
}
EVENTS {
checkpoint cmd="ctl_cyrusdb -C /usr/local/etc/imapd-backend.conf
-c" period=30
delprune cmd="cyr_expire -C /usr/local/etc/imapd-backend.conf -E
3" at=0400
}
(soho master frontend) cyrus.conf:
START {
recover cmd="ctl_cyrusdb -r"
}
SERVICES {
mupdate cmd="/usr/local/cyrus/bin/mupdate -m" listen=3905 prefork=1
pop3 cmd="pop3d" listen="pop3"
prefork=10
imap cmd="imapd" listen="imap" prefork=5
lmtp cmd="lmtpd" listen="lmtp" prefork=5
sieve cmd="timsieved" listen="sieve" prefork=0
}
EVENTS {
checkpoint cmd="ctl_cyrusdb -c" period=30
delprune cmd="cyr_expire -E 3" at=0400
}
soho imapd-backend.conf:
configdirectory: /var/imap
partition-default: /var/spool/imap
servername: soho.lan
singleinstancestore: true
hashimapspool: true
fulldirhash: true
# ACCESS
allowplaintext: yes
admins: admin
proxyservers: admin
sasl_pwcheck_method: saslauthd
sasl_mech_list: PLAIN
sasl_ldap_server: localhost
sasl_ldap_basedn: ou=people,ou=lan,dc=lan,dc=ch
# MURDER
mupdate_server: soho
mupdate_username: admin
mupdate_authname: admin
mupdate_password: ADMIN
soho imapd.conf:
configdirectory: /var/imap-frontend
partition-default: /var/spool/imap-frontend
servername: soho
# ACCESS
allowplaintext: yes
admins: admin
proxyservers: admin
proxy_authname: admin
sokrates_password: ADMIN
sokrates_mechs: plain
soho_password: ADMIN
soho_mechs: plain
sasl_pwcheck_method: saslauthd
sasl_mech_list: PLAIN
sasl_ldap_server: localhost
sasl_ldap_basedn: ou=people,ou=lan,dc=lan,dc=ch
# MURDER
mupdate_server: soho
mupdate_username: admin
mupdate_authname: admin
mupdate_password: ADMIN
# EOF
sokrates is similiar except the hostname ;)
soho and sokrates backend are running with:
master -M /usr/local/etc/cyrus-backend.conf -C /usr/local/et
c/imapd-backend.conf -p /var/run/cyrus-master-backend.pid -d
and both frontend are running with default option.
After I start this 4 services I see on sohos log:
Dec 8 20:28:06 soho mupdate[16760]: login: sokrates.lan admin PLAIN
User logged in
and on sokrates:
Dec 8 20:28:06 sokrates mupdate[19619]: synchronizing mailbox list with
master mupdate server
Dec 8 20:28:06 sokrates mupdate[19619]: mailbox list synchronization
complete
It looks ok.
imtest works, murdertest works and testsaslauth works also.
I can create user on every backend. "It works like charm".
soho# cyradm --user admin --server sokrates --auth plain
cm user.foo
It doesn't work on frontend. But i guess this is correct. I hope so
Ok and now the error part:
I try to connect every frontend via pop3. I get an error msg:
+OK soho Cyrus POP3 Murder v2.2.10 server ready <1942600184.1102538227 at soho>
user sohotest
+OK Name is a valid mailbox
pass testsoho
-ERR [AUTH] authenticating: encryption needed to use mechanism
same on sokrates
Logs:
Dec 8 20:41:38 soho pop3[16780]: login: bert[] sohotest plaintext User
logged in
Dec 8 20:41:41 soho pop3[16780]: couldn't authenticate to backend
server: authentication failure
Dec 8 20:41:41 soho pop3[16780]: couldn't authenticate to backend server
When I try to connect the backend, I also get an error msg:
thomas at bert:~> telnet soho.lan 110
Trying ...
Connected to soho.lan
Escape character is '^]'.
+OK soho.lan Cyrus POP3 Murder v2.2.10 server ready
<2452624741.1102538601 at soho.lan>
user sohotest
+OK Name is a valid mailbox
pass testsoho
-ERR [SYS/PERM] Unable to locate maildrop: Mailbox does not exist
log:
Dec 8 20:43:30 soho pop3[16735]: Unable to locate maildrop for
sohotest: Mailbox does not exist
It is correct. user sohotest only exist on the backend of sokrates. I
don't know why it's not synchronized to the soho.
Any help again? Should it work with this configuration?
regards
Thomas
---
Cyrus Home Page: http://asg.web.cmu.edu/cyrus
Cyrus Wiki/FAQ: http://cyruswiki.andrew.cmu.edu
List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html
More information about the Info-cyrus
mailing list