Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
mail-import_via_milter [2019/01/07 13:57] – [Alternative Anbindung in der master.cf] lwsystems | mail-import_via_milter [2024/02/05 07:37] (aktuell) – [Alternative Anbindung in der "master.cf"] lwsystems | ||
---|---|---|---|
Zeile 14: | Zeile 14: | ||
- | Auf Debian und auf Debian basierenden Systemen erfolgt die Grund-Installation direkt aus dem Paket // | + | Auf Debian und auf Debian basierenden Systemen erfolgt die Grund-Installation direkt aus dem Paket // |
Auf anderen Systemen sollte die manuelle Installation vorgenommen werden. | Auf anderen Systemen sollte die manuelle Installation vorgenommen werden. | ||
Zeile 20: | Zeile 20: | ||
**Hinweis: | **Hinweis: | ||
+ | Falls mehrere Systeme als Importquellen angebunden werden, sollten die Anmerkungen der [[Multi-Import|Multi-Import Konfiguration]] beachtet werden. | ||
====== Installation aus Debian Package ====== | ====== Installation aus Debian Package ====== | ||
+ | ===== Mit vorher installiertem Postfix ===== | ||
- | Nachdem das [[Repository|Benno MailArchiv Repository]] konfiguriert wurde, wird das Paket // | + | |
+ | Nachdem das [[Repository|Benno MailArchiv Repository]] konfiguriert wurde, wird das Paket // | ||
+ | |||
+ | Anschließend wird das Paket installiert. | ||
< | < | ||
Zeile 32: | Zeile 37: | ||
Nach der Installation des Pakets wird der MILTER Daemon an Postfix angebunden. | Nach der Installation des Pakets wird der MILTER Daemon an Postfix angebunden. | ||
+ | ===== Unix Domain Socket ===== | ||
- | ====== Anbindung an Postfix ====== | ||
Die MILTER-Anbindung wird in der Konfigurationsdatei ''/ | Die MILTER-Anbindung wird in der Konfigurationsdatei ''/ | ||
**Achtung** Falls Amavis als Post-Queue Filter installiert ist, sollte die Konfiguration des MILTERs wie in [[# | **Achtung** Falls Amavis als Post-Queue Filter installiert ist, sollte die Konfiguration des MILTERs wie in [[# | ||
- | ===== / | ||
< | < | ||
Zeile 49: | Zeile 53: | ||
</ | </ | ||
- | Falls der MILTER Daemon vom MTA getrennt installiert werden soll, kann der Benno MILTER Daemon per [[#milter_per_tcp-socket|über TCP angebunden]] werden. | + | Falls der MILTER Daemon vom MTA getrennt installiert werden soll, kann der Benno MILTER Daemon per [[#tcp-socket|über TCP angebunden]] werden. |
Danach den Postfix-Daemon neu starten. | Danach den Postfix-Daemon neu starten. | ||
**Achtung**: | **Achtung**: | ||
Dieses ist zum Beispiel beim Einsatz von Amavis der Fall. | Dieses ist zum Beispiel beim Einsatz von Amavis der Fall. | ||
+ | |||
+ | ===== TCP-Socket ===== | ||
+ | |||
+ | Falls der MILTER Daemon auf einem vom SMTP-Service getrennten Host installiert werden soll, muss der MILTER Daemon an einen TCP-Socket gebunden werden und der Deamon muss nicht mit der Gruppe //postfix// gestartet werden. Hierfür wird vom Pre-Install Script des Pakets die Override-Datei ''/ | ||
+ | |||
+ | Diese Konfiguration kann auch nachträglich in '' | ||
+ | |||
+ | In der Postfix-Konfiguration werden die Pfade zum Socket durch die Angabe von Hostname/ | ||
+ | |||
+ | smtpd_milters = inet: | ||
+ | non_smtpd_milters = inet: | ||
+ | |||
+ | | ||
+ | |||
===== Details der Anbindung | ===== Details der Anbindung | ||
Zeile 62: | Zeile 80: | ||
- | ====== Besonderheiten / spezielle Konfigurationen | ||
- | Postfix ist ein sehr flexibel konfigurierbarer Mailserver. Daher muss die individuelle Konfiguration | + | ====== Spezielle Konfigurationen / Andere MTAs ====== |
+ | |||
+ | Bei der Installation des Packages wird geprüft, ob das Spool-Verzeichnis von Postfix | ||
===== Anbindung bei getrenntem Benno MailArchiv Host ===== | ===== Anbindung bei getrenntem Benno MailArchiv Host ===== | ||
Zeile 71: | Zeile 90: | ||
Die einfachste Möglichkeit ist, den MILTER-Daemon auf dem Archivierungs-Host zu installieren. | Die einfachste Möglichkeit ist, den MILTER-Daemon auf dem Archivierungs-Host zu installieren. | ||
- | Der MILTER wird so konfiguriert, | + | Der MILTER wird so konfiguriert, |
Diese Konfiguration hat den Nachteil, daß der eigentiche Mailtransport von einem weiteren Host abhängig ist. | Diese Konfiguration hat den Nachteil, daß der eigentiche Mailtransport von einem weiteren Host abhängig ist. | ||
Zeile 111: | Zeile 130: | ||
==== Univention Mailserver ==== | ==== Univention Mailserver ==== | ||
- | Ein Univention-Setup mit einem einzelnen Server für Benno MailArchiv | + | In einer Univention-Umgebung wird die MailArchiv |
- | + | ||
- | Die Konfiguration | + | |
< | < | ||
- | ucr set mail/ | + | ucr set mail/ |
ucr set mail/ | ucr set mail/ | ||
- | ucr set mail/ | + | ucr set mail/ |
+ | ucr set mail/postfix/mastercf/ | ||
+ | ucr set mail/postfix/mastercf/options/ | ||
ucr set mail/ | ucr set mail/ | ||
</ | </ | ||
+ | Als Hostnamen kann der FQDN des Benno MailArchiv Systems oder die IP-Adresse angegeben werden. | ||
+ | Zur Aktivierung der Konfiguration ist ein Neustart von Postfix notwendig: '' | ||
+ | Die Kommunikation zwischen MTA und Benno Mailarchiv per MILTER erfolgt unverschlüsselt. Falls sich der Mailserver und die Benno MailArchiv App auf der gleichen Maschine befinden, kann die Kommunikation auch über den Hostnamen // | ||
===== MILTER für Amavis deaktivieren | ===== MILTER für Amavis deaktivieren | ||
Zeile 165: | Zeile 186: | ||
</ | </ | ||
- | Falls der // | + | Falls der **// |
Bei Angabe des Pfades zum Socket ist die //chroot// Konfiguration des Dienstes wichtig. Falls //chroot// auf //n// gesetzt wird oder der Defaultwert in der Kommentarzeile mit //n// angegeben ist, muss der Pfad als kompletter Pfad zum Socket angegeben werden. Im Beispiel oben ist der Pfad relativ zum chroot-Verzeichnis konfiguriert. | Bei Angabe des Pfades zum Socket ist die //chroot// Konfiguration des Dienstes wichtig. Falls //chroot// auf //n// gesetzt wird oder der Defaultwert in der Kommentarzeile mit //n// angegeben ist, muss der Pfad als kompletter Pfad zum Socket angegeben werden. Im Beispiel oben ist der Pfad relativ zum chroot-Verzeichnis konfiguriert. | ||
- | ====== MILTER per TCP-Socket ====== | ||
- | Falls der MILTER Daemon auf einem vom SMTP-Service getrennten Host installiert werden soll, muss der MILTER Daemon an einen TCP-Socket gebunden werden. In der Konfigurationsdatei ''/ | ||
- | |||
- | SOCKET_TYPE=inet | ||
- | SOCKET=22500@0.0.0.0 | ||
- | |||
- | gesetzt. In der Postfix-Konfiguration werden die Pfade zum Socket durch die Angabe von Hostname/ | ||
- | |||
- | smtpd_milters = inet: | ||
- | non_smtpd_milters = inet: | ||
- | |||
- | | ||
====== Manuelle Installation ====== | ====== Manuelle Installation ====== | ||
Zeile 201: | Zeile 210: | ||
- '' | - '' | ||
- ''/ | - ''/ | ||
+ | |||
===== Anbindung an Postfix | ===== Anbindung an Postfix | ||
Zeile 225: | Zeile 235: | ||
+ | ====== Debugging ====== | ||
+ | |||
+ | Das Logging des Services erfolgt mittels syslog mit der Facility LOG_MAIL. | ||
+ | |||
+ | ===== Testaufruf ===== | ||
+ | |||
+ | Zu Testzwecken kann der Daemon auch auf der Konsole mit dem folgenden Kommandoaufruf gestartet werden. | ||
+ | |||
+ | <code bash> | ||
+ | sudo -u benno -g postfix / | ||
+ | -p local:/ | ||
+ | -o / | ||
+ | -l / | ||
+ | </ | ||
+ | |||
+ | Der Paramter '' | ||
+ | |||
+ | ===== Systemd ===== | ||
+ | |||
+ | Der Benno MILTER Daemon wird von //systemd// gestartet. Die Konfiguration des Services wird im Servicefile ''/ | ||
+ | |||
+ | Der Daemon wird letztendlich mit dem folgenden Aufruf gestartet: | ||
+ | |||
+ | <code bash> | ||
+ | / | ||
+ | -l ${RUNTIME_DIRECTORY}/ | ||
+ | -p ${SOCKET_TYPE}: | ||
+ | -o ${SPOOLDIR} ${MILTERARGS} | ||
+ | </ | ||
+ | |||
+ | Die hier aufgeführten Umgebungsvariablen werden im Servicefile vorkonfiguriert: | ||
+ | |||
+ | # systemctl show benno-milter --property=Environment | ||
+ | |||
+ | <code bash> | ||
+ | SOCKET_TYPE=local | ||
+ | SOCKET=/ | ||
+ | SPOOLDIR=/ | ||
+ | PIDFILE=/ | ||
+ | </ | ||
+ | |||
+ | Diese Variablen werden ggfs. durch die Einstellungen der Konfigurationsdatei ''/ | ||
+ | |||
+ | ==== Benutzer und Gruppe ==== | ||
+ | |||
+ | Falls der MILTER per UNIX DOMAIN Socket an Postfix angebunden ist, wird der Service mit dem User " | ||
+ | |||
+ | # systemctl show benno-milter --property=User | ||
+ | # systemctl show benno-milter --property=Group | ||
+ | |||
+ | Vom Standard abweichende Einstellungen sind in der Konfigurationsdatei ''/ | ||
+ | |||
+ | ==== Systemd Start ==== | ||
+ | |||
+ | |||
+ | <code bash> | ||
+ | eval $(systemctl show benno-milter --property=User --property=Group \ | ||
+ | --property=Environment --property=RuntimeDirectory|\ | ||
+ | perl -pe ' | ||
+ | . / | ||
+ | sudo -u $User -g $Group \ | ||
+ | / | ||
+ | -l / | ||
+ | -p ${SOCKET_TYPE}: | ||
+ | -o ${SPOOLDIR} ${MILTERARGS} | ||
+ | </ |