Table of Contents
Mailing
| Hostname | luthien.akv-soft.de |
|---|
OpenDKIM
Da OpenDKIM von Froxlor (noch) nicht direkt unterstützt wird, muss zunächst eine View in der Datenbank angelegt werden aus welchem OpenDKIM die DKIM-Domains beziehen kann. Dafür in der MySQL-Konsole als root folgendes ausführen.
USE froxlor; CREATE VIEW panel_dkim_domains AS SELECT id, domain FROM panel_domains WHERE dkim=1; EXIT;
Danach muss in /etc/opendkim.conf eine Zugriffsmöglichkeit aktiviert und die Tabellen konfiguriert werden.
Socket inet:8891@localhost
SigningTable dsn:mysql://froxlor:********@localhost/froxlor/table=panel_dkim_domains?keycol=domain?datacol=id
KeyTable dsn:mysql://froxlor:********@localhost/froxlor/table=panel_domains?keycol=id?datacol=domain,concat('dkim',dkim_id),dkim_privkey
Da OpenDKIM nun MySQL/MariaDB benötigt, sollte dem Service in /usr/lib/systemd/system/opendkim.service als Startvoraussetzung mariadb.service hinzugefügt werden.
After=network.target nss-lookup.target mariadb.service
Rechte für Konfigurationsdateien anpassen.
chmod 600 /etc/opendkim.conf
Zertifikate
Mit folgendem Aufruf kann ein LetsEncrypt-Zertifikat für SMTP und IMAP erstellt werden.
certbot certonly --apache -d mail.akv-soft.de
Postfix
In der Datei /etc/postfix/main.cf zunächst folgende Konfigurationselemente überprüfen oder ergänzen. Die Einbindung des Spamfilters wird später separat gezeigt. Der zusätzliche IP-Eintrag in mynetworks bewirkt, dass der alte Server Mails per SMTP an lokale Nutzer einliefern kann, ohne Authentifizierung zu erfordern. Dieser wird später wieder entfernt. Weiterhin werden weitere Checks für die Mailzustellung, eine DNS-Blacklist und die SSL-Zertifikate konfiguriert.
myhostname = luthien.$mydomain
mydomain = akv-soft.de
mydestination = $myhostname, localhost.$myhostname, localhost.$mydomain, localhost
mynetworks = 127.0.0.0/8 89.238.65.250/32
smtpd_sender_restrictions = permit_mynetworks,
permit_sasl_authenticated,
reject_non_fqdn_sender,
reject_unknown_recipient_domain,
reject_unknown_sender_domain,
permit
smtpd_recipient_restrictions = permit_mynetworks,
permit_sasl_authenticated,
reject_sender_login_mismatch,
reject_invalid_hostname,
reject_non_fqdn_hostname,
reject_non_fqdn_sender,
reject_non_fqdn_recipient,
reject_unknown_sender_domain,
reject_unknown_recipient_domain,
reject_unauth_pipelining,
reject_unauth_destination,
reject_unlisted_recipient,
reject_rbl_client sbl-xbl.spamhaus.org,
permit
smtpd_helo_restrictions = permit_sasl_authenticated,
permit_mynetworks,
reject_unauth_destination,
reject_non_fqdn_sender,
reject_non_fqdn_recipient,
reject_unknown_recipient_domain,
reject_invalid_hostname,
reject_non_fqdn_hostname,
reject_unauth_pipelining,
permit
smtpd_client_restrictions = permit_mynetworks,
permit_sasl_authenticated,
reject_unknown_client_hostname
message_size_limit = 268435456
smtpd_tls_cert_file = /etc/letsencrypt/live/mail.akv-soft.de/fullchain.pem
smtpd_tls_key_file = /etc/letsencrypt/live/mail.akv-soft.de/privkey.pem
### OpenDKIM settings
milter_protocol = 6
milter_default_action = accept
smtpd_milters = inet:localhost:8891
non_smtpd_milters = ${smtpd_milters}
Dovecot
In /etc/dovecot/local.conf müssen die Rechte für die UNIX-Sockets stats-reader und stats-writer angepasst werden.
service stats {
unix_listener stats-reader {
user = dovecot
group = vmail
mode = 0660
}
unix_listener stats-writer {
user = dovecot
group = vmail
mode = 0660
}
}
Das SSL-Zertifikat für Dovecot wird in der Datei /etc/dovecot/conf.d/10-ssl.conf hinterlegt.
ssl_cert = </etc/letsencrypt/live/mail.akv-soft.de/fullchain.pem ssl_key = </etc/letsencrypt/live/mail.akv-soft.de/privkey.pem
Dienste neu starten.
systemctl daemon-reload systemctl restart opendkim systemctl restart postfix systemctl restart dovecot
