Da ich es lange aufgeschoben habe, aufgrund der unangenehmen Erfahrung die ich privat machen musste, hier jetzt der Weg um von Cyrus-imapd 2.1.x

auf 2.2 upzugraden.

  • 1. /etc/init.d/postfix stop # sonst haut es den Spooler voll 😉
  • 2. /etc/init.d/cyrus stop # Bedarf keiner Erklarung
  • 3. cp -r /var/imap /var/imap.old
  • 4. cp -r /var/spool/imap /var/spool/imap.old
  • 5. emerge -u cyrus-imapd
  • 6. /usr/lib/cyrus/cvt_cyrusdb /var/imap/mailboxes.db berkeley /var/imap/mailboxes.db.new skiplist
  • 7. /usr/lib/cyrus/cvt_cyrusdb /var/imap/deliver.db berkeley /var/imap/deliver.db.new skiplist
  • 8. /usr/lib/cyrus/cvt_cyrusdb /var/imap/tls_sessions.db berkeley /var/imap/tls_sessions.db.new skiplist
  • 9. Den Inhalt von /var/imap/db losche ich einfach, man kann ihn aber auch konvertieren, siehe oben.
  • 10.find /var/imap/user -name *.seen -exec /usr/cyrus/bin/cvt_cyrusdb {} flat {}.new skiplist ; -exec mv {}.new {} ;
  • 11. Da ich alle Config Dateien ersetzt habe (naturlich habe ich sie vorher gesichert), mussen ein paar Zeilen wieder

    zurecht geruckt werden: /etc/imapd.conf

    hashimapspool: yes

    allowanonymouslogin: no

    allowplaintext: yes # ich nutze Mysql und gehe uber pam, daher nur plain

    unixhierarchysep: yes # nur wenn das verwendet wird, wie in meinem Fall!!

    sasl_pwcheck_method: saslauthd

    sasl_mech_list: PLAIN

    Die ganzen SQL Sachen habe ich auskommentiert, die da noch so rumschwirren. Eventuell kann ich damit Pam ersetzen, mal schaun.

    /etc/cyrus.conf

    Ich habe fast das komplette Services Statement ersetzt, mit den alten Daten:

    SERVICES {

    # add or remove based on preferences

    imap cmd=“imapd“ listen=“imap“ prefork=0

    imaps cmd=“imapd -s“ listen=“imaps“ prefork=0

    pop3 cmd=“pop3d“ listen=“pop3″ prefork=0

    pop3s cmd=“pop3d -s“ listen=“pop3s“ prefork=0

    sieve cmd=“timsieved“ listen=“sieve“ prefork=0

    • 12. Zweimal nicht daran gedacht 🙁 /etc/postfix/master.cf anpassen aus:

    cyrus unix – n n – – pipe

    user=cyrus argv=/usr/cyrus/bin/deliver -e -r ${sender} -m ${extension} ${user}

    wird:

    cyrus unix – n n – – pipe

    user=cyrus argv=/usr/lib/cyrus/deliver -e -r ${sender} -m ${extension} ${user}

    • 13. Auf einer Konsole: tail -f /var/log/mail.log anwerfen
    • 14. Das Cyrus System wieder anwerfen: /etc/init.d/cyrus start

    und mit telnet auf pop3 testen (am schnellsten), ob du dich einloggen kannst, incl. der Mails auflisten etc. Mit imtest, oder dem Mail MUA IMAP

    testen.

    Wenn das klappt, dann fehlt nur noch Postfix

    • 15. /etc/init.d/postfix start Immer schon einen Blick auf die Log Konsole werfen 🙂

    ENDE

    Nachtrag

    WordPress hat meine Backslashs aufgefressen, weshalb der Punkt 10 nicht geklappt hatte. Nun stimmt es.