Mailserver für IPFire mit Roundcube Dovecot und Postfixadmin

Anregungen & Feature Requests
Post Reply
User avatar
gocart
Posts: 558
Joined: December 16th, 2013, 4:43 pm
Location: Germany

Mailserver für IPFire mit Roundcube Dovecot und Postfixadmin

Post by gocart » November 25th, 2015, 8:32 pm

Dies ist eine unabhängige Erweiterung für IPFire. Der Mailserver funktioniert soweit und wird ständig weiterentwickelt. Es werden Postfix als MTA und Amavsid sowie Spamassassin zur Mailfilterung genutzt. Als Frontend (Webseite) dient Roundcube und als Datenbankserver MariaDB. Zur Administration wird Postfixadmin verwendet (anlegen der Domains und Postfächer). Dieser Mailserver ist Multi-Domain sowie Domain- und Postfachquotafähig. Postfachregeln (Sieve / Pigonhole) werden unterstützt. Apache 2.4 ist HTTP2 fähig.

Minimale Systemvorraustzungen:
Min 2GB Ram besser 3 bis 4GB
Min 4GB Platz für Mails in /var Partition (je nach geschätzter Postfach und Mailmenge auch deutlich mehr )
Kein SD-Card System! Auch wenn das grundsätzlich gehen würde. Intel i586 oder x64 System. ARM-Systeme werden nicht unterstützt auch wenn es IPFire für ARM gibt. Es ist unter Umständen sinnvoll, diesen Mailserver in einer separaten VM bzw. Installation zu betreiben, da dieser durch die verwendeten Softwarekomponenten durchaus skaliert. (kann mehr als nur drei Postfächer verwalten)

Installation:
Die Installation erfolgt über einen Kommandozeileninstaller. Dieser Installer aktualisiert vor der Installation der Mailserver Komponenten zwangsweise PHP auf die Version 7.2 sowie Perl auf 5.28 mit dem kompletten Modulpaket, welches im IPFire vorhanden ist. (alles größtenteils sowieso neuer) Wer das nicht will/möchte kann den Mailserver nicht installieren. Diese Updates sind keine offiziellen IPFire Updates!!! Es ist die Möglichkeit eingebaut die Installation an der Stelle mit "CTRL+C" abzubrechen.

Durch das Perl Update wird das Installieren von Perl-Modulen aus dem Pakfire wirkungslos. Es sind alle notwendigen Module sowie alle Module aus dem Pakfire in diesem Paket enthalten. Das Mysql wird sofern nicht installiert durch MariaDB 10.2.x ersetzt. InnoDB ist die Standard DB-Engine. Es wird grundsätzlich die vorherige Deinstallation des alten MySQL empfohlen! Das DB-Verzeichnis ist von /srv/mysql nach /var/mysql verlegt, sofern MariaDB genutzt wird. Die IPfire Partition ist dafür schlicht zu klein mit 2GB.

Die notwendigen Einrichtungsschritte in der Firewall sind identisch zum Mailproxy. Port 25 nach draußen (Mail verschicken und senden), Für Razor2 Port 2703 nach draußen und wenn Roundcube im Internet gehen soll dann natürlich noch Port 443. Manchmal braucht ClamAV ewig bis es seine Signaturen aktialsiert hat. Es ist besser das vorher von Hand zu installieren.

Bitte die Anweisungen im Installer-Endtext beachten, da abschließende Einrichtungsschritte notwendig sind. Viel Spaß beim testen und ich freue mich über jegliches konstruktives Feedback. Es sei auch nochmals erwähnt, das alles hier ist in Entwicklung, funktioniert aber soweit ich das getestet habe/testen konnte ohne Probleme.

Nutzung:
Nach dem Anlegen der Domains und der Postfächer mit Postfixadmin kann man mit https://[IPfire IP-Adresse] Roundcube aufrufen und sich anmelden. In der Dovecot Konfiguration sind POP3 und IMAP aktiviert (mit TLS). Dadurch kann der Mailserver auch ganz normal mit z.B. Outlook und Thunderbird genutzt werden. (Roundcube nutzt auch IMAP um auf Dovecot zuzugreifen) Die Anmeldedaten sind dieselben wie für Roundcube. Die Firewallanpassungen für POP3/S und IMAP/S nicht vergessen.

