Hallo allerseits,
wir haben die Tage - dank kompetenter Unterstützung von Moritz Bunkus - erfolgreich Kopano bei uns eingeführt.
Um die Mailclients nicht alle von Hand konfigurieren zu müssen, habe ich automx an das ucs ldap angebunden. Somit gibt es nun eine automatischen Konfiguration der Thunderbird und Outlook Clients via imap/smtp. Die Benutzer tippen im Einrichtungsdialog nur noch ihre Emailadresse und das ucs-Kennwort ein, der Rest geht von allein.
Ich habe bezüglich automx nur diesen Eintrag gefunden: forge.univention.org/bugzilla/s … i?id=38452 und wollte daher hier kurz schildern, wie ich das System dafür eingerichtet habe. Ich denke das hilft dem ein oder anderen auch weiter.
Also, ich habe mir ein bestehendes debian/jessie System genommen und bei letsencyrpt ein Zertifikats für autodiscover.example.de besorgt. Wie das geht beschreibe ich hier nicht weiter. Mir hat das Shellscript https://dehydrated.de dabei geholfen.
Dann habe ich mit apt install automx libapache2-mod-wsgi memcached
das automx-Paket , das wsgi-Modul für den (bereits laufenden) Apachen sowie den memcached installiert
Diese Apache vHost Definition habe ich angelegt und mittels a2ensite automx.conf aktiviert :
cat /etc/apache2/sites-available/automx.conf
# autoconfig.example.de
# autodiscover.example.de
# Thorsten Strusch 2016-10-25
<VirtualHost *:80>
ServerName autoconfig.example.de
#ServerAlias
ServerAdmin webmaster@example.de
DocumentRoot /var/www/
<IfModule mod_wsgi.c>
WSGIScriptAlias /mail/config-v1.1.xml /usr/lib/python2.7/dist-packages/automx_wsgi.py
<Directory "/usr/lib/python2.7/dist-packages/automx">
Require all granted
</Directory>
<Directory "/usr/lib/python2.7/dist-packages">
Require all granted
</Directory>
</IfModule>
ErrorLog /var/log/apache2/automx/error.log
CustomLog /var/log/apache2/automx/access.log combined
</VirtualHost>
<VirtualHost *:443>
ServerName autodiscover.example.de:443
ServerAdmin webmaster@example.de
DocumentRoot /var/www/
Include /etc/dehydrated/apache-include.conf
<IfModule mod_wsgi.c>
WSGIScriptAlias /Autodiscover/Autodiscover.xml /usr/lib/python2.7/dist-packages/automx_wsgi.py
WSGIScriptAlias /autodiscover/autodiscover.xml /usr/lib/python2.7/dist-packages/automx_wsgi.py
WSGIScriptAlias /mobileconfig /usr/lib/python2.7/dist-packages/automx_wsgi.py
<Directory "/usr/lib/python2.7/dist-packages/automx">
Require all granted
</Directory>
<Directory "/usr/lib/python2.7/dist-packages">
Require all granted
</Directory>
</IfModule>
</VirtualHost>
Vorsicht, das hier ist eine Apache2.4 Konfiguration. Beim 2.2er unter debian/wheezy bzw. dem 4er ucs System ist der Syntax ein wenig anders.
Die Datei /etc/dehydrated/apache-include.conf schaut so aus:
(wird bei mir von ansible erzeugt, liegt daher etwas unüblich):
[code]SSLEngine on
SSLCertificateFile /etc/dehydrated/certs/autodiscover.example.de/fullchain.pem
SSLCertificateKeyFile /etc/dehydrated/certs/autodiscover.example.de/privkey.pem
SSLProtocol All -SSLv2 -SSLv3
SSLHonorCipherOrder On
SSLCompression off
Header always set Strict-Transport-Security “max-age=15768000”
SSLCipherSuite ‘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’[/code]
Auch hier unterscheidet sich wieder der Syntax zw. dem 2.2er und 2.4er Apachen. apachectl configtest hilft beim debuggen.
Jetzt fehlt noch die Konfiguration von automx selbst in der /etc/automx.conf
# file: /etc/automx.conf
[automx]
provider = example.de
domains = *
debug = yes
logfile = /var/log/automx/automx.log
# Protect against DoS
memcache = 127.0.0.1:11211
memcache_ttl = 600
client_error_limit = 20
rate_limit_exception_networks = 127.0.0.0/8, ::1/128
# The DEFAULT section is always merged into each other section. Each section
# can overwrite settings done here.
[DEFAULT]
account_type = email
account_name = Meine Organisation ${displayName}
account_name_short = Kürzel
server_url = kopano.example.de
server_name = Kopano
display_name = ${displayName}
action = settings
smtp = yes
smtp_server = mx0.example.de
smtp_port = 587
smtp_encryption = starttls
smtp_auth = plaintext
smtp_auth_identity = ${uid}
smtp_refresh_ttl = 6
smtp_default = yes
imap = yes
imap_server = imap.example.de
imap_port = 143
imap_encryption = starttls
imap_auth_identity = ${uid}
imap_auth = plaintext
imap_refresh_ttl = 6
# 172.16.16.4 - IP des Masters, es können mehrere ldap-URLs angegeben werden:
host = ldap://172.16.16.4:7389
base = cn=users,dc=example,dc=de
result_attrs = displayName, uid
scope = sub
filter = (&(objectClass=univentionMail) (mailPrimaryAddress=%s))
bindmethod = simple
binddn = uid=apacheauth,cn=users,dc=example,dc=de
bindpw = ApacheUserGeheimesPasswortBitteAendern
usetls = false
#cacert = /etc/ldap/ssl/cacert.pem
# If you want to sign mobileconfig profiles, enable these options. Make sure
# that your webserver has proper privileges to read the key. The cert file
# must contain the server certificate and all intermediate certificates. You
# can simply concatenate these certificates.
#sign_mobileconfig = yes
#sign_cert = /path/to/cert
#sign_key = /path/to/key
pop = no
[global]
backend = ldap
Ich benutze den User apacheauth zur Anmeldung am LDAP. Er wurde in der UMC unter Optionen einfach mit Einfaches Authentisierungskonto angelegt, er hat sonst keine Rechte.
Um nur valide Benutzerkontenkonfigurationen herauszugeben, filter ich im LDAP nach Einträgen mit der Objektklasse univentionMail und einer gesetzten mailPrimaryAddress
Ob das alles klappt, oder nicht, verrät einem der Output des Kommandozeilentools aus dem automx Paket: automx-test vorname.nachname.example.de
Was noch nicht geht ist die Einrichtung von active_sync über automx - mir erschließt sich nicht wie das funktioniert. Wenn das jemand am Laufen hat, wäre ich dankbar für feedback