Good to Know Database

CentOS 6: Postfix und Cyrus


Wenn Sie einen eigenen Mailserver in Ihrem Netzwerk betreiben wollen, empfiehlt sich für die schnelle und einfache Konfiguration Postfix als Maildaemon. Damit Sie die Mails von einem Client abrufen können, können Sie entweder über POP3 oder IMAP auf den Mailserver zugreifen. In beiden Fällen können Sie den Cyrus IMAP Server verwenden. Sollten Sie auch Mails von einem externen POP3-Server abholen wollen, sollten Sie im Anschluss noch das Tutorial zu Fetchmail lesen.

Postfix konfigurieren

Bei der Standardinstallation von CentOS 6 wird Postfix bereits installiert. Sollte dies nicht der Fall sein, können Sie Postfix durch die folgenden Befehle installieren, starten und die Init-Skripte anlegen.

[root@centos6 ~]# yum install postfix
[root@centos6 ~]# service postfix start
[root@centos6 ~]# chkconfig postfix on

Jetzt muss die Konfiguration von Postfix angepasst werden. Zuerst setzen Sie den Parameter myhostname mit dem vollständigen Rechnernamen und geben Ihre Domain mit dem Parameter mydomain an.

[root@centos6 ~]# postconf -e 'myhostname = server.home.lan'
[root@centos6 ~]# postconf -e 'mydomain = home.lan'

Damit Postfix von den Mail-Clients aus Ihrem lokalen Netzwerk E-Mails entgegen nimmt und gegebenenfalls weiterleitet, müssen Sie Ihr privates Netzwerk durch den Parameter mynetworks angeben.

[root@centos6 ~]# postconf -e 'mynetworks = 127.0.0.0/8 192.168.10.0/24'

Des Weiteren müssen Sie Postfix so konfigurieren, dass der Daemon auf dem lokalen Netzwerk-Interface auf eingehende Verbindungen wartet. Wenn Sie den Parameter inet_interfaces wie folgt auf den Wert all setzen, lauscht Postfix auf allen Netzwerk-Schnittstellen des Servers.

[root@centos6 ~]# postconf -e 'inet_interfaces = all'

Mit dem Parameter mydestination geben Sie an, für welche Domains der Mailserver zuständig ist und die eingehenden Mails in die lokalen Postfächer einsortiert.

[root@centos6 ~]# postconf -e 'mydestination = $myhostname, $mydomain, localhost.$mydomain, localhost'

Damit Postfix die aliases-Tabelle /etc/aliases auswertet, müssen Sie die folgenden zwei Parameter setzen.

[root@centos6 ~]# postconf -e 'alias_maps = hash:/etc/aliases'
[root@centos6 ~]# postconf -e 'alias_database = hash:/etc/aliases'

Wenn Sie die Mails des Benutzers root an einen anderen Account weiterleiten wollen, müssen Sie einen Alias in der /etc/aliases anlegen.

[root@centos6 ~]# vi /etc/aliases

Fügen Sie am Ende dieser Datei die folgende Zeile ein. Anstelle des Benutzers georg geben Sie den gewünschten Benutzernamen an, an welchen die Mails weitergeleitet werden.

root:    georg

Nachdem Sie die /etc/aliases überarbeitet haben, müssen Sie die Datei /etc/aliases.db wie folgt aktualisieren.

[root@centos6 ~]# postalias /etc/aliases

Bevor Sie Postfix starten, müssen Sie Cyrus noch einrichten.

Cyrus konfigurieren

Sollten Sie Cyrus noch nicht installiert haben, holen Sie dies jetzt nach.

[root@centos6 ~]# yum install cyrus-imapd

Nach der Installation starten Sie den Cyrus-Daemon.

[root@centos6 ~]# service cyrus-imapd start

Überprüfen Sie jetzt mit Telnet ob Cyrus funktioniert.

[root@centos6 ~]# telnet localhost imap

Sie sollten jetzt folgende Ausgabe erhalten.

Trying ::1...
Connected to localhost.
Escape character is '^]'.
* OK [CAPABILITY IMAP4 IMAP4rev1 LITERAL+ ID STARTTLS LOGINDISABLED COMPRESS=DEFLATE] server Cyrus IMAP v2.3.16-Fedora-RPM-2.3.16-6.el6 server ready

Um Telnet zu beenden tippen Sie folgende Syntax ein.

. logout

Jetzt müssen Sie zuerst ein Passwort für den Cyrus-Benutzer anlegen.

[root@centos6 ~]# passwd cyrus
Ändere Passwort für Benutzer cyrus.
Geben Sie ein neues Passwort ein: strenggeheim
Geben Sie das neue Passwort erneut ein: strenggeheim
passwd: alle Authentifizierungsmerkmale erfolgreich aktualisiert.