Achtung:
Die Aktualisierung dieses Mailservers erfolgt immer über die Aktualisierung des Installers. Über Pakfire werden derzeit nur veraltete Pakete bereit gestellt. Sollte es doch zur Installation des alten Postfix sowie Amavisd aus dem Pakfire kommen, wird die Konfiguration der Mailserverinstallation zerschossen. Dies kann aber durch ein erneutes vollständiges Ausführen des Installers einfach repariert werden. Dieser Mailserver hat auch nichts mit dem Cyrus-IMAP basierten Mailserver aus dem IPFire Wiki zu tun. Er ist ein völlig eigenständiges Projekt!

Entwicklungslog:

17.11.2019 Version 26 Installation ab Core 135
Änderungen:
- PHP 7.3.12
- Postfix 3.4.7
- Roundcube 1.3.10
- Dovecot 2.3.8
- dehydrated 0.6.5
Plus ein nettes letsencrypt Script. Bleibt nach der Installation unter /var/tmp übrig...
Port 80 muss dafür als Webserver für die Key Chellenge nach draußen freigegeben werden.

28.06.2019 Version 25 Installation ab Core 133
Änderungen:
- PHP 7.3.6
- Postfix 3.4.5
- Roundcube 1.3.9
- Dovecot 2.3.6

Die Postfix Konfiguration ist identisch zum Mail Gateway sowie mit Heinlein-support SA Datenbanken,
Regex Filterlisten und den anderen Änderungen an der main.cf
viewtopic.php?f=17&t=17360&p=101233#p101233

Vor dem Update bitte prüfen ob "mysql -u root" sich ohne Fehler starten lässt!
Wenn nicht, schlägt das MariaDB-Update fehl! Es wird ein Backup der SQL-Datenbanken erstellt.

*** Installation ***
Per ssh oder putty mit IPfire verbinden und folgendes Skipt bzw. Text nach /tmp oder /var/tmp in eine Datei mit Namen install.sh kopieren. Die Datei mit chmod +x install.sh ausführbar machen und starten.

Das Startscript für die Installation: http://people.ipfire.org/~mlorenz/ms/install.txt

Wenn irgendwas nicht will oder es Probleme gibt, einfach hier Rückmeldung im Thread.
Grüße, gocart
Last edited by gocart on November 28th, 2019, 6:42 pm, edited 206 times in total.

User avatar
gocart
Posts: 558
Joined: December 16th, 2013, 4:43 pm
Location: Germany

Re: Mailserver für IPFire mit Roudcube Frontend

Post by gocart » November 25th, 2015, 8:34 pm

Platzhalter...
Last edited by gocart on June 13th, 2016, 10:51 am, edited 5 times in total.

User avatar
gocart
Posts: 558
Joined: December 16th, 2013, 4:43 pm
Location: Germany

Re: Mailserver für IPFire mit Roudcube Frontend

Post by gocart » November 26th, 2015, 8:00 am

gelöscht / Platzhalter
Last edited by gocart on January 12th, 2016, 12:41 pm, edited 1 time in total.

dhr
Posts: 137
Joined: July 27th, 2009, 6:51 am
Location: Aventoft, Germany

Re: Mailserver für IPFire mit Roudcube Frontend

Post by dhr » November 26th, 2015, 12:47 pm

das start script (start.sh) hat dabei einen neuen SHA1 Wert erhalten - man muss also den hier oben beschriebenen Wert einsetzen, sollte man die start.sh von vor ein paar Tagen haben

User avatar
gocart
Posts: 558
Joined: December 16th, 2013, 4:43 pm
Location: Germany

Re: Mailserver für IPFire mit Roudcube Frontend

Post by gocart » November 28th, 2015, 3:54 pm

Hallo... Der Mailserver-Installer in der Version 02 ist da... :)
Alles dazu im ersten Post. gocart

Friedemann
Posts: 9
Joined: May 10th, 2015, 9:24 pm

Re: Mailserver für IPFire mit Roudcube Frontend

Post by Friedemann » November 28th, 2015, 8:47 pm

Hallo gocart!

Beim Studium deines neuen Installer02 ist mir aufgefallen, dass die letzte
Zeile rm -f msstart.sh ms_installer01.tar.xz; in ....installer02... geändert werden
müßte.
Falls ich Unrecht haben sollte, nehme ich alles zurück und behaupte das Gegenteil.
;)
L.G. Friedemann

