Migration Courier -> Dovecot, Fragen zu Namespaces

#1
Hallo Forum,

ich bereite eben eine größere Migration bei mir vor. Mein derzeitiges ISPConfig System (Ubuntu 12.04 in einer VM, Apache, Courier) soll durch ein System mit Nginx und Dovecot ersetzt werden, da ich Apache und Courier allgemein aus meinem Leben verschwinden lassen möchte ;)

Da das ganze eine größere Aktion ist und ich gerne "clean" starte, habe ich ISPConfig in einer parallelen VM mit Ubuntu 14.04 aufgesetzt und alle User/Webseiten/FTP/DB etc. in ISPConfig neu angelegt, und die jeweiligen Daten per rsync migriert. So habe ich eine schöne Testumgebung, der ich spielen kann, bis ich den Prozess failsafe habe. Dann würde ich einfach die Festplatten der VMs tauschen, Hostname&IP ändern, und alles müsste größtenteils unterbrechungsfrei laufen.
Aktuell ist alles fertig, nur der Mailserver macht mir noch ein wenig Kopfzerbrechen. Um die Mailboxen zu migrieren verwende ich eine leicht angepasste Version des von Till geposteten Update-Skriptes. Das Skript läuft an sich fehlerfrei durch, jedoch sind nach Migration alle Mailordner außer der Inbox verschwunden, weil die Abonnements nicht mehr passen.

Gibt es eine Variante, dass man die Migration vollkommen transparent machen kann, ohne das die User was mitkriegen (ihre Abonnements neu machen müssen) ?

Im Forum habe ich einige Posts bzgl Namespaces gesehen, von deren Verwendung aber abgeraten wurde... daher dachte ich ich frag mal nach, ob es da was neues gibt ?
 

Till

Administrator
#2
Die subscriptions müssen in einer datei im maildir stehen (oder im Ordner drüber). Verglich mal die datei von courier mit der von dovecot, das müsste sich ja konvertieren lassen. Vermutlich gibt es dafür auch schon fertige scripte, die Du in mein script zusätzlich einbinden kannst.
 
#3
Hallo Till,

die Dateien sind identisch. Das Problem liegt wohl eher beim Namespace, die Ordner verrutschen in der Hierarchieebene, und alle Mails werden neu heruntergeladen. Das möchte ich eigentlich vermeiden, sofern möglich. Dovecot & Courier haben beide eine originale ISPConfig-Default-Konfiguration.

courier-dovecot.png
 
#5
Code:
listen = *,[::]
protocols = imap pop3
auth_mechanisms = plain login
disable_plaintext_auth = no
log_timestamp = "%Y-%m-%d %H:%M:%S "
mail_privileged_group = vmail
postmaster_address = postmaster@vsrv01.HOST.XXX
ssl_cert = </etc/postfix/smtpd.cert
ssl_key = </etc/postfix/smtpd.key
ssl_protocols = !SSLv2 !SSLv3
passdb {
  args = /etc/dovecot/dovecot-sql.conf
  driver = sql
}
userdb {
  args = /etc/dovecot/dovecot-sql.conf
  driver = sql
}
plugin {
  quota = dict:user::file:/var/vmail/%d/%n/.quotausage
  sieve=/var/vmail/%d/%n/.sieve
}
service auth {
  unix_listener /var/spool/postfix/private/auth {
    group = postfix
    mode = 0660
    user = postfix
  }
  unix_listener auth-userdb {
    group = vmail
    mode = 0600
    user = vmail
  }
  user = root
}
service imap-login {
  client_limit = 1000
  process_limit = 500
}
protocol imap {
  mail_plugins = quota imap_quota
}
protocol pop3 {
  pop3_uidl_format = %08Xu%08Xv
  mail_plugins = quota
}
protocol lda {
  mail_plugins = sieve quota
}
Nur die Standardconfig von ISPConfig. In einem anderen Thread wurde diese hier angegeben (bzw die andere am Ende des Threads), aber gleichzeitig auch davon abgeraten diese einzusetzen. Wo würde ich die Config denn hinschreiben, damit das permanent ist ? conf.d wird ja nicht eingelesen.
 
#6
Dann versuch mal
Code:
namespace inbox {
  separator = .
  prefix = INBOX.
  inbox = yes
}
oder
Code:
namespace inbox {
  separator = /
  prefix =
  inbox = yes
}

namespace compat {
  separator = .
  prefix = INBOX.
  inbox = no
  hidden = yes
  list = no
  alias_for =
}

Ich verwende bei mir die erste Variante
 
#7
Hallo, die erste Variante funktioniert bei mir auch. Aber davon wird doch u.a. von Till abgeraten ?
Wie lange läuft das bei dir schon, auch problemfrei ?

Wie hast du diese Änderung persistent bekommen, dass die bei einem ISPConfig-Update nicht überschrieben wird ? In
/usr/local/ispconfig/server/conf/ gibt es für den dovecot scheinbar kein Template...
 
#8
Ich hab die Jahr nicht gezählt. Aber ich schätze mal wenigstens 3.
Bist Du dir sicher, dass bei einem Update auch dovecot noch konfiguriert wird? Im Zweifel ist aber die alte Config noch als Backup da.
 
#9
Ich bin mir nicht sicher - wäre unlustig, falls das passieren würde. Aber normal macht man das "reconfigure services" ja nicht.
Ansonsten immutable-Bit drauf, und gut.

Werde das dann wohl mal so probieren. Danke dir!
 

Till

Administrator
#10
Wie hast du diese Änderung persistent bekommen, dass die bei einem ISPConfig-Update nicht überschrieben wird ? In
/usr/local/ispconfig/server/conf/ gibt es für den dovecot scheinbar kein Template...
Die templates sind im install/tpl/ Ordner des ispconfig tar.gz und sie müssen in /use/local/ispconfig/server/conf-custom/install/ abgelegt werden, um sie updatesicher zu hinterlegen.
 

Werbung