Sollte der Dienst saslauthd noch nicht ausgeführt werden, müssen Sie diesen jetzt starten und die Init-Skripte für den automatischen Start erstellen.

[root@centos6 ~]# service saslauthd start
[root@centos6 ~]# chkconfig saslauthd on

Nun können Sie den Cyrus-Daemon konfigurieren. Dazu führen Sie folgenden Befehl aus und loggen sich mit Ihrem Passwort ein.

[root@centos6 ~]# cyradm --auth login localhost --user cyrus
verify error:num=18:self signed certificate
IMAP Password: strenggeheim

Um eine Mailbox anzulegen müssen Sie folgenden Befehl ausführen. Hier wird nur eine Mailbox für den Benutzer georg angelegt.

localhost> createmailbox user.georg

Lassen Sie sich nun mit listmailbox alle Postfächer anzeigen die angelegt wurden.

localhost> listmailbox
user.georg (\HasNoChildren)

Wenn alles in Ordnung ist, können Sie cyradm verlassen.

localhost> exit

Sollten Sie Hilfe unter cyradm benötigen müssen Sie nur ein ? eintippen.

Jetzt müssen Sie nur noch Postfix mitteilen dass er alle lokalen Mails an Cyrus weiterleiten soll. Dazu setzen Sie die Parameter mailbox_transport und fallback_transport wie folgt.

[root@centos6 ~]# postconf -e 'mailbox_transport = lmtp:unix:/var/lib/imap/socket/lmtp'
[root@centos6 ~]# postconf -e 'fallback_transport = lmtp:unix:/var/lib/imap/socket/lmtp'

Die Konfiguration ist damit abgeschlossen und Sie können auch Postfix neu starten.

[root@centos6 ~]# service postfix restart

Damit der Cyrus-Daemon beim Systemstart automatisch gestartet wird, müssen Sie noch die entsprechenden Init-Skripte erstellen.

[root@centos6 ~]# chkconfig cyrus-imapd on

Firewall konfigurieren

Damit der Mailserver aus Ihrem Netzwerk erreichbar ist, müssen Sie noch den SMTP-Port (25/tcp), den POP3-Port (110/tcp) und den IMAP-Port (143/tcp) in der Firewall öffnen. Dazu erstellen Sie mit dem Befehl iptables drei neue Firewall-Regeln.

[root@centos6 ~]# iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 25 -j ACCEPT
[root@centos6 ~]# iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 110 -j ACCEPT
[root@centos6 ~]# iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 143 -j ACCEPT

Um die Firewall-Regeln dauerhaft zu speichern müssen Sie noch den folgenden Befehl ausführen.

[root@centos6 ~]# service iptables save

Konfiguration des Mail-Clients

Jetzt müssen Sie nur noch Ihren Mail-Client einrichten. Dazu erstellen Sie entweder ein IMAP- oder ein POP3-Mail-Konto mit folgenden Einstellungen.

SMTP-Server:    server.home.lan beziehungsweise 192.168.10.1 wenn kein DNS-Server vorhanden ist
POP3-Server:    server.home.lan beziehungsweise 192.168.10.1 wenn kein DNS-Server vorhanden ist
IMAP-Server:    server.home.lan beziehungsweise 192.168.10.1 wenn kein DNS-Server vorhanden ist
Benutzername:   Hier tragen Sie Ihren Benutzernamen auf dem Linux-Server ein

Wenn Ihr Mail-Client keine Mails versenden und/oder empfangen kann, sollten Sie einen Blick in die Logfiles auf Ihrem Server werfen.

[root@centos6 ~]# tail -f /var/log/maillog
[root@centos6 ~]# tail -f /var/log/messages

Weiterführende Tutorials

CentOS 6: Funktion des Postfix SMTP-Servers mit Telnet testen
CentOS 6: Funktion des Cyrus POP3-Servers mit Telnet testen
CentOS 6: Funktion des Cyrus IMAP-Servers mit Telnet testen
CentOS 6: SMTP-Verbindungen zum Postfix-Daemon mit TLS absichern
CentOS 6: POP3- und IMAP-Verbindungen zum Cyrus-Daemon mit TLS absichern
CentOS 6: Fetchmail (als Daemon) einrichten
CentOS 6: Postfix soll E-Mails über SMTP-Relay-Server versenden
CentOS 6: RoundCube Webmail einrichten


Dieser Eintrag wurde am 16.09.2011 erstellt und zuletzt am 24.01.2016 bearbeitet.

Direkter Link zu dieser Seite: http://www.gtkdb.de/index_33_1365.html

[ Zur Startseite ]   [ Zur Kategorie ]


Valid XHTML 1.0 Transitional Valid CSS Valid Atom 1.0

© 2004-2018 by Georg Kainzbauer