Der folgende Artikel zielt darauf ab, einen einfachen POP3/IMAP/SMTP-Mailserver in Ihrem Debian-VPS mit Postfix, Dovecot und SASL zu installieren und zu konfigurieren.
Was ist Postfix? Es ist ein Ersatz für das alte und ausgereifte Sendmail. Postfix versucht außerdem, sehr schnell, einfach zu verwalten und sicher zu sein.
Was ist Dovecot? Es ist ein Open-Source-IMAP- und POP3-Server für *NIX-ähnliche Systeme, der hauptsächlich im Hinblick auf Sicherheit geschrieben wurde.
Was ist SASL? SASL, die einfache Authentifizierungs- und Sicherheitsschicht, ist ein generischer Mechanismus für Protokolle zur Authentifizierung.
1.) Voraussetzungen
– Möglicherweise möchten Sie überprüfen, ob Ihr Hostname/Domainname ein gültiger FQDN (vollständig qualifizierter Domainname) ist und einen gültigen MX-DNS-Eintrag hat.
# dig +short MX mydomain.com 10 mydomain.com.
ok, der Hostname „mydomain.com“ hat einen MX-Eintrag und:
# dig +short A $(dig +short MX mydomain.com | head -1 | cut -d' ' -f2) 12.34.56.78
der MX-Datensatz wird zurück zur IP unseres Debian-Servers (12.34.56.78) aufgelöst
2.) Aktualisieren Sie das System und installieren Sie die erforderlichen Pakete
– Bevor wir fortfahren, müssen wir sicherstellen, dass wir über ein vollständig aktuelles System verfügen.
# apt-get update # apt-get upgrade # apt-get dist-upgrade
2.a) Postfix installieren
# apt-get install postfix
(Wenn Sie dazu aufgefordert werden, wählen Sie „Internet Site“ und legen Sie dann „mydomain.com“ als System-E-Mail-Namen fest.)
2.b) Installieren Sie den Taubenschlag
# apt-get install dovecot-common dovecot-imapd dovecot-pop3d
2.c) Installieren Sie sasl für die Authentifizierung von Benutzern
# apt-get install libsasl2-2 libsasl2-modules sasl2-bin
(aktivieren Sie den Sasl-Daemon, indem Sie START=yes setzen in /etc/default/saslauthd . Sie können auch die Anzahl der Threads reduzieren, indem Sie THREADS=3 setzen zum Beispiel)
oder wenn Sie sich mutig fühlen:
# sed -i -e 's/START=no/START=yes/' -e 's/THREADS=5/THREADS=3/' /etc/default/saslauthd
/etc/postfix/sasl/smtpd.conf einrichten
# echo -e "pwcheck_method: saslauthd\nmech_list: plain login cram-md5 digest-md5" > /etc/postfix/sasl/smtpd.conf
SASL neu starten
# /etc/init.d/saslauthd restart
3.) Systembenutzer erstellen Für die Bearbeitung eingehender Mails und nur Zugriff auf die Postfächer.
– Erstellen Sie eine Gruppe, die für virtuelle Postfächer verwendet wird
# groupadd vmail -g 2222
– Erstellen Sie einen Benutzer, der für virtuelle Postfächer verwendet wird
# useradd vmail -r -g 2222 -u 2222 -d /var/vmail -m -c "mail user"
4.) Bereiten Sie ein SSL-Zertifikat für die Verwendung des SSL-Transports vor
– Kopieren/verschieben Sie Ihr SSL in ein Verzeichnis, zum Beispiel /etc/sample-ssl/
# mkdir /etc/sample-ssl # rsync -Waq /path/to/certs/ /etc/sample-ssl/
5.) Postfix-Konfiguration
– Bevor Sie irgendetwas anderes tun, stellen Sie sicher, dass Sie eine Sicherungskopie der ursprünglichen Konfigurationsdatei haben
# cp /etc/postfix/main.cf{,.orig}
5.a) Richten Sie die Postfix-Hauptkonfigurationsdatei ein (/etc/postfix/main.cf)
– Stellen Sie sicher, dass Sie „mydomain.com“ durch Ihren Domainnamen ersetzen und auch die SSL-Pfade entsprechend einstellen
# vim /etc/postfix/main.cf
myhostname=mydomain.com mydomain=mydomain.com myorigin=$mydomain mydestination = localhost mynetworks = 127.0.0.0/8 inet_interfaces = all mailbox_size_limit = 0 recipient_delimiter = + debug_peer_level=2 smtpd_banner=$myhostname ESMTP $mail_name biff=no relayhost= show_user_unknown_table_name=no append_dot_mydomain = no alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases virtual_mailbox_base=/var/vmail virtual_mailbox_domains=hash:/etc/postfix/vmail_domains virtual_mailbox_maps=hash:/etc/postfix/vmail_mailbox virtual_alias_maps=hash:/etc/postfix/vmail_aliases virtual_minimum_uid=100 virtual_uid_maps=static:2222 virtual_gid_maps=static:2222 virtual_transport=dovecot smtpd_tls_cert_file=/etc/sample-ssl/ssl.crt smtpd_tls_key_file=/etc/sample-ssl/ssl.key smtpd_tls_CAfile=/etc/ssl/certs/ca-certificates.crt smtp_tls_CAfile=/etc/ssl/certs/ca-certificates.crt smtp_use_tls=yes smtpd_use_tls=yes smtpd_tls_loglevel=1 smtpd_tls_received_header=yes tls_random_source=dev:/dev/urandom smtp_tls_note_starttls_offer=yes smtpd_tls_session_cache_timeout=3600s smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache queue_directory=/var/spool/postfix smtpd_sasl_type=dovecot smtpd_sasl_path=private/auth smtpd_sasl_auth_enable=yes broken_sasl_auth_clients=yes smtpd_sasl_security_options=noanonymous smtpd_sasl_tls_security_options=$smtpd_sasl_security_options smtpd_sasl_local_domain=$myhostname smtpd_sasl_application_name=smtpd smtpd_helo_required=yes smtpd_helo_restrictions=reject_invalid_helo_hostname smtpd_recipient_restrictions=reject_unknown_recipient_domain, reject_unauth_pipelining, permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
5.b) Erstellen Sie /etc/postfix/vmail_domains mit den Domänen, für die Postfix E-Mails akzeptiert
– das Format ist 2 Spalten. Domäne links, Status rechts. wenn auf der rechten Seite nichts steht, ist die Domain deaktiviert.
# vim /etc/postfix/vmail_domains
mydomain.com OK my-otherdomain.com OK
5.c) Erstellen Sie /etc/postfix/vmail_mailbox mit den akzeptierten Postfächern
# vim /etc/postfix/vmail_mailbox
[email protected] mydomain.com/info [email protected] mydomain.com/admin [email protected] my-otherdomain.com/webmaster
5.d) Erstellen Sie /etc/postfix/vmail_aliases mit den virtuellen Aliasen
# vim /etc/postfix/vmail_aliases
[email protected] [email protected] [email protected] [email protected] [email protected] [email protected]
Hashen Sie die Konfigurationsdateien
# postmap /etc/postfix/vmail_domains # postmap /etc/postfix/vmail_mailbox # postmap /etc/postfix/vmail_aliases
6.) Dovecot-Konfiguration
– Bevor Sie irgendetwas anderes tun, stellen Sie sicher, dass Sie eine Sicherungskopie der ursprünglichen Konfigurationsdatei haben
# cp /etc/dovecot/dovecot.conf{,.orig}
– Haupt-Dovecot-Konfigurationsdatei erstellen
# vim /etc/dovecot/dovecot.conf
protocols = imap imaps pop3 pop3s log_timestamp = "%Y-%m-%d %H:%M:%S " first_valid_uid=2222 last_valid_uid=2222 first_valid_gid=2222 last_valid_gid=2222 mail_privileged_group = vmail disable_plaintext_auth=yes auth_executable = /usr/lib/dovecot/dovecot-auth auth_verbose = yes mail_location = maildir:/var/vmail/%d/%n/Maildir ssl_cert_file = /etc/sample-ssl/sample-chained.crt ssl_key_file = /etc/sample-ssl/sample.key protocol lda { auth_socket_path = /var/run/dovecot/auth-master postmaster_address = [email protected] mail_plugins = sieve log_path = } auth default { mechanisms = plain login passdb passwd-file { args = scheme=SHA1 /etc/dovecot/users.conf } userdb static { #args = /etc/dovecot/users.conf args = uid=2222 gid=2222 home=/var/vmail/%d/%n allow_all_users=yes } socket listen { master { path = /var/run/dovecot/auth-master mode = 0600 user = vmail group = vmail } client { path = /var/spool/postfix/private/auth mode = 0660 user = postfix group = postfix } } }
Stellen Sie sicher, dass die Konfiguration Ihren Pfaden und Anforderungen entspricht
– Erstellen Sie unsere Benutzerdatei:
# touch /etc/dovecot/users.conf
– Als nächstes verwenden Sie den folgenden Befehl, um einen Passwort-Hash für einen bestimmten Benutzer zu generieren:
# dovecotpw -s SHA1
(Erzeugtes Passwort ohne den {SHA1}-Teil zur Users.conf hinzufügen, zum Beispiel:)
# cat /etc/dovecot/users.conf [email protected]:7mh/MbZGZf7pc2pV6To7WuHJY8E=
7.) Berechtigungen einrichten und Installation abschließen
# chgrp vmail /etc/dovecot/dovecot.conf # chmod g+r /etc/dovecot/dovecot.conf # chown root:root /etc/dovecot/users.conf # chmod 600 /etc/dovecot/users.conf
– eingehende Mails an dovecot zustellen
# vim /etc/postfix/master.cf
(Folgendes anhängen)
dovecot unix - n n - - pipe flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver -f ${sender} -d ${recipient}
– Wenn Sie schon dabei sind, möchten Sie vielleicht auch den Übermittlungsport aktivieren, indem Sie die folgende Zeile auskommentieren:
submission inet n - - - - smtpd
– Dienste neu laden
# /etc/init.d/dovecot restart # /etc/init.d/postfix restart
Natürlich müssen Sie nichts davon tun, wenn Sie einen unserer für Debian optimierten VPS-Hosting-Dienste verwenden. In diesem Fall können Sie einfach unsere erfahrenen Linux-Administratoren bitten, dies für Sie zu installieren. Sie sind rund um die Uhr erreichbar und kümmern sich umgehend um Ihr Anliegen.
PS. Wenn Ihnen dieser Beitrag gefallen hat, teilen Sie ihn bitte mit Ihren Freunden in den sozialen Netzwerken über die Schaltflächen auf der linken Seite oder hinterlassen Sie einfach unten eine Antwort. Danke.