Du bist nicht eingeloggt!

Einloggen oder Registrieren

"The quieter you become, the more you are able to hear ..."

Suche:

Mailsystem unter Debian 6 einrichten

Diese Tutorial widmet sich der Einrichtung eines Basis-Mailsystems unter Debian 6. Viele der Anleitungen zu diesem Thema die im Internet kursieren sind für Anfänger viel zu komplex und überfordernd. Das es aber auch wesentlich einfach geht möchte ich mit diesem Artikel zeigen. Zu diesem Artikel gehört noch ein Blogeintrag, indem ihr Kommentare zu dem Artikel hinterlassen könnt.
Vorweg: ich verwende absichtlich den Ausdruck System und nicht Server, weil zu einem Server, welcher einen Mailservice bereitstellt, weit mehr als ein Programm gehört. Damit Mails verschickt und empfangen werden können ist ein Zusammenspiel aus vielen mehr oder weniger kleinen Komponenten nötig - ergibt zusammen ein System.

Was wird benötigt?

Debian (oder Ubuntu) System auf einem Interhost mit FQDN.
Grundlegende Kenntnisse auf diesem System (und von Linux allgemein)

Was macht ein Mailsystem?

Ein Mailsystem, bzw. hier nenne ich dann doch den Begriff Server, ist das Gegenstück zum Mailclient. Vielleicht ist es sinnvoll erst einmal zu klären was der Client macht:
- Lädt Mails aus dem Postfach des Users und stellt sie zur Verfügung
- Schickt verfasste Mails auf ihre Reise
Da der Client sich die Mails ja nicht einfach ausdenkt muss er irgendwie gesagt bekommen was denn so alles im Briefkasten drin ist. Zudem braucht er beim Verschicken der Mails Hilfe, er schafft es nur die Mail zum Verteiler zu reichen.
Und diese Aufgaben - oh Wunder - übernimmt der Server. Wenn Euch jemand eine Mail an Eure Adresse schreibt, dann nimmt das System diese Mail an und schiebt sie in das entsprechende Postfach (je nachdem wer halt adressiert wurde). Beim Verschicken genau andersrum - der Server nimmt die zu verschickenden Mails an und reicht sie an seinen Kollegen (der Server an der entsprechenden Adresse) weiter. So, jetzt hätten wir mal - für jeden verständlich - geklärt, was ein Mailsystem eigentlich macht. Jetzt müssen wir noch klären, aus was für Komponenten, wie oben erwähnt, das System eigentlich besteht und was sie jeweils machen.

Komponenten

Postfix: Empfängt Mails, die von Clients aus versendet werden sollen, und leitet diese an den entsprechenden Server im Internet weiter. Zusätzlich nimmt Postfix die Mails aus dem Internet auch entgegen.
Courier: Stellt dem Client die Mails des User aus dessen Mailbox zur Verfügung.
SASL: Authentifizierungsstelle, an der die Benutzer/Passwort Eingaben des Clients geprüft werden

Die Vorbereitung

Bevor wir anfangen die Komponenten auf dem System zu installieren sorgen wir erstmal für ein aktuelles System:

[code=bash]apt-get update
apt-get upgrade[/code lines=0]

Installation der Pakete

[code=bash]apt-get install postfix courier-imap courier-imap-ssl spamassassin spamc razor
pyzor squirrelmail libsasl2-modules sasl2-bin courier-imap-ssl[/code lines=0]
Die Nachfrage, ob eine www-Administrationsoberfläche angelegt werden soll beantworten wir mit "Nein".
Die von uns angestrebte Konfigurationsart von Postfix ist ein Internet-Server, folglich wählen wir diese aus.
Zum Mailnamen des Systems ist zu sagen, dass er unbedingt der FQDN des Servers sein muss.
Die Warnung von courier-imap-ssl, dass ein Zertifikat fehlt (bzw. das nur signierte verwendet werden können) ignorieren wir und be-ja-hen die Frage, ob ein Zertifikat erzeugt werden soll.
Wenn die Pakete erfolgreich installiert wurden, geht es nun an die Konfiguration dieser.

Konfiguration von Postfix

Postfix ist der Mail Transer Agent. Ich werde eine Konfiguration präsentieren, die auch die Entgegennahme für mehrere Domains ermöglicht.
Öffne nun die Datei /etc/postfix/main.cf. Die Konfiguration habe ich hier bereitgestellt - sie ist mit Kommentaren versehen, die eine weitere Erläuterung überflüssig macht. Ihr müsst lediglich Euren Hostnamen eintragen. Zusätzliche Konfigurationsdateien, welche in der Datei verlinkt werden, werden im Verlauf noch konfiguriert.

Damit der Server auch richtig seine Herkunft bekannt gibt müssen wir noch den Mailnamen setzen. Dazu öffnest du /etc/mailname (Datei ohne Endung, nicht etwa ein Verzeichnis) und löscht alle Einträge (die müssten etwa aussehen wie localhost.localdomain) und fügst dann deine Domain ein (ohne www vorne, also example.com)

Damit ist die Grundkonfiguration von Postfix abgeschlossen. Speichere die Datei und führe folgenden Befehl aus:

[code=bash]postfix check[/code lines=0]
Kommt kein Error (Warnings können in der Regel ignoriert werden) ist alles prima und du kannst Postfix mit

[code=bash]postfix reload[/code lines=0]
neu laden, sodass er die Konfiguration lädt.

Abschließend muss Postfix noch beigebracht bekommen, wie das mit SASL und der Authentifizierung funktioniert. Dazu legen wir eine neue Datei, /etc/postfix/sasl/smtpd.conf, an und befüllen sie wie folgt:

