Erfahren Sie, wie Sie einen Mail-Server auf einem Cloud Server unter CentOS 7 ein­rich­ten. Dieses Tutorial zeigt Postfix als SMTP-Server, Dovecot für POP/IMAP-Funk­tio­na­li­tät und RoundCube als Webmail-Programm für Benutzer, die E-Mails über einen Web­brow­ser abrufen und empfangen möchten.

Das Tutorial führt Sie auch durch den Prozess der Er­stel­lung und Ver­wen­dung eines selbst­si­gnier­ten SSL-Zer­ti­fi­kats zur Sicherung ein- und aus­ge­hen­der E-Mail-Ver­bin­dun­gen.

Tipp

Richten Sie mit IONOS im Hand­um­dre­hen Ihren eigenen pro­fes­sio­nel­len E-Mail-Server ein. Sie pro­fi­tie­ren von zahl­rei­chen Vorteilen wie großem und er­wei­ter­ba­rem Spei­cher­platz, Ihrer eigenen Domain, au­to­ma­ti­scher Ver­schlüs­se­lung, Kalender- und Office-Funk­tio­nen oder E-Mail-Ar­chi­vie­rung. IONOS bietet Ihnen höchste Si­cher­heits­stan­dards in ISO-zer­ti­fi­zier­ten eu­ro­päi­schen Re­chen­zen­tren.

An­for­de­run­gen

  • Ein Cloud Server mit CentOS 7.
  • Postfix in­stal­liert und läuft.

Um den Status von Postfix auf dem Server zu über­prü­fen, verwenden Sie den Befehl:

sudo postfix status

Wenn Postfix in­stal­liert 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 Si­cher­heit: 465
  • MSA: 587
  • IMAP Si­cher­heit: 993
  • POP3 Si­cher­heit: 995

Erstellen eines SSL-Zer­ti­fi­kats

Wir werden ein selbst­si­gnier­tes SSL-Zer­ti­fi­kat erstellen, um ein- und aus­ge­hen­de E-Mail-Ver­bin­dun­gen zu schützen:

sudo openssl req -x509 -nodes -newkey rsa:2048 -keyout mailserver.key -out mailserver.crt -nodes -days 365

Be­ant­wor­ten Sie die Fragen bei der Ein­ga­be­auf­for­de­rung, oder drücken Sie einfach[Enter], um eine Antwort leer zu lassen. Dieser Befehl erstellt zwei Dateien: mail­ser­ver.key und mail­ser­ver.crt.

Erstellen Sie einen Ordner für die SSL-Zer­ti­fi­kats­da­tei­en:

sudo mkdir /etc/postfix/ssl

Ver­schie­ben Sie dann die Dateien in diesen Ordner:

sudo mv mailserver.key /etc/postfix/ssl
sudo mv mailserver.crt /etc/postfix/ssl
SSL-Zer­ti­fi­kat kaufen
Sichern Sie sich Ihr SSL-Zer­ti­fi­kat
  • Ver­schlüs­selt die Website-Kom­mu­ni­ka­ti­on
  • Ver­hin­dert Si­cher­heits­war­nun­gen
  • Ver­bes­sert die Google-Plat­zie­rung

Kon­fi­gu­riert Postfix

Die folgenden Schritte er­mög­li­chen eine grund­le­gen­de Postfix-Ein­rich­tung, mit der Sie E-Mails senden und empfangen können. Weitere In­for­ma­tio­nen zu diesen Kon­fi­gu­ra­tio­nen,  finden Sie in der of­fi­zi­el­len Do­ku­men­ta­ti­on.

Bevor Sie mit den Kon­fi­gu­ra­ti­ons­än­de­run­gen 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 be­ar­bei­ten, damit der Ein­rei­chungs­dä­mon E-Mails sicher senden und annehmen kann:

sudo nano /etc/postfix/master.cf

