[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Von SuSE 9.2 zu Debian mit Cyrus-IMAP - Kurzbericht



Hallo,
so, nach einem zweiten Anlauf haben wir es nun geschafft, auf Debian Sarge 
(stable) zu wechseln. Unsere Erfahrung vor allem hinsichtlich des 
Mail-Server-Wechsels möchte ich hier wiedergeben, damit andere davon 
profitieren können.

Es empfiehlt sich sehr, vor einem Wechsel von SuSE zu Debian, neben den Dumps 
der MySQL und PostgreSQL-Datenbank auch den Mailbox-Flat-Export zu machen, 
damit man sich da einige Mühen sparen kann. Wir mußten auf einem SuSE 9.2 
Rechner die mailboxes.db exportieren, das ging nicht mit den sarge stable 
tools.

Unter SuSE 9.2 ist standardmäßig cyrus in der Version 2.2 installiert, wenn 
man cyrus-imap verwendet. Die Dateistruktur, wie die Mails abgelegt werden, 
ist anders aufgebaut, als bei Debian.

Umwandlung (Export) der Mailbox-DB von cyrus 2.2 zurück nach cyrus 2.1:
Unter cyrus 2.2 auf dem SuSE 9.2-Rechner:
/usr/lib/cyrus/bin/cvt_cyrusdb /root/mailboxes.db skiplist /root/mailboxes.txt 
flat

Diese Datei mailboxes.txt hat nun einen Aufbau wie folgt (zwei Zeilen seien 
gezeigt):
Admin.Fetchmail  0  default anyone lrs cyrus  lrswipcda
user.mareb.C-Kurse  0   default mareb lrswipcda cyrus   lrswipcda

Damit diese Struktur mit dem Debian Cyrus21 läuft, mußten wir zunächst
die '0' entfernen. Alle Mailordner, die wie der "Admin.Fetchmail" gemeinsame
Ordner sind, erhalten das Prefix "share." (kann man freiwählen). Entsprechend
haben wir in der /etc/imapd.conf folgende Einträge gemacht:

altnamespace: no
userprefix: user
sharedprefix: share

Unter cyrus 2.1 auf dem Debian-Server haben wir dann mit folgenden Befehlen:

chown cyrus:mail mailboxes.txt
rm mailboxes.db
su cyrus
/usr/sbin/ctl_mboxlist -u <mailboxes.txt

die mailboxes.db neu angelegt. Anschließend, ebenfalls 
als Benutzer cyrus mit dem Befehl

/usr/sbin/cyrreconstruct -rf user
/usr/sbin/cyrreconstruct -rf share

die einzelnen Mailboxes auf Verzeichnisebene wieder aufbauen.

Nun haben wir die alten Mailverzeichnisse komplett in die neue Struktur
verschoben:
von /backup/imap/user/mareb nach {MAILDIR}/m/user/mareb und von
/backup/imap/Admin nach {MAILDIR}/a/share/Admin

({MAILDIR} ist das Verzeichnis, das in der /etc/imapd.conf als 
"partition-default:" angegeben ist)
Das haben wir mit dem mc auf oberster Verzeichnisebene machen können, sonst 
wäre ich bei 700 Mailordnern verrückt geworden.

Anschließend muß man nocheinmal mit

/usr/sbin/cyrreconstruct -rf user
/usr/sbin/cyrreconstruct -rf share

alle header und indices neu aufbauen.

Schließlich muß man das ganze Verzeichnis {MAILDIR} auf cyrus:mail setzen:
chown -R --from=96:12 cyrus:mail {MAILDIR}

Ich habe auch die Verzeichnisse für sieve, quota und seen/sub herüberkopiert 
und auf den richtigen Eigentümer gesetzt:

chown -R --from=96:12 cyrus:mail /var/lib/cyrus/user/*
chown -R --from=96:12 cyrus:mail /var/lib/cyrus/quota/*
chown -R --from=96:12 cyrus:mail /var/lib/sieve/*

Im sieve-Verzeichnis gab es bei Suse (bzw. bei cyrus 2.2) compilierte Scripte, 
die filter.sieve.bc heißen und einen Link, der defaultbc heißt. Für cyrus 2.1 
müssen Links auf das sieve-Script gemacht werden, z.B.:

cd /var/lib/sieve/m/mareb/
ln -s filter.sieve.script  default

Die Einrichtung zur Authentifizierung mit saslauthd unterscheidet sich nicht 
sonderlich. Wir haben mit saslpasswd eine neue DB mit den Benutzern 
eingerichtet (die alte kann man wohl nicht übernehmen, weil der Hostname 
enthalten ist).

Der Mail-Client muß alle share-Mailordner neu abonnieren, die INBOX wurde bei 
uns komplett erkannt.

Falls ich was vergessen hab oder ihr Fragen / Anmerkungen habt, können wir den 
Thread gerne fortführen.

Manfred



Reply to: