Einrichten eines Postfix Mail Servers mit Dovecot und Squirrelmail auf Ubuntu 16.04
Erfahren Sie, wie Sie einen Mail-Server auf einem Cloud Server mit Ubuntu 16.04 einrichten. In diesem Tutorial werden Postfix als SMTP-Server, Dovecot für POP/IMAP-Funktionalität und Squirrelmail als Webmail-Programm für Benutzer zum Überprüfen und Empfangen von E-Mails über einen Webbrowser vorgestellt.
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.
- Automatische Archivierung ausgewählter Postfächer
- Sicherung in deutschen Rechenzentren
- Unterstützt die Einhaltung gesetzlicher Anforderungen wie GoBD
Anforderungen
- Ein Cloud Server mit Ubuntu 16.04.
- Ein gültiger Domänenname, der auf den Server zeigt.
Firewall-Zugang
Sie müssen Ihre Firewall(s) so einstellen, dass sie den Zugriff auf die folgenden Ports ermöglichen:
- SMTP: 25
- POP3: 110
- IMAP: 143
- SMTP Sicherheit: 465
- MSA: 587
- IMAP Sicherheit: 993
- POP3 Sicherheit: 995
Standardmäßig verweigert die Firewall Cloud Panel den Zugriff auf alle außer den am häufigsten verwendeten Ports.
Postfix installieren
Um Postfix zu installieren, aktualisieren Sie zuerst Ihre Pakete:
sudo apt-get update
Dann installieren Sie Postfix:
sudo apt-get install postfix
Postfix ist auf den meisten Ubuntu 16.04-Systemen standardmäßig installiert, so dass dieser Befehl höchstwahrscheinlich mit der Meldung endet, dass postfix bereits die neueste Version (3.1.0-3) ist....
Wenn Postfix mit einer Installation fortfahren soll, übernehmen Sie einfach alle Standardwerte bei jeder Eingabeaufforderung, um den Vorgang abzuschließen.
Postfix konfigurieren
Nachdem die Installation abgeschlossen ist, führen Sie den Befehl zur Konfiguration von Postfix aus:
sudo dpkg-reconfigure postfix
Geben Sie bei der Eingabeaufforderung die folgenden Werte ein und ersetzen Sie example.com durch Ihren eigenen Domainnamen. Verwenden Sie die Pfeiltasten nach oben und unten, um sich nach oben und unten zu bewegen, um Antworten hervorzuheben, und Enter, um Ihre Antwort auszuwählen.
Wählen Sie OK, um fortzufahren.
Wählen Sie Internetsite.
System-Mail-Name: example.com
Wurzel- und Postmaster-Mail-Empfänger: root
Andere Ziele für Mail: example.com, localhost.example.com, localhost.example.com, localhost
Synchrone Updates in der Mailwarteschlange erzwingen: Nein
Lokale Netzwerke: 127.0.0.0/8
Procmail für die lokale Zustellung verwenden?: Nein
Begrenzung der Postfachgröße (Bytes): 0
Lokales Adresserweiterungszeichen: +
Zu verwendende Internet-Protokolle: alle
Nachdem die erste Postfix-Konfiguration durchgeführt wurde, können Sie die Postfix-Einstellungen mit dem Befehl ändern:
sudo postconf -e '[new setting]'
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.
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
sudo openssl req -new -x509 -extensions v3_ca -keyout cakey.pem -out cacert.pem -days 3650
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
sudo mv cakey.pem /etc/postfix/ssl
sudo mv cacert.pem /etc/postfix/ssl
- Verschlüsselt Webseiten-Kommunikation
- Verhindert Sicherheits-Warnungen
- Verbessert Google-Platzierung
SMTP-AUTH. einrichten
SMTP AUTH ist eine grundlegende Methode zur Sicherung Ihres Mail-Servers. Wir empfehlen dringend die Verwendung von SMTP AUTH auf allen Mail-Servern.
Verwenden Sie zunächst die folgenden Befehle, um Postfix für die Verwendung von SMTP AUTH:
sudo postconf -e 'smtpd_sasl_local_domain ='
sudo postconf -e 'smtpd_sasl_auth_enable = yes'
sudo postconf -e 'smtpd_sasl_security_options = noanonymous'
sudo postconf -e 'broken_sasl_auth_clients = yes'
sudo postconf -e 'smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination'
sudo postconf -e 'inet_interfaces = all'
sudo postconf -e 'smtp_tls_security_level = may'
sudo postconf -e 'smtpd_tls_security_level = may'
sudo postconf -e 'smtpd_tls_auth_only = no'
sudo postconf -e 'smtp_tls_note_starttls_offer = yes'
sudo postconf -e 'smtpd_tls_key_file = /etc/postfix/ssl/mailserver.key'
sudo postconf -e 'smtpd_tls_cert_file = /etc/postfix/ssl/mailserver.crt'
sudo postconf -e 'smtpd_tls_CAfile = /etc/postfix/ssl/cacert.pem'
sudo postconf -e 'smtpd_tls_loglevel = 1'
sudo postconf -e 'smtpd_tls_received_header = yes'
sudo postconf -e 'smtpd_tls_session_cache_timeout = 3600s'
sudo postconf -e 'tls_random_source = dev:/dev/urandom'
Ersetzen Sie example.com durch Ihren eigenen Domainnamen:
sudo postconf -e 'myhostname = example.com'
Erstellen Sie anschließend die Datei /etc/postfix/sasl/smtpd.conf und öffnen Sie sie zur Bearbeitung:
sudo nano /etc/postfix/sasl/smtpd.conf
Füge den folgenden Inhalt hinzu:
pwcheck_method: saslauthd
mech_list: plain login
Nachdem Sie die Konfiguration von Postfix abgeschlossen haben, starten Sie den Postfix-Daemon mit dem Befehl neu:
sudo systemctl restart postfix
Install SASL
Postfix verwendet SASL, um die Authentifizierung mit SMTP AUTH durchzuführen. Nachdem Postfix nun für die Verwendung von SMTP AUTH konfiguriert wurde, installieren Sie SASL mit dem Befehl:
sudo apt-get install libsasl2-2 sasl2-bin libsasl2-modules
Nachdem die Installation abgeschlossen ist, bearbeiten Sie /etc/default/saslauthd:
sudo nano /etc/default/saslauthd
Scrollen Sie nach unten zur Zeile:
# Should saslauthd run automatically on startup? (default: no)
START=no
Ändern Sie START auf ja:
# Should saslauthd run automatically on startup? (default: no)
START=yes
Unterhalb dieser Zeile fügen Sie die folgenden drei Zeilen hinzu:
PWDIR="/var/spool/postfix/var/run/saslauthd"
PARAMS="-m ${PWDIR}"
PIDFILE="${PWDIR}/saslauthd.pid"
Scrollen Sie nach unten zum Ende der Datei bis zur Zeile:
OPTIONS="-c -m /var/run/saslauthd"
Ändern Sie die letzte Zeile, um zu lesen:
OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd"
Speichern und beenden Sie die Datei.
Führen Sie anschließend den folgenden Befehl aus, um den dpkg-Status zu aktualisieren:
sudo dpkg-statoverride --force --update --add root sasl 755 /var/spool/postfix/var/run/saslauthd
Hinweis: Wenn Sie eine Fehlermeldung erhalten, dass /var/spool/postfix/var/run/saslauthd nicht existiert, ignorieren Sie diese. Dieses Verzeichnis wird beim Start des SASL-Daemons erstellt.
Erstellen Sie einen Symlink für die Konfigurationsdatei:
sudo ln -s /etc/default/saslauthd /etc/saslauthd
Und schließlich starten Sie den SASL-Daemon:
sudo /etc/init.d/saslauthd start
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 apt-get 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 '^]'.
220 localhost.localdomain ESMTP Postfix (Ubuntu)
Dies zeigt an, dass Postfix läuft.
Als nächstes begrüßen Sie den Server:
ehlo localhost
Der Server antwortet mit:
250-localhost.localdomain
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH PLAIN LOGIN
250-AUTH=PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
Die folgenden Zeilen zeigen an, dass SMTP AUTH funktioniert:
250-STARTTLS
250-AUTH PLAIN LOGIN
250-AUTH=PLAIN LOGIN
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: root@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 in /root/Maildir/new. Sie können diese Nachricht mit dem Befehl anzeigen:
ll /root/Maildir/new
Um die Nachricht zu lesen, kopieren und fügen Sie den Namen der Datei ein (es wird ein langer Name wie 1482257384.Vfc00I60512M258205.localhost.localdomain sein) und lesen Sie sie mit mehr:
sudo more 1482257384.Vfc00I60512M258205.localhost.localdomain
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: root@example.com
Delivered-To: root@example.com
Received: from localhost (localhost [127.0.0.1])
by mail.example.com (Postfix) with SMTP id 6CFD589184
for <root@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
- Bekannt als weltweit führende E-Mail- und Kalender-Lösung
- Sicheres Hosting in deutschen Rechenzentren
- Jederzeit mobiler Zugriff dank Microsoft Outlook
Installation und Konfiguration von Dovecot
Dovecot ist der Standard-POP3/IMAP-Server für Ubuntu und wird standardmäßig auf den meisten Ubuntu 16.04-Servern installiert. Aktualisieren Sie Dovecot und installieren Sie das imapd-Paket mit dem Befehl:
sudo apt-get install dovecot-core dovecot-imapd
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.
Legen Sie die Berechtigungen für das Verzeichnis /var/mail fest, so dass Dovecot Ordner für neue Benutzer erstellen kann:
sudo chmod 777 /var/mail
Installation und Konfiguration von Squirrelmail
Installieren Sie Squirrelmail mit dem Befehl:
sudo apt-get install squirrelmail
Sie müssen Ihre Apache-Konfigurationen bearbeiten, um einen Alias für Squirrelmail hinzuzufügen. Diese Direktive muss in den VirtualHost-Befehlsblock in der Hauptkonfigurationsdatei des Apache der Website eingefügt werden.
Diese Apache-Konfigurationsdatei ist normalerweise /etc/apache2/sites-available/example.com.conf auf Ubuntu.
Hinweis: Der Speicherort und Dateiname der Apache-Konfigurationsdatei einer Website kann variieren.
Bearbeiten Sie diese Datei mit einem Editor Ihrer Wahl, z.B. mit dem Befehl:
sudo nano /etc/apache2/sites-available/example.com.conf
Scrollen Sie durch die Datei, bis Sie den VirtualHost-Befehlsblock finden, der so aussehen wird:
<VirtualHost *:80>
ServerName example.com
<Directory "/var/www/example.com/html">
AllowOverride All
</Directory>
</VirtualHost>
Fügen Sie Folgendes zum VirtualHost-Befehlsblock hinzu:
Alias /squirrelmail /usr/share/squirrelmail
Stellen Sie sicher, dass diese Zeilen außerhalb von Verzeichnisbefehlsblöcken platziert werden. Zum Beispiel:
<VirtualHost *:80>
ServerName example.com
Alias /squirrelmail /usr/share/squirrelmail
<Directory "/var/www/example.com/html">
AllowOverride All
</Directory>
</VirtualHost>
Speichern und beenden Sie die Datei, und starten Sie dann den Apache neu, damit die Änderungen wirksam werden:
sudo systemctl restart apache2
Nach dem Neustart des Apache können Sie Squirrelmail testen, indem Sie die URL http://example.com/squirrelmail in einem Browser besuchen.
- Schreiben Sie perfekte E-Mails auf Wunsch mit KI-Funktionen
- Sicher: Schutz vor Viren und Spam
- Inklusive: eigene Domain