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
info@mydomain.com mydomain.com/info admin@mydomain.com mydomain.com/admin webmaster@my-otherdomain.com my-otherdomain.com/webmaster
5.d) Erstellen Sie /etc/postfix/vmail_aliases mit den virtuellen Aliasen
# vim /etc/postfix/vmail_aliases
info@mydomain.com info@mydomain.com admin@mydomain.com admin@mydomain.com webmaster@my-otherdomain.com admin@mydomain.com
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 = postmaster@yourdomain.com
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 admin@mydomain.com: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.