Kopano mit lokalem Betrieb einrichten
- Voraussetzung
- Einleitung
- Anpassungen in der kopano-g1.yaml
- Anpassungen in der ldhost.yaml
- Anpassungen in der samba4-ad.yaml
- Vorgenommene Änderungen ins Git einchecken
Voraussetzung
Eine abgeschlossene Kopano-Grundinstallation mit Anbindung an die MariaDB103 als Datenbank muss gegeben sein.
Einleitung
Um Kopano im lokalen Betrieb einzurichten, muss man Anpassungen an Konfigurationsdateien im Puppeteer vornehmen. Dadurch erhalten Benutzer dann username@schule.local als lokale Mailadresse und können untereinander Nachrichten verschicken.
Um die Anpassungen vorzunehmen, wechselt man in den Puppeteer und dort in das Verzeichnis /etc/logodidact/hiera/custom.d/
cd /etc/logodidact/hiera/custom.d/
In diesem Verzeichnis liegen mehrere YAML-Konfigurationsdateien mit Bezug zu Kopano abgespeichert. Für die Einrichtung sind die nachfolgende Dateien von Relevanz:
- kopano-g1.yaml
- ldhost.yaml
- samba4-ad.yaml
Anpassungen in der kopano-g1.yaml
Üblicherweise trägt man in der kopano-g1.yaml die gewünschte externe Maildomain sowie Zugangsdaten für das zugehörige Catchall-Postfach der Domain ein. Da wir jedoch keine externe Maildomain verwenden, bleiben diese Felder auf den Default-Wert bestehen.
ld_multidrop::ensure: absent
ld_kopano::amavisd_new::configs:
'@local_domains_maps': "( new_RE( qr'[@.](.*\\.?%{::domain})$'i ) )"
ld_kopano::postfix::configs:
smtp_generic_maps:
value: 'hash:%{dir_etc}/smtp_generic_maps.hash'
sender_dependent_relayhost_maps:
value: 'pcre:%{dir_etc}/sender_dependent_relayhost_maps_internal.pcre'
smtp_sender_dependent_authentication:
value: 'yes'
smtp_sasl_auth_enable:
value: 'yes'
smtp_sasl_password_maps:
value: 'hash:%{dir_etc}/smtp_sasl_password_maps.hash'
smtp_sasl_security_options:
value: 'noanonymous, noplaintext'
smtp_sasl_tls_security_options:
value: 'noanonymous'
smtp_tls_session_cache_database:
value: 'btree:${data_directory}/smtp_scache'
smtp_use_tls:
value: 'yes'
virtual_mailbox_domains:
value: 'pcre:%{dir_etc}/virtual_mailbox_domains_internal.pcre'
# Einschränken von vordefinierte Absendern auf Empfänger der lokalen Maildomäne
smtpd_restriction_classes:
value: 'local_only'
local_only:
value: 'check_recipient_access pcre:%{dir_etc}/local_domains.pcre, reject'
smtpd_recipient_restrictions:
value: 'check_sender_access pcre:%{dir_etc}/restricted_senders.pcre, permit_mynetworks,permit_sasl_authenticated, reject_invalid_hostname, reject_non_fqdn_hostname, reject_non_fqdn_recipient, reject_non_fqdn_sender, reject_unknown_recipient_domain, reject_unknown_sender_domain, reject_unauth_destination, reject_unauth_pipelining, reject'
ld_kopano::postfix::hashes:
'%{dir_etc}/smtp_generic_maps.hash':
content: |
%{header}
# Umschreibung der Absender-Domain bei externem Mailversand
# (Dummy-Eintrag, durch Empfängerfilterung nicht genutzt)
@%{::fqdn} @example.com
'%{dir_etc}/sender_dependent_relayhost_maps_external.hash':
content: |
%{header}
# Bounce-Nachrichten mit Null-Sender via Relayhost versenden
<> smtp.example.com
# Mails an externe Empfänger via Relayhost versenden
@example.com smtp.example.com
'%{dir_etc}/smtp_sasl_password_maps.hash':
content: |
%{header}
#user1@example.com user1@example.com:geheim
'%{dir_etc}/virtual_mailbox_domains_external.hash':
content: |
%{header}
example.com ACCEPT
'%{dir_etc}/restricted_senders.pcre':
content: |
%{header}
# Regular Expression Format: Liste an Absendern, deren Versand eingeschränkt wird
/@(.+?\.)?%{::domain}$/ local_only
'%{dir_etc}/local_domains.pcre':
content: |
%{header}
# Regular Expression Format: Liste erlaubter Empfängerdomänen für die eingeschränkten Absender
/@(.+?\.)?%{::domain}$/ OK
ld_kopano::postfix::verbose: false
ld_kopano::ldap_type: openldap
ld_kopano::db_server: mariadb103
Anpassungen in der ldhost.yaml
Hier wird die Maildomain (und als Resultat die primäre SMTP-Absenderadresse) festgelegt, die Benutzer im OpenLDAP-Attribut mail unter /var/lds/user/USERNAME/mail im logosrv erhalten.
# Kopano: Definition einer Maildomain (abweichend zu schule.local), die Benutzer & Gruppen im LDAP-Feld 'mail' erhalten sollen
#ld_legacy::mail::filters:
# '(zarafaaccount=1)': 'example.com'
# Kopano: Definition von Gruppen, die eine Mailadresse erhalten sollen und dadurch anschreibbar werden
ld_legacy::mail::zarafa_groups:
- elehrer
Anpassungen in der samba4-ad.yaml
Hier kann dem admin die administrativen Rechte zugeteilt. Falls noch andere Benutzer mit administrativen Rechten innerhalb von Kopano ausgestattet werden sollen, können diese ergänzt werden.
# Kopano: Definition von Benutzern, die administrative Rechte erhalten sollen
# (Einstellung wird nicht benutzt, sofern Kopano an das OpenLDAP angebunden ist, was dem Standard entspricht)
ld_samba4::ad::kopano::admins:
- 'admin'
Vorgenommene Änderungen ins Git einchecken
Damit die Änderungen sauber übernommen werden, fehlt noch ein git commit im Puppeteer.
cd /etc/logodidact/
git add *
git commit -am "Kopano für den lokalen Betrieb eingerichtet"
Führen Sie bitte abschließend noch einen prun in den betreffenden LXC-Containern aus (d.h. in allen Container, die durch Anpassungen in den YAML-Dateien Änderungen erhalten).