https://github.com/mahescho/benno4ucs
Vereinfacht die etwas komplizierte Aktion wie hier beschrieben 1 | 2 auf das ausführen eines Scripts.
Für den Betrieb eines vom Kopan-Server getrennten Benno-Servers ist eine manuelle Anpassung der Postfix-Configuration auf dem Kopano-Server nötig:
ucr set mail/postfix/mastercf/options/smtp/smtpd_milters=inet:benno.domain.lan:22500 ucr set mail/postfix/mastercf/options/smtp/milter_default_action=tempfail ucr set mail/postfix/mastercf/options/smtps/smtpd_milters=inet:benno.domain.lan:22500 ucr set mail/postfix/mastercf/options/smtps/milter_default_action=tempfail ucr commit /etc/postfix/{main,master}.cf systemctl restart postfix
Auf dem Benno Server muss die Datei /etc/defaul/benno-milter wie folgt angepasst werden:
SOCKET auskommentieren oder löschen:
#SOCKET=/var/spool/postfix/benno-milter/benno-milter.sock
Einfügen:
SOCKET_TYPE=inet SOCKET=22500@0.0.0.0
benno-milter unterstützt kein IPv6
/etc/benno-web/ldapauth.conf
# # LDAP Authentication configuration file # # This file must be readable by the user of the web server # # LDAP host # # <hostname>:<port> # # Univention UCS + Samba4: <hostname>:7389 # host = ucs.domain.lan:7389 # LDAP base dn # # Base dn of the ldap directory, the bind dn will be determined by a search # # request the user uid # basedn = dc=domain,dc=lan # User id attribute # # The attribute which holds the user id for authentication # # Windows AD: userattr = sAMAccountName #userattr = uid # user rdn # # Authentication will be performed as: $userattr=USERLOGIN,$usersuffix # # If disabled, a LDAP search operation will be performed to detect the user dn usersuffix = cn=users,dc=domain,dc=lan # User objectclas # # Objectclass of user object # # Windows AD: objectclass = user objectclass = posixAccount # Encrypt LDAP connection with TLS if set to "true" tls = true # DN to bind for search requests # # Dn of an user with permissions to search at the ldap tree. # Enable if anonymous search is not permitted! # # Windows AD: binddn = <username>@<windows-domain> #binddn = # Password of the admin user # #password = ## User is allowed to access his own email adresses and ## addtional adresses # Email address attribute # Univention UCS: mailPrimaryAddress email = mailPrimaryAddress # Email alias attribute # Windows AD: proxyAddress | proxyAddresses # Univention UCS: mailAlternativeAddress alias = mailAlternativeAddress,bennoEmailAddress # Allow access to additional email addresses addemail = bennoEmailAddress # Benno role attribute role = bennoRole # Benno container name attribute container = bennoContainer # Default container (if containerattr not set in LDAP) default_container = BennoContainer # Username who will always assigned the admin role adminuser = Administrator # remove domain from username during authentication if set to "true" #remove_domainsuffix = true
LDAP-Modul aktivieren:
cd /etc/benno-web/auth.d/ ln -s /usr/lib/benno-web/benno_ldapauth .
Die Datei /etc/benno-web/benno.conf muss um folgende Zeile ergänzt werden
EXTERNAL_AUTH = /usr/sbin/benno_auth.d
Für das Filtern von Mails in Benno sind nur die Evnelope-Adressen sinnvolles Ziel. Postfix kann X-Original-To Headere einfügen. Per Default ist das aber mit Kopano am UCS nicht so. Dazu müssen folgende Anpassungen vorgenommen werden:
/etc/postfix/master.cf.local
kopano unix - n n - 10 pipe flags=ODRhu user=kopano argv=/usr/sbin/kopano-dagent -R ${recipient}
/etc/postfix/main.cf.local
kopano_destination_recipient_limit = 1
Aktivieren:
ucr set mail/postfix/virtual/transport=kopano ucr commit /etc/postfix/{main,master}.cf systemctl restart postfix
Dann noch auf dem Benno Server der Datei /etc/benno/benno.xml in der Section <mailfile> <recipientheaders> die folgende Zeile einfügen:
<name>X-Original-To</name>
echo "deb https://www.benno-mailarchiv.de/download/debian /" > /etc/apt/sources.list.d/benno.list wget -O - https://www.benno-mailarchiv.de/download/debian/benno.asc | apt-key add - apt update apt install benno-kopano-webapp-plugin