Probleme bei Horde 5.2.7-2 mit SSL und ActiveSync

Guten Tag allerseits,

die Nachricht, dass es im Appcenter eine neue Version von Horde (5.2.7-2) gibt, habe ich freudig wahrgenommen und wollte sie gleich ausprobieren. Auf einem ganz frisch installierten UCS 4.1-3 (DC Master) klappt die Installation der Docker-App ohne Probleme.
Die erste Fehlermelung bekam ich zu Gesicht, als ich unmittelbar nach der Installation auf den Button “öffnen” geklickt hatte, um zur Horde Anmeldeseite zu gelangen. Aber statt der Loginseite kam diese Meldung im Browser:

Proxy Error The proxy server could not handle the request GET /horde/login.php. Reason: Error during SSL Handshake with remote server Apache/2.2.22 (Univention) Server at ucs.test.local Port 443
Ohne die Verschlüssung, also mit der URL http://ucs.test.local/horde öffnet sich die Loginseite. Anmelden klappt dann, Testmails schicken war auch möglich.

Dann habe ich noch ein Smartphone gezückt um ActiveSync zu nutzen. Aber das ist per Default vermutlich nicht aktiviert. Beim Versuch am PC Browser die Adresse http://server/Microsoft-Server-ActiveSync zu öffnen, kommt nur eine leere weiße Seite. Leider habe ich auch nicht herausgefunden, wie ich es aktivieren könnte. An der Stelle wo früher die Horde-config war (/etc/horde/horde/conf.d), ist sie nicht mehr.
Die Horde Adminseite konnte ich auch nicht finden. Wenn ich mich recht erinnere gab es mal eine UCR Varibale, mit der man Admins definieren konnte, aber die konnte ich auch nicht entdecken.

Beim Versuch mit Smartphone eine Verbindung herzustellen wird eine Zeile protokolliert.

root@ucs:/var/lib/univention-appcenter/apps/horde/logs/apache2# tail -f access.log 172.17.42.1 - tux [23/Oct/2016:12:43:35 +0200] "OPTIONS /Microsoft-Server-ActiveSync HTTP/1.1" 200 460 "-" "Android/5.0-EAS-2.0"

Kann mir jemand weiterhelfen?
Liebe Grüße,
Dirk Mauz

Das ist leider eine Fehler in der Horde App (es fehlt das Paket univention-apache im docker container). Wir werden kurzfristig eine neue Version der Horde App bereitstellen. Ein Workaround für die aktuelle Version der App ist die Installation von univention-apache im docker container:

univention-app shell horde univention-install -y univention-apache

Auf der Übersichtsseite der App in der UMC unter “App-Einstellungen” -> “Einstellungen (erweitert)” sind einige Parameter zu finden. Das ist nur ein kleiner Teil der möglichen Horde Optionen, wir werden das aber sukzessive erweitern. Die Konfiguration über /etc/horde/horde/conf.d ist aber weiterhin möglich, aber eben im docker Container. Mit folgendem Shell-Kommando kann man in den docker Container der Horde App wechseln. Dort kann dann /etc/horde/horde/conf.d wie bisher angepasst werden.

univention-app shell horde

Viele Grüße
Felix Botner

Guten Morgen Felix Botner,

danke für die flotte Antwort! Der Workaround funktioniert :slight_smile:
Dies ist mein Erstkontakt mit Docker, das Kommando univention-app shell horde ist sehr hilfreich. Somit konnte ich wie bisher die ActiveSync Konfiguration vornehmen. Auch das haut hin, aber…

nun bin ich genau so weit wie vor einem halben Jahr (LINK). Das bedeutet ActiveSync funktioniert prinzipiell, aber nur mit wenigen Geräten:
Bei Android 4.2 scheint alles zu passen. Android 5.0 und 5.1 verbinden sich zwar, zeigen die Elemente im Posteingang nur wenige Sekunden, dann verschwinden sie wieder.
Der Vorschlag von Dirk Ahrnke den Exchange Connectivity Analyzer zu probieren habe ich gemacht, der funktioniert erstaunlicherweise sogar und zeigt alles grün. Also leider keine neuen Erkenntnisse.

Jetzt habe ich noch mit pear install pear.horde.org/Horde_ActiveSync das ActiveSync Modul von Horde aktualisiert (von 2.28.5 auf 2.37.1). Das lief ohne Fehler durch, bringt leider keine Änderung am Verhalten.