[code=bash]pwcheck_method: saslauthd
mech_list: digest-md5 cram-md5 login plain
autotransition:true
saslauthd_path: /var/run/saslauthd/mux
pwcheck_method: saslauthd[/code lines=0]
Zum Copy & Paste siehe hier.

Konfiguration der virtuellen Domains

Leg zwei neue Dateien an: /etc/postfix/virtual_alias /etc/postfix/virtual_domains
Zuerst wird die virtual_domains editiert. Hier werden alle Domains eingetragen, für die der Server zuständig sein soll. Diese werden durch Kommata getrennt, Zeilenumbrüche sind auch erlaubt. Z.B. domain1.de, domain2.com, domain3.net
Nun bearbeiten wir die Datei virtual_alias. Hier werden die Mailadressen den Usern des System zugeordnet. Sie hat ein etwas anderes Format. Am Anfang der Zeile steht die Adresse, dann kommt ein ein Leerzeichen oder Tab und dann die User welche Mails von der Adresse erhalten sollen. Diese werden per Kommata getrennt. Es können auch mehrere User und sogar Mailadressen angegeben werden.
Dies könnte dann so aussehen. Nachdem abspeichern müssen wir nun eine "Map", also die Konvertierung in das Datenbankformat von Postfix, erstellen.
Die gelingt mithilfe:

[code=bash]postmap /etc/postfix/virtual_alias[/code lines=0]
Nun wieder die Konfigurations überprüfen lassen mit

[code=bash]postfix check[/code lines=0]
und, falls kein Error, mit

[code=bash]postfix reload[/code lines=0]
neuladen - Fertig.

Einrichtung von Courier

Fertig.

Konfiguration von SASL

Zuerst muss SASL aktiviert werden, da es standardmäßig deaktiviert ist. Hierzu öffnest du die Datei /etc/default/saslauthd.
Folgende Zeilen müssen geändert werden (Die ' bitte durch " ersetzen):

[code=bash]START=no[/code lines=0] in [code=bash]START=yes[/code lines=0]
[code=bash]OPTIONS='-c'[/code lines=0] in [code=bash]OPTIONS='-c -m /var/spool/postfix/var/run/saslauthd'[/code lines=0]
Nun müssen wir noch ein paar Rechte setzen, damit Postfix auch alles lesen kann, denn Postfix läuft abgeschottet vom Rest des System und ist so gesichert(er) vor Angriffen.

[code=bash]dpkg-statoverride --add root sasl 710 /var/spool/postfix/var/run/saslauthd[/code lines=0]
Postfix muss noch der Gruppe sasl hinzugefügt werden, ansonsten kann nicht drauf zugegriffen werden.

[code=bash]adduser postfix sasl[/code lines=0]
Neustarten:

[code=bash]/etc/init.d/saslauthd start[/code lines=0]

An dieser Stelle ist die eigentliche Einrichtung des Mailsystem abgeschlossen. Im nächsten Schritt werde ich noch erklären wie wir den Webclient Squirrelmail einrichten. Wer den nicht möchte und ausschließlich per SMTP/IMAP vom Client am PC aus Mails versendet sollte dennoch unten unter Anmerkungen schauen, da dort auch mögliche Fehler beschrieben sind.

Squirrelmail einrichten

Squirrelmail ist ein IMAP-Webclient welcher es ermöglicht seine Mails auch ohne Client auf dem PC seine Mails vom Server zu lesen. Um Squirrelmail zu aktivieren müssen wir einen Symlink setzen, welche auf die Konfiguration für den Apache zeigt:

[code=bash]ln -s /etc/squirrelmail/apache.conf /etc/apache2/conf.d[/code lines=0]

Nach einem Neustart von Apache2 ist die Web-Oberfläche sofort verfügbar.

[code=bash]apache2ctl restart[/code lines=0]
Erreicht werden kann Squirrelmail nun unter http://$FQDN/squirrelmail (http://www.example.com/squirrelmail)

Einrichtung von Spamassasing/Procmail

Die Einrichtung des Anti-Spam Dienstes verschiebe ich nun aus diesem Tutorial in ein eigenständiges Thema, welches ich in Kürze verfassen werden. Grund ist die doch ernome Komplexität des Themas, welches dieses Tutorial sprengen würde ...

Anmerkung

Es kann sein, dass die ersten Versuche, sich als User anzumelden, fehlschlagen. Dies liegt daran, dass das MailDir Verzeichnis nicht gefunden wurde. Entweder man erstellt es manuell (im Homeverzeichnis des Users) oder schickt der Adresse einfach eine Mail von einer anderen Adresse aus - dadurch wird das Verzeichnis auch automatisch erstellt.

Schlusswort

Ich hoffe doch, dass ich einen ersten Einblick in die Welt der Mailsysteme geben konnte und wünsche viel Erfolg beim eigenen Server. Anmerkungen zu diesem Tutorial können gerne im Blogeintrag hinterlassen werden. Auch Fragen zum Thema können dort gerne gepostet werden. Den Artikel zum Spamfilter werde ich in Kürze nachreichen. Verweise auf diese Anleitung sind ausdrücklich erlaubt und gerne gesehen!


Downloads

Projekte

Updates

[31.01.2014] Forum in Beta Version online gestellt

[28.11.2013] Syobon Online Leaderboard in die Alpha Phase gestartet

[14.11.2012] Projektbeschreibung aktualisiert

[23.04.2012] Syobon Action 4 unter Projekte hinzugefügt