[[Vorlage(Getestet, kinetic)]] {{{#!vorlage Wissen [:Pakete_installieren: Pakete installieren] [:Editor: Einen Editor öffnen] [:Terminal: Ein Terminal öffnen] }}} [[Inhaltsverzeichnis(2)]] [[Bild(./cyrus_logo.png, 48, align=left)]] Die folgende Anleitung zeigt, wie man den [https://cyrusimap.org Cyrus] {en} IMAP-Mail-Server installiert und einrichtet. Das Cyrus-System unterstützt ebenso POP3 und NNTP für Newsgroups. Das [wikipedia:Internet_Message_Access_Protocol:IMAP]-Protokoll ermöglicht es, Mailboxen inkl. Ordnerstruktur und Statusdaten auf dem Server vorzuhalten. So kann man sich von verschiedenen Rechnern einloggen und erhält immer ein konsistentes Bild. Außerdem beinhaltet der Cyrus-IMAP-Server mit [wikipedia:sieve:] noch eine Technik, um automatische Filterung und Verteilung auf verschiedene Ordner gleich auf dem Server beim Eintreffen der elektronischen Post zu erledigen. = Installation der benötigten Pakete = Folgende Pakete müssen installiert werden [1]: {{{#!vorlage Paketinstallation cyrus-imapd, universe, der IMAP-Teil des Mail-Servers Cyrus cyrus-admin, universe, Administrations-Tools für cyrus sasl2-bin, benötigt cyrus zum Authentifizieren der Benutzer sendmail, universe, MTA zum Empfangen von Mails }}} Außerdem benötigt man als Grundvoraussetzung auf jeden Fall einen funktionierenden ''"Mail Transfer Agent"'' (MTA), z.B. [:Postfix:], sendmail oder exim. = Konfiguration von Cyrus = Die Konfiguration des IMAP-Servers erfolgt über die Dateien '''/etc/imapd.conf''' und '''/etc/cyrus.conf'''. Die '''imapd.conf'''-Datei bedarf einiger Anpassungen, die man in einem Editor [2] mit Root-Rechten vornehmen muss: 1. Entfernen des Kommentar-Zeichens (#) vor ''"admins: cyrus"'' 1. Entfernen des Kommentar-Zeichens (#) vor ''"sasl_mech_list: PLAIN"'' 1. Ändern von ''"sasl_pwcheck_method"'' in ''"saslauthd"'' 1. auskommentieren von ''"sasl_auto_transition: no"'' (# davorsetzen) Auszug aus der '''/etc/imapd.conf''': {{{ admins: cyrus sasl_mech_list: PLAIN sasl_pwcheck_method: saslauthd #sasl_auto_transition: no }}} IMAPs ist standardmäßig nicht aktiviert. Wer sein Mails über eine verschlüsselte Verbindung abholen möchte, sollte in der Datei '''/etc/cyrus.conf''' an folgender Stelle das Kommentarzeichen `#` entfernen: {{{ imaps cmd="imapd -s -U 30" listen="imaps" prefork=0 maxchild=10 }}} Zudem müssen pop3 und nntp auskommentiert werden, wenn man diese nicht nutzen möchte. Anschließend muss der Cyrus-Server komplett neu gestartet werden. Ein Reload der Konfiguration reicht nicht aus. = Einrichten der Authentifizierung (saslauthd) = Die Authentifizierung, also das Überprüfen des Benutzerpassworts, wird bei Cyrus über das ''Simple Authentication and Security Layer (SASL)'' geregelt. Dieser Dienst ist in einem separaten Artikel beschrieben: [:Cyrus-SASL:] = Einrichten der Postfächer = {{{#!vorlage Hinweis Die in Ubuntu 22.04 mitgelieferte Version enthält einen [bug:1971547:Fehler], der die Benutzung von ''cyradm'' unmöglich macht. }}} Bei der Installation von Cyrus hat Ubuntu bereits den Benutzer ''cyrus'' angelegt. Dieser Benutzer fungiert als Cyrus-Administrator. Damit man Postfächer anlegen kann, muss dieser Benutzer daher zunächst einmal ein Passwort erhalten: {{{#!vorlage Befehl sudo passwd cyrus }}} Nun kann man in die Administationskonsole von Cyrus wechseln, welche zuerst nach dem eben gesetzten Passwort fragt und einen dann mit einem eigenen Prompt erwartet: {{{#!vorlage Befehl test@test:~$ cyradm --user cyrus --server ::1 Password: ::1> }}} Mit dem Befehl ''help'' kann man ausgeben lassen, welche Befehle die Administationskonsole versteht. Mit ''quit'' verlässt man die Konsole. Da Cyrus die Postfächer in einer eigenen Ordnerstruktur unabhängig von den normalen Unix-Mailboxen verwaltet, muss jedes Benutzerpostfach hier mit folgenden Befehlen eigens eingerichtet werden: {{{#!vorlage Befehl cm user.karl cm user.otto }}} {{{#!vorlage Hinweis Es ist wichtig, dass für jede Mailbox das Präfix "'''user.'''" verwendet wird. Macht man dies nicht, wird eine [wikipedia:Newsgroup:] erstellt. }}} Falls man einmal eine Mailbox löschen möchte, dann muss man dem Administratorbenutzer "`cyrus`" zunächst die Rechte dazu geben: {{{#!vorlage Befehl sam user.otto cyrus c #setzt für die Mailbox `user.otto` das `c`-Recht dm user.otto # löscht die Mailbox `user.otto` }}} Nun sollte man sich mit dem Mail-Client beim IMAP-Server einloggen können. Das Postfach ist natürlich noch leer, aber man kann Ordner anlegen und Mails hineinkopieren. Weitere Informationen über die Rechte sind in der [https://www.cyrusimap.org/imap/reference/admin/access-control/rights-reference.html Doku] {en} zu finden. = Einrichtung sendmail = Damit Cyrus Mails empfangen kann, wird ein [wikipedia:MTA:] benötigt. Cyrus empfängt die Mails mit [wikipedia:LMTP:] und stellt dafür einen [wikipedia:Unix_Domain_Socket:] bereit. Dieser muss vom MTA angesprochen werden und liegt standardmäßig in '''/run/cyrus/socket/lmtp'''. Jeder LMTP-kompatible MTA kann hierfür verwendet werden. Bei sendmail muss die Datei '''/etc/mail/sendmail.mc''' editiert werden. Am Ende müssen folgende Zeilen hinzugefügt werden (`confLOCAL_MAILER` muss vor `MAILER_DEFINITIONS` stehen, der Mailer selbst danach. {{{ dnl # Default Mailer setup define(`confLOCAL_MAILER', `cyrusv2')dnl #kam hinzu MAILER_DEFINITIONS MAILER(`cyrusv2')dnl #kam hinzu MAILER(`local')dnl MAILER(`smtp')dnl }}} Dies ist nur ein Auszug aus der Konfiguration, in den meisten Situationen müssen am MTA weitere Parameter eingestellt werden, die jedoch für Cyrus keine Rolle spielen. = Backup = Vor dem Sichern der Daten sollte der Cyrus-Dienst vollständig gestoppt werden, sodass man einen konsistenten Datenbestand sichert. Danach sicher man die Verzeichnisse '''/var/lib/cyrus''' und '''/var/spool/cyrus'''. Die Konfigurationsdateien '''/etc/cyrus.conf''' und '''/etc/imapd.conf''' können ebenfalls gesichert werden. Diese können im neuen System zurückgespielt werden. = Fehlersuche = Leider bekommt man bei vielen Fehlern keine besonders schöne Fehlermeldung. Wenn z.B. die Authentifizierung bei cyrus nicht klappt, dann spuckt cyrus lediglich ''"cyradm: cannot authenticate to server as user cyrus"'' aus. Was der eigentliche Grund ist, muss man sich aus den Log-Files rauslesen. Bei der Fehlersuche sollte man folgende Dateien prüfen: * Cyrus schreibt Fehlermeldungen standardmäßig nach '''/var/log/mail.err''' oder '''/var/log/mail.info''' * saslauthd nutzt dazu die Datei '''/var/log/auth.log''' = Links = * [https://www.cyrusimap.org Homepage] {en} * [https://www.cyrusimap.org/quickstart.html Kurzanleitung] {en} # tag: Installation, Server, Netzwerk, Email, IMAP, Usenet