User avatar
gocart
Posts: 558
Joined: December 16th, 2013, 4:43 pm
Location: Germany

Re: Mailserver für IPFire mit Roudcube Frontend

Post by gocart » November 29th, 2015, 8:41 am

@Friedemann
du hast natürlich recht. Danke. Das sind so die kleinen Oberflächlichkeiten... ;)

@all
Ich bin am überlegen das Speicherformat von Dovecot zu ändern. Mein Favorit ist inzwischen "mdbox". Da "maildir" tausende kleine Dateien anlegt was nicht so schön ist, wenn die Postfächer größer werden. Ich bräuchte mal ein paar Meinungen. Belesen dazu kann man sich hier: http://wiki2.dovecot.org/MailboxFormat

ps. Das hin und her zu konvertieren in kein großes Problem. Habe ich schon getestet.

gocart

dhr
Posts: 137
Joined: July 27th, 2009, 6:51 am
Location: Aventoft, Germany

Re: Mailserver für IPFire mit Roudcube Frontend

Post by dhr » November 29th, 2015, 10:27 am

gocart wrote: @all
Ich bin am überlegen das Speicherformat von Dovecot zu ändern. Mein Favorit ist inzwischen "mdbox". Da "maildir" tausende kleine Dateien anlegt was nicht so schön ist, wenn die Postfächer größer werden. Ich bräuchte mal ein paar Meinungen.
gocart
moin gocart,
hatte ich mir auch schon überlegt - bislang bin ich 'noch' davon abgekommen ...
Grund: 'This also means that you must not lose the dbox index files, they can't be regenerated without data loss' - die index-files dieses Formats halten nicht nur den index, sondern auch weitere Informationen.
Der zweite Grund: Ich wollte zunächst einmal eine saubere Migration der bisherigen Mails von cyrus-imap -> dovecot.

Andererseits bietet das dbox-Format einen Riesen-Vorteil bezüglich 'alternate-Storage' - man kann auf diese Weise seine Archive sehr schön auslagern, muss sie nicht ständig gemountet haben, und die Clients haben trotzdem alle benötigten Informationen.

just my 2cents for the moment

Dirk

User avatar
gocart
Posts: 558
Joined: December 16th, 2013, 4:43 pm
Location: Germany

Re: Mailserver für IPFire mit Roudcube Frontend

Post by gocart » November 30th, 2015, 5:44 pm

@dhr
kannst du mir das mit "alternate Storage" vielleicht kurz erläutern bzw. was du genau meinst. Steck in dieser Teilmaterie noch nicht so drin... :)
gocart

dhr
Posts: 137
Joined: July 27th, 2009, 6:51 am
Location: Aventoft, Germany

Re: Mailserver für IPFire mit Roudcube Frontend

Post by dhr » December 1st, 2015, 8:07 am

Moin gocart,

steht eigentlich alles im Dovecot Wiki drinnen http://wiki2.dovecot.org/MailboxFormat/dbox.

kurz gesagt, hat man mit dbox die Möglichkeit für einen Mailfolder zwei locations anzugeben - einen wo drinnen sich normalerweise die Mails befinden, und einen der z.B. auf einem langsameren NAS liegt (über NFS oder wie auch immer angebunden). Mittels cron und 'doveadm altmove' schiebst Du dann Deine Mails die z.B. älter als 3 Monate sind auf das langsamere Speichermedium. Es werden aber nur die Daten 'gemoved', Indexe etc. bleiben erhalten, so dass nahezu keine Performanceverluste zu verzeichnen sind - für den Mailclient absolut transparent. Funktioniert sowohl mit sdbox als auch mit mdbox.

Gruss Dirk

dhr
Posts: 137
Joined: July 27th, 2009, 6:51 am
Location: Aventoft, Germany

Re: Mailserver für IPFire mit Roundcube Frontend

Post by dhr » December 7th, 2015, 4:50 pm

@gocart + UE

