Peter ist ein Held! Zumindest für mich. Er hat es geschafft, das auf dem IIS von Microsoft der ActiveSync-Teil von Tine 2.0 läuft.
Bisher scheiterte es daran, das man die URL-Rewrite-Regeln vom Apache oder Lighttpd nicht auf den IIS übertragen konnte. Ich habe mir daran auch schon die Zähne ausgebissen. Wobei, zugegeben, in Sachen Webserver-Administration bin ich nicht so fit.
Lange Rede, kurzer Sinn. Peter hat seine Lösung im Tine 2.0-Forum gepostet. Ich greife seinen Beitrag auf und schreibe nun ein kleine Anleitung.
Als Betriebssystem kommt Windows 7 Professional x64 zum Einsatz. Der Lösungsweg sollte auch auf Windows Server 2008 (R2, inkl. SBS 2011, WHS 2011) übertragbar sein. In wie fern es unter Windows XP oder Windows Server 2003 funktioniert, habe ich nicht getestet. Wie gehabt: Feedback ist Willkommen!
IIS installieren
Zunächst muss der Microsoft-eigene Webserver installiert werden. Unter Windows 7 geschieht dies unter Systemsteuerung – Programme und Funktionen – Internetinformationsdienste. Unter Windows Server 2008 führt der Weg über den Server-Manager.
Wichtig: Damit PHP später funktioniert, muss (Fast)CGI explizit ausgewählt sein (WWW-Dienste – Anwendungsentwicklungsfeatures – CGI). Hier gibt es eine Anleitung von Microsoft.
Damit die Lizenzvereinbarung und die Datenschutzerklärung beim Setup von Tine 2.0 angezeigt werden können, muss im IIS-Manager ein neuer MIME-Type hinzugefügt werden:
Dateinamenerweiterung: .
MIME-Type: text/plain
URL Rewrite installieren
Damit ActiveSync möglich wird, ist es notwendig URL Rewrite herunterzuladen und zu installieren. Zum Setup gibt es nicht viel zu sagen. Herunterladen, ausführen, den Anweisungen folgen. Fertig.
Im IIS-Manager muss eine neue URL Rewrite Rule hinzugefügt werden:
Add Rule(s)
Inbound rules
Blank Inbound rule
Name: Tine 2.0 ActiveSync
Requested URL: Matches the Pattern
Using: Wildcards
Pattern: *Microsoft-Server-ActiveSync*
Rewrite URL: tine20/index.php{R:1}
Im Abschnitt “Server Variables” muss man zwei neue Einträge hinzufügen:
Name: ACTIVESYNC
Value: true
Name: REDIRECT_ACTIVESYNC
Value: true
PHP installieren
Für die Installation von PHP stehen gleich mehrere Wege zur Verfügung. Zum einen kann man die offiziellen Installationsroutinen verwenden oder auch den Web Platform-Installer von Microsoft.
Für diesen Artikel habe ich zur Abwechslung mal den Web Platform-Installer verwendet.
Zum Setup gibt es wieder nicht viel zu sagen. Herunterladen, ausführen, der Lizenz zustimmen, laufen lassen, fertig.
MySQL installieren
Auch beim Setup von MySQL gibt es mehrere Möglichkeiten. Zum einen wieder die bekannten, offiziellen Installationsroutinen oder auch hier der Web Platform-Installer.
Über den Web Platform-Installer ist es etwas tricky MySQL zu finden. Am einfachsten funktioniert es, im Suchfeld “mysql 5” einzugeben und die Suchergebnisse abzuwarten.
Man sieht anhand der Version, das Microsoft an dieser Stelle nicht der schnellste ist. Zum Zeitpunkt des Schreibens dieses Artikels war bereits MySQL 5.5.19 aktuell.
Sobald man MySQL hinzugefügt und auf “Installieren” geklickt hat, muss ein Kennwort für den MySQL-Server vergeben werden.
Sobald das Setup abgeschlossen ist, öffnet man aus dem Startmenü den MySQL Command Line Client und erstellt mit folgenden Befehlen eine Datenbank samt Benutzer für Tine 2.0:
create database tine20 default character set "utf8";
create user tine20@localhost identified by "PASSWORT";
grant all privileges on tine20.* to tine20@localhost;
flush privileges;
exit;
Tine 2.0 inkl. ActiveSync installieren
Zunächst lädt man das aktuelle Tine 2.0- und dazugehörige ActiveSync-Archiv herunter und entpackt es nach
C:\inetpub\wwwroot\tine20
Nun die Datei “config.inc.php.dist” im gleichen Ordner kopieren mit dem Namen“config.inc.php”, dem Benutzer “IUSR” Ändern- und Schreib-Berechtigung geben und diese Kopie editieren um die Angaben zur Datenbank einzutragen.
Ferner muss folgende Zeilen hinzugefügt werden:
'session' => array ( 'path' => 'C:\temp\tine20', ),
Natürlich muss der Ordner “C:\temp\tine20″ existieren.
Anschließend wird das Setup in einem Browser via
http://Servername/tine20/setup.php
gestartet und man kann sich mit dem Benutzernamen “tine20setup” und dem Kennwort “setup” anmelden.
Die Lizenzvereinbarung und Datenschutzerklärung akzeptieren. Nun in die“Konfigurations-Verwaltung” wechseln und dort folgende Angaben machen:
Logging
Dateiname: c:\temp\tine20\tine20.log
Priorität: Informational
Caching
Pfad: c:\temp\tine20
Lifetime: 30
Flüchtige Dateien
Pfad: c:\temp\tine20
Datei-Ablage Verzeichnis
Pfad: c:\temp\tine20
Für die erste Anmeldung an Tine 2.0 muss ein initialer Admin-Benutzer angelegt werden. Dazu zu “Authentifizierung/Benutzerkonten” wechseln und im ersten Abschnitt einen Admin-Benutzernamen samt Passwort angeben.
Nun wechselt man zur “Anwendungs-Verwaltung”. Bevor ActiveSync installiert werden kann, muss Tasks, Calendar und Felamimail installiert sein.
Sind diese grundlegenden Schritte abgeschlossen, kann man ActiveSync auf die schnelle mit einem Browser und dem Adressaufruf
http://SERVERNAME/Microsoft-Server-ActiveSync
prüfen. Wenn man diese Adresse aufruft, wird man zunächst nach Benutzername und Kennwort gefragt. Ist die Authentifizierung erfolgreich erscheint folgender Text:
It works! Your username is: BENUTZERNAME and your IP address is: ::1.
Damit sind alle Voraussetzungen für den Einsatz von Tine 2.0 und ActiveSync in Verbindung mit dem IIS von Microsoft gegeben.
Verheiratet, Vater von zwei Kindern, eines an der Hand, eines im Herzen. Schon immer Technik-Freund, seit 2001 in der IT tätig und seit über 10 Jahren begeisterter Blogger. Mit meiner Firma IT-Service Weber kümmern wir uns um alle IT-Belange von gewerblichen Kunden und unterstützen zusätzlich sowohl Partner als auch Kollegen.
Moin,
sehr nett das Du das oben Gepostet hast. Es hat mir sehr bei der Installation von Tine auf einem IIS geholfen.
Habt ihr auch die Kommunikation zwischen Thunderbird und Cad- CalDav hinbekommen? Läuft das einfach so, oder braucht man da auch Rewrite-Rules? siehe http://www.tine20.org/wiki/index.php/Admins/Thunderbird-Synchronisation
Falls man die Rules braucht, wäre Dein Freund dabei behilflich die Linux Schreibweise der Rules in das IIS RewriteTool zu übersetzen?
Herzlichen Dank
Frank
Hi Frank,
ja, für CalDAV, CardDAV usw. braucht man auch Rewrite-Rules.
Wie genau die dann unter dem IIS aussehen müssen, kann ich dir so spontan leider nicht sagen.
Muss ich mal testen, evtl. schaff’ ich das heute oder morgen, ich kann allerdings nichts versprechen.
Mit Peter bin ich nicht befreundet und leider hat er nie auf eine PM im Forum von mir geantwortet.
Prinzipiell hatte ich die Verbindung von Thunderbird und Tine schon mal am laufen, allerdings war da Tine auf einem Debian oder unter Windows mit Apache installiert (so genau weiß ich das gerade nicht mehr):
Tine 2.0 und Thunderbird
Also ich hab’ mal mein Glück versucht, leider ohne Erfolg.
Ich schätze mal, da müssen die Server Variablen irgendwie anders aussehen.
Von ActiveSync her bekannt die Angaben nehmen und durch WebDAV ersetzen reicht leider nicht.
Wo sind die IIS-Experten? 😉
Hi,
ich habe die Anleitung durchgeführt, allerdings funktioniert die Redirect Rule irgendwie nicht bei mir. Tine läuft bei mir als Subdomain http://tine.da-fatta.de. Wenn ich jetzt die URL angebe: http://tine.da-fatta.de/Microsoft-Server-ActiveSync gelange ich zum normalen Login für Tine. Hast Du vielleicht noch ein Tip?
Gruß
Kai
Die Regeln hast du entsprechend angepasst?
Liegt Tine im Root der Subdomain oder da auch in einem Unterordner?
Ohne den Beitrag von Peter wär’ ich da auch nie weiter gekommen.
Hi nochmal, ich bin erst heute wieder dazu gekommen das Thema aufzugreifen, sorry das ich nicht geantwortet habe. Der Fehler war, dass ich nicht Fast-CGI-Application eingestellt hatte, sondern nur CGI-Application.
Aber um noch mal zu deinen Rückfragen zu kommen:
– RW Rules sind angepasst wie beschrieben.
– TIne liegt in der Root der Subdomain
Danach konnte ich mich direkt per Firefox via http://tine.da-fatta.de/Microsoft-Server-ActiveSync anmelden und ich bekomme auch die “it works” Meldung. Allerdings funktinoiert das Login nicht via IE, nicht mit Chrome, nicht mit Opera oder sonst einem Browser und natürlich nicht mit dem iPhone. Ich habe auch mal einen Testbenutzer erstellt mit “test” und “test123”. Da der Server nicht wirklich produktiv ist, ist das halb so wild.
Vielleicht hat ja jemand noch eine Idee 🙂
Vielen Dank für eine Antwort
Gruß
Kai
Ich muss leider zugeben, dass das Thema “Rewrite-Rules”, unabhängig von Tine, meist am ehesten mit dem Apache Webserver zu lösen ist. Bei IIS, Lighthttpd und anderen habe ich schon mitunter lange und erfolglos nach Lösungen gesucht.
@Kai
Evtl. das Thema noch mal direkt im Tine-Forum ansprechen.
Hi, danke für die schnelle Antwort. Ja ich weiß auch nicht warum ich auf die Idee gekommen bin meinen Rooty überhaupt mit Windows umzustellen. Eventuell installiere ich mir einfach einen xampp und versuche es mal damit. Ich verstehe nur nicht, warum FireFox mich authentifizieren lässt und der Rest nicht …
Denk aber dran, das der XAMPP nicht für produktiv (auch wegen der Sicherheit) geeignet ist!
Naja in erster Linie ist das ein Gameserver, der ledlich mein Postfach und das von ein paar Kollegen hostet. Dennoch hast du recht 🙂
Danke für die Anleitung, ist nach wie vor aktuell.
Lediglich beim Anlegen der Datenbank ist ein Schreibfehler
statt
create database tine20 default character set “uft8”;
soll es
create database tine20 default character set “utf8”;
heißen.
Hat irgendjemand inzwischen neue Erkenntnisse zu CalDAV/ CarDAV?
Entweder es wurde zweimnal die gleiche Zeile kopiert oder geschrieben, oder die Kommentarfunktion bzw. WordPress hat etwas gefilter.
Wo liegt denn der Fehler?
Ach ja, die Weiterleitung funktionierte erst, nachdem die beiden Servervariablen ACTIVESYNC und REDIRECTACTIVESYNC in URL Rewrite noch einmal gesondert unter “Servervariablen verwalten” definiert worden sind.
der Fehler liegt im Buchstabendreher bei utf8
Das ist im Beitrag auch so gemeint.
Danke, hab’s korrigiert.
Ich habe inzwischen einige weitere Tests gemacht. Ich bekomme zwar im Browser die Meldung “it works”, aber mein Android 5.0 mag sich trotzdem nicht verbinden. Schade.
Dann ist’s wohl einfacher/besser den Apache Webserver zu verwenden.
Bei mir funktioniert ActiveSync mit Gmail unter Android 5.1 einwandfrei.
Schade, dass das mit der Rewrite-Rule für CardDAV u. CalDAV für den IIS nicht geklappt hat. Oder gibt es neue Erkenntnisse hierzu?