[Howto] automx

UCS Mailstack (Handbuch)

[Howto] automx

Postby ThorstenS » Thu 3. Nov 2016, 15:41

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: https://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
Code: Select all
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 :
Code: Select all
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: Select all
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'

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
Code: Select all
# 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
User avatar
ThorstenS
 
Posts: 45
Joined: Wed 18. Mar 2015, 14:16
Location: Kassel

Re: [Howto] automx

Postby ThorstenS » Mon 7. Nov 2016, 08:46

Damit Outlook einen active sync Accont anlegen kann, muss vor die server_url ein https:// gestellt werden:
Code: Select all
server_url = https://kopano.example.de
User avatar
ThorstenS
 
Posts: 45
Joined: Wed 18. Mar 2015, 14:16
Location: Kassel


Return to Mail

Who is online

Users browsing this forum: fbartels and 1 guest