Irgendwie habe ich das Gefühl, dass die Vorgehensweise die ich bisher immer angewandt habe nicht korrekt ist. Weis jemand, ob diese Variablen in /etc/horde/horde/conf.d genügen?
$conf[‘activesync’][‘enabled’] = true;
$conf[‘activesync’][‘emailsync’] = true;
$conf[‘activesync’][‘version’] = ‘12.0’;
$conf[‘activesync’][‘auth’][‘type’] = ‘basic’;
$conf[‘activesync’][‘autodiscovery’] = ‘full’;
$conf[‘activesync’][‘outlookdiscovery’] = false;
$conf[‘activesync’][‘logging’][‘type’] = ‘horde’;
$conf[‘activesync’][‘logging’][‘path’] = ‘/var/log/horde/’;
$conf[‘activesync’][‘logging’][‘type’] = ‘custom’;
$conf[‘activesync’][‘ping’][‘heartbeatmin’] = 60;
$conf[‘activesync’][‘ping’][‘heartbeatmax’] = 2700;
$conf[‘activesync’][‘ping’][‘heartbeatdefault’] = 480;
$conf[‘activesync’][‘ping’][‘deviceping’] = true;
$conf[‘activesync’][‘ping’][‘waitinterval’] = 5;

Bei nächster Gelegenheit werde ich noch eine VM aufsetzen und Horde auf einem anderen Betriebssystem testen, um zu sehen ob ActiveSync da auch so komisch reagiert.

Gruß,
Dirk Mauz

Hallo Forum,

ich wollte nur kund tun, dass bei mir Horde mit ActiveSync seit 3 Monaten stabil läuft, egal welches Smartphone. Bei mir hat es wohl an der Konstellation der Infrastruktur gelegen. Wenn ich einen UCS zu Testzwecken installiert habe, war ich beim Setup immer dazu geneigt, die Domäne entweder als Subdomäne einer bestehenden Windows- oder Samba Domäne zu konfigurieren oder aber eine neue Domäne mit gleichem Namen. Für DNS und Emailfluss waren diese Konstrukte kein Problem, aber Android 5 und 6 hat wohl in Sachen Authentifizierung damit zu kämpfen.
In einem Netzwerk auf “grüner Wiese” klappte das einfach so wie erhofft.

Das ActiveSync Problem mit Windows Phone 7.8 ist auch gelöst. Dieses Smartphone erwartet bei der ersten Synchronisierung einen Papierkorb im Postfach. Da ich immer mit recht frischen UCS+Horde Installationen getestet habe, gab es einfach noch keine gelöschten Emails und dementsprechend auch keinen Papierkorb. Horde legt diesen erst an, wenn die erste Mail gelöscht wird.

Hallo,

was hast du denn gemacht, um ActiveSync zu aktivieren? Horde läuft bei mir ansonsten wunderbar, ist auch über einen Webserver von außerhalb zu erreichen. Nur beim Aufruf von ActiveSync bekomme ich dieselbe weiße Seite. Docker versperrt mir leider auch den Blick auf die Konfiguration.
Also, wie hast du das hingekriegt?

Gruß - swimmer

Hallo swimmer,

zunächst in den Docker-Kontext wechseln:
univention-app shell horde

anschließend die ActiveSync-Konfig in eine neue Datei schreiben:

echo "<?php
\$conf['activesync']['enabled'] = true;
\$conf['activesync']['emailsync'] = true;
\$conf['activesync']['version'] = '14.0';
\$conf['activesync']['auth']['type'] = 'basic';
\$conf['activesync']['autodiscovery'] = 'full';
\$conf['activesync']['outlookdiscovery'] = false;
\$conf['activesync']['logging']['type'] = 'horde';
\$conf['activesync']['logging']['path'] = '/var/log/horde/';
\$conf['activesync']['logging']['type'] = 'custom';
\$conf['activesync']['ping']['heartbeatmin'] = 60;
\$conf['activesync']['ping']['heartbeatmax'] = 2700;
\$conf['activesync']['ping']['heartbeatdefault'] = 480;
\$conf['activesync']['ping']['deviceping'] = true;
\$conf['activesync']['ping']['waitinterval'] = 5;
" > /etc/horde/horde/conf.d/20-manual-activesync.php
chgrp www-data /etc/horde/horde/conf.d/20-manual-activesync.php
chmod o-rwx /etc/horde/horde/conf.d/20-manual-activesync.php

Ich bin mir grad nicht sicher ob nötig, aber schadet nicht Apache neu zu laden
exit service apache2 reload

Gruß,
Dirk

Danke, Dirk. Hat prima geklappt.

Gruß - swimmer

Mastodon