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
[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'
[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'
[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
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.
Ä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
[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
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)
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'
[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
[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
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
[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 ]
© 2004-2021 by Georg Kainzbauer