Einrichten eines Postfix Mail Servers mit Dovecot und RoundCube auf CentOS 7
Erfahren Sie, wie Sie einen Mail-Server auf einem Cloud Server unter CentOS 7 einrichten. Dieses Tutorial zeigt Postfix als SMTP-Server, Dovecot für POP/IMAP-Funktionalität und RoundCube als Webmail-Programm für Benutzer, die E-Mails über einen Webbrowser abrufen und empfangen möchten.
Das Tutorial führt Sie auch durch den Prozess der Erstellung und Verwendung eines selbstsignierten SSL-Zertifikats zur Sicherung ein- und ausgehender E-Mail-Verbindungen.
Richten Sie mit IONOS im Handumdrehen Ihren eigenen professionellen E-Mail-Server ein. Sie profitieren von zahlreichen Vorteilen wie großem und erweiterbarem Speicherplatz, Ihrer eigenen Domain, automatischer Verschlüsselung, Kalender- und Office-Funktionen oder E-Mail-Archivierung. IONOS bietet Ihnen höchste Sicherheitsstandards in ISO-zertifizierten europäischen Rechenzentren.
Anforderungen
- Ein Cloud Server mit CentOS 7.
- Postfix installiert und läuft.
Um den Status von Postfix auf dem Server zu überprüfen, verwenden Sie den Befehl:
sudo postfix status
Wenn Postfix installiert ist und läuft, sehen Sie die Ausgabe:
[user@localhost ~]# sudo postfix status
postfix/postfix-script: the Postfix mail system is running: PID: 1681
Firewall-Zugang
Wenn Sie eine Firewall haben, müssen Sie den Zugriff auf die folgenden Ports erlauben:
- SMTP: 25
- POP3: 110
- IMAP: 143
- SMTP Sicherheit: 465
- MSA: 587
- IMAP Sicherheit: 993
- POP3 Sicherheit: 995
Erstellen eines SSL-Zertifikats
Wir werden ein selbstsigniertes SSL-Zertifikat erstellen, um ein- und ausgehende E-Mail-Verbindungen zu schützen:
sudo openssl req -x509 -nodes -newkey rsa:2048 -keyout mailserver.key -out mailserver.crt -nodes -days 365
Beantworten Sie die Fragen bei der Eingabeaufforderung, oder drücken Sie einfach[Enter], um eine Antwort leer zu lassen. Dieser Befehl erstellt zwei Dateien: mailserver.key und mailserver.crt.
Erstellen Sie einen Ordner für die SSL-Zertifikatsdateien:
sudo mkdir /etc/postfix/ssl
Verschieben Sie dann die Dateien in diesen Ordner:
sudo mv mailserver.key /etc/postfix/ssl
sudo mv mailserver.crt /etc/postfix/ssl
- Verschlüsselt Webseiten-Kommunikation
- Verhindert Sicherheits-Warnungen
- Verbessert Google-Platzierung
Konfiguriert Postfix
Die folgenden Schritte ermöglichen eine grundlegende Postfix-Einrichtung, mit der Sie E-Mails senden und empfangen können. Weitere Informationen zu diesen Konfigurationen, finden Sie in der offiziellen Dokumentation.
Bevor Sie mit den Konfigurationsänderungen beginnen, stellen Sie sicher, dass Sie die neueste Version von Postfix haben, indem Sie den Befehl ausführen:
sudo yum update postfix
Edit master.cf
Zuerst werden wir die Datei /etc/postfix/master.cf bearbeiten, damit der Einreichungsdämon E-Mails sicher senden und annehmen kann:
sudo nano /etc/postfix/master.cf
Löschen Sie das Rautensymbol (#), um die folgenden Zeilen unkommentiert zu lassen:
#submission inet n - n - - smtpd
# -o syslog_name=postfix/submission
# -o smtpd_tls_security_level=encrypt
# -o smtpd_sasl_auth_enable=yes
# -o smtpd_recipient_restrictions=permit_sasl_authenticated,reject
# -o milter_macro_daemon_name=ORIGINATING
Speichern und beenden Sie die Datei.
main.cf bearbeiten
Die Datei /etc/postfix/main.cf enthält die Konfigurationsoptionen für Ihre Postfix-Installation. Bearbeiten Sie diese Datei:
sudo nano /etc/postfix/main.cf
Nehmen Sie die folgenden Änderungen vor:
Hostname setzen
Bearbeiten Sie die Zeile, die liest:
#myhostname = host.domain.tld
Löschen Sie das Hash-Markierung (#), um die Zeile zu entkommentieren, und ersetzen Sie host.domain.tld durch den Hostnamen des Servers:
myhostname = example.com
Domäne festlegen
Bearbeiten Sie die Zeile, die liest:
#mydomain = domain.tld
Löschen Sie das Hash-Markierung (#), um die Zeile zu entkommentieren, und ersetzen Sie domain.tld durch die Domain, für die Sie eine E-Mail erhalten möchten:
mydomain = example.com
Andere Einstellungen aktivieren
Löschen Sie die Hash-Markierung (#), um die folgenden Zeilen zu entkommentieren:
#myorigin = $myhostname
#inet_interfaces = all
#inet_interfaces = localhost
#inet_protocols = all
#mydestination = $myhostname, localhost.$mydomain, localhost
#home_mailbox = Maildir/
Konfigurationen hinzufügen
Fügen Sie schließlich die folgenden Zeilen an das Ende der Datei hinzu:
smtpd_tls_key_file = /etc/postfix/ssl/mailserver.key
smtpd_tls_cert_file = /etc/postfix/ssl/mailserver.crt
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_tls_security_level=may
Speichern und beenden Sie die Datei und starten Sie dann Postfix neu, um die neuen Konfigurationen zu laden:
sudo systemctl restart postfix
Postfix mit Telnet testen
Um Postfix zu testen, werden wir uns mit dem Server verbinden und ein einfaches "Handshake-Protokoll" durchführen, genau wie ein E-Mail-Programm.
Installieren Sie zunächst Telnet:
sudo yum install telnet
Sobald Telnet installiert ist, verwenden Sie es, um eine Verbindung zum SMTP-Port des Servers herzustellen:
telnet localhost 25
Der Server antwortet mit:
[user@localhost ~]$ telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Beginnen Sie, indem Sie dem Server mitteilen, von wem die Mail gesendet wird:
mail from: some-person@some-other-server.com
Dann teilen Sie dem Server mit, an wen Sie die E-Mail senden, und ersetzen Sie user@example.com durch Ihren eigenen Benutzernamen und Domainnamen:
rcpt to: user@example.com
Füge nun eine einfache Nachricht hinzu. Teilen Sie dem Server mit, dass Ihr Nachrichtentext hier beginnt:
data
Geben Sie die Nachricht ein und folgen Sie ihr mit [Enter], einem Punkt . und [Enter]:
hello world
.
Schließen Sie die Sitzung, indem Sie quit eingeben und Enter drücken.
Wenn Sie erfolgreich sind, erscheint Ihre Testnachricht unter /home/username/Maildir/new. Sie können diese Nachricht mit dem Befehl anzeigen:
ll /home/username/Maildir/new
Um die Nachricht zu lesen, kopieren und fügen Sie den Namen der Datei ein (es wird ein langer Name wie 1481229255.Vfd01I402b66aM546595.example.com sein) und lesen Sie sie mit mehr:
more 1481229255.Vfd01I402b66aM546595.example.com
Sie sehen die E-Mail-Nachricht zusammen mit allen Kopfzeileninformationen:
From some-person@some-other-server.com Thu Dec 8 19:43:10 2016
Return-Path: <some-person@some-other-server.com>
X-Original-To: user@example.com
Delivered-To: user@example.com
Received: from localhost (localhost [127.0.0.1])
by mail.example.com (Postfix) with SMTP id 6CFD589184
for <user@example.com>; Thu, 8 Dec 2016 19:42:33 +0000 (UTC)
Message-Id: <20161208194238.6CFD589184@mail.oxnardindustries.com>
Date: Thu, 8 Dec 2016 19:42:33 +0000 (UTC)
From: some-person@some-other-server.com
hello world
Installation und Konfiguration von Dovecot
Wir werden Dovecot als POP3/IMAP-Server einsetzen, damit die Benutzer ihre E-Mails empfangen und überprüfen können. Weitere Informationen über Dovecot finden Sie auf der Website von Dovecot.
Installiere Dovecot mit dem Befehl:
sudo yum install dovecot
Sie können den Status von Dovecot mit dem Befehl überprüfen:
sudo systemctl status dovecot
Wenn Dovecot läuft, sehen Sie eine Ausgabe ähnlich wie:
[user@mail dovecot]$ sudo systemctl status dovecot -l
● dovecot.service - Dovecot IMAP/POP3 email server
Loaded: loaded (/usr/lib/systemd/system/dovecot.service; disabled; vendor preset: disabled)
Active: active (running) since Thu 2016-12-08 21:04:48 UTC; 3s ago
Process: 8985 ExecStartPre=/usr/libexec/dovecot/prestartscript (code=exited, status=0/SUCCESS)
Main PID: 8989 (dovecot)
CGroup: /system.slice/dovecot.service
├─8989 /usr/sbin/dovecot -F
├─8992 dovecot/anvil
├─8993 dovecot/log
└─8995 dovecot/config
Dec 08 21:04:48 example.com systemd[1]: Starting Dovecot IMAP/POP3 email server...
Dec 08 21:04:48 example.com systemd[1]: Started Dovecot IMAP/POP3 email server.
Dec 08 21:04:48 example.com dovecot[8989]: master: Dovecot v2.2.10 starting up for imap (core dumps disabled)
Beachten Sie die Zeile, die lautet:
Active: active (running) since Thu 2016-12-08 21:04:48 UTC; 3s ago
Das bedeutet, dass Dovecot installiert ist und läuft.
- Automatische Archivierung ausgewählter Postfächer
- Sicherung in deutschen Rechenzentren
- Unterstützt die Einhaltung gesetzlicher Anforderungen wie GoBD
Roundcube installieren
Roundcube ist ein kostenloses, Open-Source-Webmail-Programm mit robusten, integrierten mehrsprachigen Funktionen und vielen praktischen Du kannst mehr über Roundcube auf der Roundcube-Website lesen.
Roundcube benötigt mehrere PHP- und MariaDB-Pakete als Voraussetzung. Installieren und/oder aktualisieren Sie diese zuerst mit dem Befehl:
sudo yum install mysql mariadb-server php php-common php-json php-xml php-mbstring
Als nächstes erstellen Sie einen MariaDB-Benutzernamen und eine Datenbank für die Roundcube-Installation. Melden Sie sich mit dem Befehl am MariaDB-Client an:
mysql -u root -p
Melden Sie sich mit dem Root-Passwort an und erstellen Sie dann eine Roundcube-Datenbank:
create database roundcube_db;
Legen Sie einen Benutzer für diese Datenbank an. Hinweis: Achten Sie darauf, dem Benutzer ein sicheres Passwort zu geben.
grant all on roundcube_db.* to roundcube_user@localhost identified by 'roundcube_db_password';
Ersetzen:
- roundcube_user mit dem Benutzernamen, den Sie für Ihre Datenbank erstellen möchten.
- roundcube_db_password mit einem sicheren Passwort für diesen Benutzer.
Verlassen Sie dann MariaDB:
quit;
Gehen Sie zum Dokumentenstamm Ihrer Website. Laden Sie die aktuelle Version von der Roundcube-Website herunter, indem Sie den Befehl verwenden:
sudo wget [download URL]
Um die Download-URL zu finden, besuchen Sie die aktuelle Release-Seite auf der Roundcube-Website. Kopieren Sie die URL für den grünen Link "Download". Sie können es in die Befehlszeile einfügen, indem Sie auf Umschalt + Einfügen klicken.
Zum Beispiel, um die aktuelle stabile Version ab der Veröffentlichung dieses Artikels herunterzuladen, lautet der Befehl:
sudo wget https://github.com/roundcube/roundcubemail/releases/download/1.2.3/roundcubemail-1.2.3-complete.tar.gz
Entkomprimieren Sie diese Datei mit dem Befehl:
sudo tar -xvf [filename]
Sie können die Vervollständigung der Registerkarte verwenden, um diesen Vorgang zu erleichtern. Geben Sie sudo tar -xvf roundcube ein und drücken dann Tab. Die Shell füllt automatisch den Rest des Dateinamens auf der Kommandozeile aus.
Um die oben heruntergeladene Datei zu entpacken, lautet der Befehl:
sudo tar -xvf roundcubemail-1.2.3-complete.tar.gz
Benennen Sie das extrahierte Verzeichnis roundcube um:
sudo mv roundcubemail-1.2.3 roundcube
Stellen Sie den Eigentümer der Dateien auf den Apache-Benutzer ein:
sudo chown -R apache:apache roundcube
Um die Installation abzuschließen, wechseln Sie zu einem Browser und gehen Sie auf die URL "http://example.com/roundcube/installer/".
Scrollen Sie nach unten auf der Seite und klicken Sie auf NÄCHSTE.
Im nächsten Abschnitt müssen Sie die Datenbankinformationen ausfüllen.
Geben Sie den Namen, den Benutzernamen und das Passwort der MariaDB-Datenbank ein, die Sie oben erstellt haben. Scrollen Sie dann nach unten und klicken Sie auf KONFIGURATION ERSTELLEN.
Hinweis: Es gibt viele mögliche Konfigurationen. Sie können sie jederzeit in der Zukunft ändern oder einstellen.
Nachdem die Konfigurationsdatei erstellt wurde, klicken Sie auf FORTSETZEN, um fortzufahren.
Klicken Sie auf die Schaltfläche Datenbank initialisieren, um die Datenbank einzurichten.
Testen Sie die Mailserver-Konfiguration, indem Sie eine Test-SMTP-E-Mail senden.
- Absender: Deine neue E-Mail-Adresse auf diesem Server. (Zum Beispiel, jdoe@example.com)
- Empfänger: Eine externe E-Mail-Adresse. (Zum Beispiel jdoe@gmail.com)
Klicken Sie dann auf Testmail senden. Überprüfen Sie nach einiger Zeit das externe E-Mail-Konto, um zu sehen, ob Ihre E-Mail gesendet wurde.
Testen Sie die IMAP-Konfigurationen, indem Sie sich mit Ihrem Benutzernamen und Passwort anmelden.
Beachten Sie, dass Ihr Benutzername NICHT Ihre vollständige E-Mail-Adresse ist. Melden Sie sich beispielsweise mit dem Benutzernamen jdoe an, nicht mit jdoe@example.com.
Nachdem die Konfiguration abgeschlossen ist, können Sie sich unter "http://example.com/webmail" anmelden, um E-Mails zu überprüfen und zu senden.
- Schreiben Sie perfekte E-Mails auf Wunsch mit KI-Funktionen
- Sicher: Schutz vor Viren und Spam
- Inklusive: eigene Domain