Löschen Sie das Rau­ten­sym­bol (#), um die folgenden Zeilen un­kom­men­tiert 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 be­ar­bei­ten

Die Datei /etc/postfix/main.cf enthält die Kon­fi­gu­ra­ti­ons­op­tio­nen für Ihre Postfix-In­stal­la­ti­on. Be­ar­bei­ten Sie diese Datei:

sudo nano /etc/postfix/main.cf

Nehmen Sie die folgenden Än­de­run­gen vor:

Hostname setzen

Be­ar­bei­ten Sie die Zeile, die liest:

#myhostname = host.domain.tld

Löschen Sie das Hash-Mar­kie­rung (#), um die Zeile zu ent­kom­men­tie­ren, und ersetzen Sie host.domain.tld durch den Hostnamen des Servers:

myhostname = example.com

Domäne festlegen

Be­ar­bei­ten Sie die Zeile, die liest:

#mydomain = domain.tld

Löschen Sie das Hash-Mar­kie­rung (#), um die Zeile zu ent­kom­men­tie­ren, und ersetzen Sie domain.tld durch die Domain, für die Sie eine E-Mail erhalten möchten:

mydomain = example.com

Andere Ein­stel­lun­gen ak­ti­vie­ren

Löschen Sie die Hash-Mar­kie­rung (#), um die folgenden Zeilen zu ent­kom­men­tie­ren:

#myorigin = $myhostname
#inet_interfaces = all
#inet_interfaces = localhost
#inet_protocols = all
#mydestination = $myhostname, localhost.$mydomain, localhost
#home_mailbox = Maildir/

Kon­fi­gu­ra­tio­nen hin­zu­fü­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 Kon­fi­gu­ra­tio­nen 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" durch­füh­ren, genau wie ein E-Mail-Programm.

In­stal­lie­ren Sie zunächst Telnet:

sudo yum install telnet

Sobald Telnet in­stal­liert ist, verwenden Sie es, um eine Ver­bin­dung zum SMTP-Port des Servers her­zu­stel­len:

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 Be­nut­zer­na­men und Do­main­na­men:

rcpt to: user@example.com

Füge nun eine einfache Nachricht hinzu. Teilen Sie dem Server mit, dass Ihr Nach­rich­ten­text 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 er­folg­reich sind, erscheint Ihre Test­nach­richt 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 Kopf­zei­len­in­for­ma­tio­nen:

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

In­stal­la­ti­on und Kon­fi­gu­ra­ti­on von Dovecot

Wir werden Dovecot als POP3/IMAP-Server einsetzen, damit die Benutzer ihre E-Mails empfangen und über­prü­fen können. Weitere In­for­ma­tio­nen über Dovecot finden Sie auf der Website von Dovecot.

In­stal­lie­re Dovecot mit dem Befehl:

sudo yum install dovecot

Sie können den Status von Dovecot mit dem Befehl über­prü­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 in­stal­liert ist und läuft.

E-Mail-Ar­chi­vie­rung
Bewahren Sie E-Mails rechts­si­cher auf
  • Au­to­ma­ti­sche Ar­chi­vie­rung aus­ge­wähl­ter Post­fä­cher
  • Sicherung in deutschen Re­chen­zen­tren
  • Un­ter­stützt die Ein­hal­tung ge­setz­li­cher An­for­de­run­gen wie GoBD

Roundcube in­stal­lie­ren

Roundcube ist ein kos­ten­lo­ses, Open-Source-Webmail-Programm mit robusten, in­te­grier­ten mehr­spra­chi­gen Funk­tio­nen und vielen prak­ti­schen Du kannst mehr über Roundcube auf  der Roundcube-Website lesen.

Roundcube benötigt mehrere PHP- und MariaDB-Pakete als Vor­aus­set­zung. In­stal­lie­ren und/oder ak­tua­li­sie­ren 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-Be­nut­zer­na­men und eine Datenbank für die Roundcube-In­stal­la­ti­on. 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 Be­nut­zer­na­men, 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 Do­ku­men­ten­stamm 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 Be­fehls­zei­le einfügen, indem Sie auf Umschalt + Einfügen klicken.

Zum Beispiel, um die aktuelle stabile Version ab der Ver­öf­fent­li­chung dieses Artikels her­un­ter­zu­la­den, lautet der Befehl:

sudo wget https://github.com/roundcube/roundcubemail/releases/download/1.2.3/roundcubemail-1.2.3-complete.tar.gz

Ent­kom­pri­mie­ren Sie diese Datei mit dem Befehl:

sudo tar -xvf [filename]
Tipp

Sie können die Ver­voll­stän­di­gung der Re­gis­ter­kar­te verwenden, um diesen Vorgang zu er­leich­tern. Geben Sie sudo tar -xvf roundcube ein und drücken dann Tab. Die Shell füllt au­to­ma­tisch den Rest des Da­tei­na­mens auf der Kom­man­do­zei­le aus.

Um die oben her­un­ter­ge­la­de­ne Datei zu entpacken, lautet der Befehl:

sudo tar -xvf roundcubemail-1.2.3-complete.tar.gz

Benennen Sie das ex­tra­hier­te Ver­zeich­nis roundcube um:

sudo mv roundcubemail-1.2.3 roundcube

Stellen Sie den Ei­gen­tü­mer der Dateien auf den Apache-Benutzer ein:

sudo chown -R apache:apache roundcube

Um die In­stal­la­ti­on ab­zu­schlie­ß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 Da­ten­bank­in­for­ma­tio­nen ausfüllen.

Geben Sie den Namen, den Be­nut­zer­na­men und das Passwort der MariaDB-Datenbank ein, die Sie oben erstellt haben. Scrollen Sie dann nach unten und klicken Sie auf KON­FI­GU­RA­TI­ON ERSTELLEN.

Hinweis: Es gibt viele mögliche Kon­fi­gu­ra­tio­nen. Sie können sie jederzeit in der Zukunft ändern oder ein­stel­len.

Nachdem die Kon­fi­gu­ra­ti­ons­da­tei erstellt wurde, klicken Sie auf FORT­SET­ZEN, um fort­zu­fah­ren.

Klicken Sie auf die Schalt­flä­che Datenbank in­itia­li­sie­ren, um die Datenbank ein­zu­rich­ten.

Testen Sie die Mail­ser­ver-Kon­fi­gu­ra­ti­on, 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. Über­prü­fen Sie nach einiger Zeit das externe E-Mail-Konto, um zu sehen, ob Ihre E-Mail gesendet wurde.

Testen Sie die IMAP-Kon­fi­gu­ra­tio­nen, indem Sie sich mit Ihrem Be­nut­zer­na­men und Passwort anmelden.

Beachten Sie, dass Ihr Be­nut­zer­na­me NICHT Ihre voll­stän­di­ge E-Mail-Adresse ist. Melden Sie sich bei­spiels­wei­se mit dem Be­nut­zer­na­men jdoe an, nicht mit jdoe@example.com.

Nachdem die Kon­fi­gu­ra­ti­on ab­ge­schlos­sen ist, können Sie sich unter "http://example.com/webmail" anmelden, um E-Mails zu über­prü­fen und zu senden.

Eigene E-Mail-Adresse erstellen
E-Mail-Kom­plett­pa­ke­te vom deutschen Markt­füh­rer
  • Mit KI schneller zur perfekten E-Mail: schreiben, über­set­zen, um­for­mu­lie­ren
  • Aus Deutsch­land – DSGVO-konform & sicher
  • Nur bei IONOS: Eigene Domain inklusive
Zum Hauptmenü