habe jetzt bei uns die bisherigen maildir(s) zu mdbox(en) konvertiert. Auch damit läuft alles problemlos !!! inkl. Auslagerung älterer Mails per NFS auf langsameres Speichermedium (alternate storage).
Derzeit drei virtuelle Domänen mit (privaten) Mailboxen. Mail wird per 'fetchmail' von den verschiedenen Servern (web.de, gmx, gmail etc.) geholt. Weiterhin verschiedene 'shared Mailboxen' und in einer Domäne einen 'public' Bereich. Werde mir demnächst noch 'pigeonhole/sieve' als dovecot-plugin bauen, um die Unterverteilung der User-emails bereits auf dem Server machen zu können.
Spiele derzeit ein noch wenig mit dovecot herum - backup jobs bauen etc. - alles im Allem ist gocart da ein guter Wurf gelungen.

Gruss Dirk

User avatar
gocart
Posts: 558
Joined: December 16th, 2013, 4:43 pm
Location: Germany

Re: Mailserver für IPFire mit Roundcube Frontend

Post by gocart » December 7th, 2015, 8:15 pm

@dhr

Ok, dann ist im nächten Release das auf mdbox in den Templates umgestellt. Danke für testen.
Ja das pigeonhole/sieve fehlt noch / hatte ich noch keine Muße dazu, kommt aber noch.

Ich habe mich erst mal mit dem SALS Auth intensiver auseinander gesetzt. Also die Anmeldung an Postfix zum versenden von Mails mit Mailclients (Ausguck und Donnervogel 8) ). Und dass das AUTH erst angeboten wird, wenn TLS aktiv ist. Es gibt also ein neues Template für die main.cf von Postfix. Aber ich hab schon mal zu testen über Outlook mit STRG-C und STRG-V in das Dovecot IMAP-Konto eine große Menge an Mails "migriert" :)

Auch Quota ist von mir noch nicht getestet. Auch auf der to do-Liste.
Kontake ist da auch noch so eine spannende Frage... Es gibt noch viel zu tun...

gocart

dhr
Posts: 137
Joined: July 27th, 2009, 6:51 am
Location: Aventoft, Germany

Re: Mailserver für IPFire mit Roundcube Frontend

Post by dhr » December 8th, 2015, 6:41 am

moin gocart,

ja, es gibt es viele spannende Sachen, die noch offen sind. Quota ist besonders spannend - ich habe derzeit quotas im dict - dict wiederum wird von der maria befeuert (damit die auch mal was zu tun hat, und ich keine Lust habe lokale user.dbs (passwd) zu führen, sondern alles via postfixadmin zu steuern).
Ein Problem ist, das bei der Einlieferung einer Mail, der MTA (Postfix) keine Ahnung von einer Quota-Regelung im MDA (Dovecot) hat, was im worst case zu einem 'late-bounce' führt. Bei dovecot ab v2.2 kann man allerdings einen Quota-Policy-Server einrichten, der von Postfix vor Annahme der email abgefragt wird.

Ich schicke Dir meine Anpassungen (main.cf, Datenbankstruktur etc.) mit Erklärung, sowie sie fertig sind (dauert noch ein paar Tage).

Gruss Dirk

User avatar
gocart
Posts: 558
Joined: December 16th, 2013, 4:43 pm
Location: Germany

Re: Mailserver für IPFire mit Roundcube Frontend

Post by gocart » December 12th, 2015, 4:37 pm

hallo @all
Die 03 ist da zum testen.... :)
gocart

dhr
Posts: 137
Joined: July 27th, 2009, 6:51 am
Location: Aventoft, Germany

Re: Mailserver für IPFire mit Roundcube Frontend

Post by dhr » December 13th, 2015, 10:34 am

@gocart
dhr wrote:moin gocart,
Ich schicke Dir meine Anpassungen (main.cf, Datenbankstruktur etc.) mit Erklärung, sowie sie fertig sind (dauert noch ein paar Tage).
Gruss Dirk
da warst Du ja mal wieder schneller ;) Ich hatte es ganz ähnlich gelöst, nur domain-Quota anders und das funktionierte bisher bei mir nicht richtig ... Ich sehe Du hast das trash plugin aktiviert, aber ich finde keine Konfiguration dazu :o

plugin {
trash = /etc/dovecot/dovecot-trash.conf
}
Beispiel für dovecot-trash.conf:

Code: Select all

# Junk mailbox is emptied before Trash
1 Junk
# Trash mailbox is emptied before Drafts
2 Trash
3 Drafts
4 Sent Messages
Gruss Dirk

Post Reply