|         |      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: |