|
1 Damit cyrus22 mit LDAP funktioniert. |
|
2 |
|
3 __LDAP aufsetzen (logisch) |
|
4 |
|
5 - nicht erforderlich sollten ldap_pam und ldap_nss sein |
|
6 - Den Cyrus-Admin eintragen, z.B: |
|
7 |
|
8 Als Anregung 'populate.ldif'... |
|
9 |
|
10 |
|
11 |
|
12 |
|
13 __cyrus22 |
|
14 - sources.list: deb http://mail.incase.de/cyrus22/i386/ ./ |
|
15 - auch den cyrus22-imapd (Der wird für cyradm gebraucht. Wie wollen die |
|
16 Mailboxen sonst angelegt werden?) |
|
17 |
|
18 - virtual Domain support. Achtung, die 'default_domain' wird immer |
|
19 abgeschnitten und dann werden ldap usw gefragt ohne diese Domain |
|
20 hinten dran. Scheint ein anderes Konzept zu sein... |
|
21 |
|
22 - unixhierarchysep: yes |
|
23 - altnamespace: yes |
|
24 |
|
25 Offenbar muss auxprop wissen, dass ldap genutzt werden soll. Wie das? |
|
26 Oder der saslauthd muss es wissen. |
|
27 |
|
28 (Oder aber über pam? Vielleicht auch das als Lösung. Aber kann Cyrus |
|
29 mit pam? - das wird als die krankeste Lösung dargestellt.) |
|
30 |
|
31 Jetzt mit saslauthd (aus sasl2-bin) - der muß in |
|
32 /etc/default/saslauthd ldap eingetragen gekommen und natürlich eine |
|
33 Config-Datei haben. |
|
34 |
|
35 In /etc/saslauthd.conf |
|
36 |
|
37 Wenn über ein LDAP-Bind geprüft werden soll, dann muss dort |
|
38 kein Nutzer und kein Passwort drinstehen. |
|
39 |
|
40 Mit der Methode 'custom' wird nach userPassword gesucht und dann |
|
41 offenbar wirklich das Passwort verglichen. (?) |
|
42 |
|
43 ,---[ saslauthd.conf ]--- |
|
44 ldap_auth_method: bind |
|
45 #ldap_auth_method: custom |
|
46 #ldap_bind_dn: cn=admin,dc=ddc-consult,dc=de |
|
47 #ldap_bind_pw: x |
|
48 |
|
49 ldap_search_base: dc=ddc-consult,dc=de |
|
50 #ldap_servers: ldap://localhost:389/ |
|
51 #ldap_default_realm: ddc-dresden.de |
|
52 `-------------------------- |
|
53 |
|
54 => APOP geht nicht (siehe auch Manual-Seite: dazu müsste auxprop |
|
55 Klartext-Passworte haben, die's aber nicht hat, wenn es saslauthd |
|
56 nutzt. |
|
57 |
|
58 __exim4 |
|
59 |
|
60 Exim soll mit Cyrus über LMTP sprechen, also muss ein exim-Transport |
|
61 her (und gleich noch einer für Amavis): |
|
62 begin transports |
|
63 ... |
|
64 |
|
65 cyrdeliver: |
|
66 driver = lmtp |
|
67 socket = /var/run/cyrus/socket/lmtp |
|
68 transport_filter = /usr/bin/spamc -u $local_part@$domain |
|
69 group = mail |
|
70 |
|
71 amavis: |
|
72 driver = smtp |
|
73 port = 10024 |
|
74 allow_localhost |
|
75 |
|
76 |
|
77 Und natürlich müssen die Router auch Bescheid wissen: |
|
78 ldap_default_servers = localhost::389 |
|
79 LDAP_USERS = ou=MailAccounts,dc=ddc-consult,dc=de |
|
80 LDAP_ALIASES = ou=MailAliases,dc=ddc-consult,dc=de |
|
81 |
|
82 local_interfaces = 0.0.0.0.25 : 127.0.0.1.10025 |
|
83 |
|
84 begin router |
|
85 |
|
86 amavis: |
|
87 driver = manualroute |
|
88 condition = ${if eq{interface_port}{10025} {0}{1}} |
|
89 route_list = * localhost byname |
|
90 transport = amavis |
|
91 self = send |
|
92 no_verify |
|
93 |
|
94 # Ein Router der so wie die alten Aliase funktioniert |
|
95 ldap_aliases: |
|
96 driver = redirect |
|
97 data = ${lookup ldap{ldap:///cn=${quote_ldap:$local_part},LDAP_ALIASES?rfc822MailMember?base?}} |
|
98 |
|
99 ... |
|
100 # Ein Router, der die Alternativen Namen der |
|
101 # Nutzer findet |
|
102 alternative_names: |
|
103 driver = redirect |
|
104 data = ${lookup ldap{ldap:///LDAP_USERS?uid?sub?(mail=${quote_ldap:$local_part@$domain})}} |
|
105 |
|
106 |
|
107 # Ein Router, der dann wirklich nur an Cyrus übergibt, wenn LDAP |
|
108 # vermuten läßt, dass das funktionieren wird. |
|
109 # nach den local users |
|
110 cyrus: |
|
111 driver = accept |
|
112 condition = ${lookup ldapdn{ldap:///uid=${quote_ldap:$local_part},LDAP_USERS??base?}} |
|
113 transport = cyrdeliver |
|
114 |
|
115 |
|
116 |
|
117 __SpamAssassin |
|
118 |
|
119 Das PID-File geht nicht zu schreiben, wenn er als Nutzer spamd |
|
120 läuft -> /etc/default/spamassassin |
|
121 (dort auch gleich noch 'export LANG=de_DE' eintragen, damit die |
|
122 Meldungen eventuell in Deutsch kommen) |
|
123 |
|
124 |
|
125 # $Id$ |
|
126 # $URL$ |
|
127 # vim:sts=2 sw=2 aw ai sm fo+=n tw=72: |