Aus Raspberry Pi Geek 03/2015

Raspberry Pi als echten Web- und Mailserver einsetzen (Seite 4)

Anschließend nehmen Sie noch einige grundlegende Einstellungen an Dovecot vor. Das erledigen Sie in /etc/dovecot/dovecot.conf (Listing 9).

Listing 9

 

!include_try /usr/share/dovecot/protocols.d/*.protocol
listen = *
base_dir = /var/run/dovecot/
# Greeting message for clients.
login_greeting = Dovecot ready.
!include conf.d/*.conf
!include_try local.conf

Nun definieren Sie einige Sockets, was ermöglicht, dass Postfix und Dovecot miteinander kommunizieren. Die beiden tauschen Login-Informationen und E-Mails über diese Schnittstelle aus (Listing 10).

Listing 10

 

#/etc/dovecot/conf.d/10-master.conf
service auth {
    unix_listener auth-userdb {
        mode = 0600
        user = vmail
        group = vmail
    }
    # Postfix smtp-auth
    unix_listener /var/spool/postfix/private/auth {
        mode = 0660
        user = postfix
        group = postfix
    }
}
service lmtp {
    unix_listener /var/spool/postfix/private/dovecot-lmtp {
      mode = 0660
      group = postfix
      user = postfix
    }
    user = vmail
}

Damit Dovecot die Möglichkeit hat, sich selbst über E-Mails zu melden, benötigt es noch eine Mailadresse für den Postmaster. Es verhält sich überaus unkooperativ, wenn Sie diese nicht setzen. Zu diesem Zweck verwenden Sie in der Datei /etc/dovecot/conf.d/15-lda.conf den Parameter postmaster_address.

Sichere Verbindungen

Alle in diesem Artikel verwendeten Zertifikate rufen eine Warnung hervor, da sie nicht von einer richtigen Zertifizierungsstelle signiert sind. Zum Ausprobieren ist das aber ein praktikabler Weg.

Es gibt zwei Alternativen, mit denen Sie diese Meldung verhindern: Sie arbeiten komplett unverschlüsselt. Das ist nicht zu empfehlen. Oder Sie besorgen sich ein offizielles Zertifikat. Es gibt Anbieter, die für einen bestimmten Zeitraum signierte Zertifikate bereitstellen. So haben Sie die Möglichkeit, zu testen. Meist verfallen diese Zertifikate nach 90 Tagen.

Zu Testzwecken reicht es, nach der Installation den Server mit den vorhandenen Zertifikaten zu betreiben (Listing 11), auch wenn man weiß, dass das Fehlermeldungen produziert.

Listing 11

 

#/etc/dovecot/conf.d/10-ssl.conf
ssl = required
ssl_cert = </etc/dovecot/dovecot.pem
ssl_key = </etc/dovecot/private/dovecot.pem
ssl_protocols = !SSLv2 !SSLv3
ssl_cipher_list = EDH+CAMELLIA:EDH+aRSA:EECDH+aRSA+AESGCM:EECDH+aRSA+SHA384:EECDH+aRSA+SHA256:EECDH:+CAMELLIA256:+AES256:+CAMELLIA128:+AES128:SSLv3:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!ECDSA:CAMELLIA256-SHA:AES256-SHA:CAMELLIA128-SHA:AES128-SHA

In der Datei /etc/dovecot/dovecot-sql.conf.ext teilen Sie Dovecot mit, dass es die Informationen über die User und die Domänen aus der MySQL-Datenbank erhält. Dovecot ist nun vollständig eingerichtet und bereit, die Postfächer zu verwalten.

Listing 12

 

driver = mysql
connect = host=127.0.0.1 dbname=vmail user=vmail password=vmailpasswort
default_pass_scheme = SHA512-CRYPT
password_query = SELECT username, domain, password FROM users WHERE username = '%n' AND domain = '%d'
#iterate_query = SELECT username, domain FROM users

Postfix einrichten

Postfix [5] ist die Komponente im Mailsystem, die sich um das Zustellen kümmert. Dovecot stellt die Briefkästen bereit; Postfix ist der Postbote. Damit dieser Austausch klappt, bearbeiten Sie die Datei /etc/postfix/main.cf entsprechend (Listing 13). Das beinhaltet auch die Verbindungen zu den Tabellen in der Datenbank, wie den Zugang via SSL. Es stehen umfangreiche Änderungen an, sodass es unter Umständen einfacher ist, die Version von der DVD zu nehmen.

Listing 13

 

#/etc/postfix/main.cf
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = no
append_dot_mydomain = no
readme_directory = no
##### TLS parameters ######
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mydestination =
recipient_delimiter =
inet_interfaces = all
myorigin = /etc/mailname
inet_protocols = all
###### SASL Auth ######
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
inet_protocols = ipv4
##### TLS parameters ######
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
###### Use Dovecot LMTP Service to deliver Mails to Dovecot ######
virtual_transport = lmtp:unix:private/dovecot-lmtp
##### Only allow mail transport if client is authenticated or in own network (PHP Scripts, ...) ######
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
###### MySQL Connection ######
virtual_alias_maps = mysql:/etc/postfix/virtual/mysql-aliases.cf
virtual_mailbox_maps = mysql:/etc/postfix/virtual/mysql-maps.cf
virtual_mailbox_domains = mysql:/etc/postfix/virtual/mysql-domains.cf
local_recipient_maps = $virtual_mailbox_maps
###### SASL Auth ######
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes

Wenn Sie Ihre master.cf mit der Datei von der DVD überschreiben, ist es notwendig, dass Sie den Parameter myhostname= wieder auf den Wert setzen, der zu Ihrem Setup passt. In die Datei /etc/postfix/master.cf fügen Sie die Zeilen aus Listing 14 ein.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 8 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
RASPBERRY PI GEEK KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Raspberry Pi Geek bei Google Play Readly Logo
Nach oben