Windows: Small Business Server 2011 Essentials mit hMailServer und Tine 2.0 aufwerten

Per Standard fehlt dem Windows Small Business Server 2011 Essentials ein E-Mail- und Groupware-Server. Microsoft wünscht sich, das die Anwender Office 365 verwenden. Wer sich zusätzliche Lizenzkosten sparen möchte, verwendet für die E-Mails den hMailServer und als Groupware Tine 2.0.

Zunächst wird eine Standard-Installation vom Small Business Server 2011 Essentials durchgeführt. Dieser Schritt wird an dieser Stelle nicht weiter beschrieben.

Als generelle Vorbereitung für den hMailServer und Tine 2.0 muss zunächst ein MySQL-Server installiert werden.

MySQL-Server für Windows (x86, 64-bit) MSI-Installer herunterladen und installieren.

Nach dem Start der Installation „Typical“ auswählen. Sobald der „Configuration Wizard“ läuft, wählt man „Standard Configuration“ aus. Anschließend muss das Root-Kennwort gesetzt werden.

Nach erfolgter Installation öffnet man aus dem Startmenü den „MySQL Command Line Client“ und gibt das Root-Kennwort ein.

Mit folgenden Befehlen wird ein Benutzer für den hMailServer angelegt und die Rechte an der Datenbank zugewiesen:

create database hmailserver;
create user hmailserver@localhost identified by "PASSWORT";
grant all privileges on hmailserver.* to hmailserver@localhost;
flush privileges;

Mit folgenden Befehlen wird eine Datenbank samt Benutzer für Tine 2.0 angelegt und die Rechte an der Datenbank zugewiesen:

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;

– hMailserver herunterladen und installieren.

Bei der Abfrage nach dem Datenbanktyp „Use external database engine (MSSQL, MySQL or PostgreSQL) auswählen.

Bevor der hMailServer-Wizard erfolgreich ausgeführt werden kann, muss zunächst die Datei „libmysql.dll“ in der 32-bit Version (z.B. aus dem 32-bit Archiv von MySQL) in den Ordner „C:\Program Files (x86)\hMailServer\Bin“ kopiert werden.

Zunächst „Select a new hMailServer Default Database“, dann bei „database server type“ „MySQL“ auswählen und folgende Angaben machen:

Database server address: localhost
Database name: hmailserver
Username: hmailserver
Password: PASSWORT

Bei der Dienste-Abhängigkeit „MySQL (MySQL)“ auswählen.

Abschließend muss ein Kennwort für hMailServer vergeben werden.

– hMailServer konfigurieren.

Nach dem ersten Start des hMailServer’s muss zuerst eine neue E-Mail-Domäne angelegt werden. Dazu auf „Add Domain“ klicken und den entsprechenden Namen eingeben.

Nun können die Postfächer der Benutzer angelegt werden. Dazu klickt man unterhalb der Domain mit der rechten Maustaste auf „Accounts“ und anschließend auf „Add AD Account“. Dann wählt man die Domain aus und den Benutzer, für den man ein Postfach anlegen möchte.

In wie weit eine weitergehende Konfiguration von hMailServer notwendig ist, wie z.B. Spam- und Virenschutz, E-Mail-Versand via SMTP, POP3-Empfang etc. muss im Einzelfall geklärt werden.

PHP (VC9 x86 Non Thread Safe) Installer herunterladen und installieren.

Bevor man die Installation von PHP startet, muss man erst CGI im IIS aktivieren. Im „Server-Manager“ unter „Rollen“ mit der rechten Maustaste auf „Webserver (IIS)“ klicken und „Rollendienste hinzufügen“ anklicken. In der Auswahl dann „CGI“ aktivieren und den Vorgang abschließen.

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

Bei der Installation von PHP „IIS Fast CGI“ auswählen.

Tine 2.0 herunterladen und installieren.

Den Inhalt des Archiv nach

C:\Programme\Windows Server\Bin\WebApps\Site\tine20

extrahieren.

Nun die Datei „config.inc.php.dist“ im gleichen Ordner kopieren mit dem Namen „config.inc.php“, dem Benutzer „IIS_IUSRS“ Schreib-Zugriff 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 es den Ordner „C:\temp\tine20“ geben und der Benutzer „IIS_IUSRS“ muss Lese- und Schreib-Zugriff auf diesen Ordner haben.

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

Nicht vergessen auf „Konfiguration speichern“ zu klicken!

Zu „Authentifizierung/Benutzerkonten“ wechseln und folgende Angaben machen:

Benutzername und Kennwort für den initialen Admin-Benutzer eingeben.

Achtung: Da mit Hilfe des Active Directories die Anmeldung erfolgt, muss der initiale Admin-Benutzer im ADS existieren.

Normalerweise würde man nun Tine 2.0 so konfigurieren, das es eine Benutzer-Authentifizierung mit Hilfe des Active Directories durchführt. Allerdings machte mir dieser Teil während des Tests Probleme. Dazu gibt es hier einen Thread im Tine 2.0 Forum.

Sobald eine Lösung für die Authentifizierung via Active Directory gefunden ist, werde ich den Artikel aktualisieren.

Ein Workaround stellt die Authentifizierung mittels IMAP dar. In diesem Fall wirkt der hMailServer quasi als Proxy für die Active Directory-Authentifizierung.

Im Abschnitt „Authentifizierungsdienst“ folgende Einstellungen vornehmen:

backend: IMAP
Hostname: localhost
Port: 143
Sichere Verbindung: Keine
Domäne an den Benutzername anhängen: DOMAIN.TLD
backend: Ldap
Hostname: localhost
Loginname: DOMÄNENBENUTZERNAME
Kennwort: KENNWORT
Base DN: "OU=Users,DC=DOMAIN,DC=TLD"
Suchfilter:
Account domain name: DOMAIN.TLD
Account domain short name: DOMAIN

Auf „Konfiguration speichern“ klicken.

Im Abschnitt „Email“ „Imap“ aktivieren und folgende Angaben vornehmen:

backend: Standard IMAP
Hostname: localhost
Port: leer
Sichere Verbindung: Keine
Systemkonto Benutzen: Ja
Domäne an den Benutzernamen anhängen: DOMAIN.TLD

Jetzt noch „SMTP“ aktivieren und folgende Angaben vornehmen:

backend: Standard SMTP
Hostname: localhost
Port: leer
Sichere Verbindung: Keine
Authentifizierung: Login
Primäre Domäne: DOMAIN.TLD
Notifikationsdienst Emailadresse: notification@DOMAIN.TLD
Benachrichtigungsbenutzername: notification@DOMAIN.TLD
Benachrichtigungspasswort: PASSWORT

Die letzten drei Zeilen sind notwendig, damit Tine 2.0 Benachrichtigungen, z.B. Kalender-Alarme, zustellen kann. Dafür ist es notwendig, das ein entsprechender E-Mail-Benutzer vorhanden ist. In diesem Fall genügt es, das es ein lokaler hMailServer-E-Mail-Benutzer ist. Es ist kein zusätzlicher AD-Benutzer notwendig. Abschließend muss auf „Konfiguration speichern“ geklickt werden.

Nun wechselt man zur „Anwendungs-Verwaltung“ und installiert alle notwendigen Anwendungen. Da es ja darum geht, den Windows Small Business Server 2011 Essential um E-Mail und Groupware zu erweitern, sollte mindestens „Calendar“ und „Felamimail“ installiert werden.

Nun kann man sich vom Setup abmelden und sich erstmals via

http://Servername/tine20

an Tine 2.0 mit dem initialen Admin-Benutzer anmelden.

Auch an dieser Stelle ist die weitere Konfiguration eine Frage des Einzelfalls.

Damit Tine 2.0 Benachrichtigungen wie die Kalender-Alarme zustellen kann, ist es notwendig, das in der Windows-Aufgabenplanung eine zeitgesteuerte Aufgabe angelegt wird.

Zuerst legt man ein Skript mit folgenden Inhalt, z.B. unter „C:\Scripts\tine20-cronjob.cmd“ an:

"C:\Program Files (x86)\PHP\php.exe" "C:\Program Files\Windows Server\Bin\WebApps\Site\tine20\tine20.php" --method Tinebase.triggerAsyncEvents

Anschließend in der Aufgabenplanung eine neue einfache Aufgabe erstellen, als Namen „Tine 2.0 Cronjob“ eingeben, als Aufgabentrigger „Täglich“ einstellen, als Aktion „Programm starten“ auswählen, unter „Programm/Skript“ „C:\Scripts\tine20-cronjob.cmd“ einstellen.

Der Versuch den Befehl direkt in der Aufgabe aus zu führen, schlug leider immer fehl. Daher der Weg über ein Skript.

Nun die Details der Aufgabe bearbeiten und „Unabhängig von der Benutzeranmeldung ausführen“ aktivieren. Nun noch den Trigger bearbeiten und „Wiederholen jede 5 Minuten“ einstellen.

Zu guter letzt kommt noch das Backup für den hMailServer und Tine 2.0.

Dazu folgendes Skript, z.B. unter „D:\Backup\backup.cmd“ anlegen:

@echo off

title Backup hMailServer and Tine 2.0

rem Configuration

 set destination=D:\Backup

rem hMailServer

 net stop hMailServer > NUL

 robocopy "C:\Program Files (x86)\hMailServer" "%destination%\hMailServer\Files" /MIR /R:1 /NP /LOG:hmailserver_files.log

 mysqldump -uhmailserver -pPASSWORT hmailserver -e --create-options -c --add-drop-table --add-locks -l --log-error=hmailserver_db_error.log > "%destination%\hMailServer\DB\db-backup.sql"

 net start hMailServer > NUL

rem Tine 2.0

 robocopy "C:\Program Files\Windows Server\Bin\WebApps\Site\tine20" "%destination%\Tine 2.0\Files" /MIR /R:1 /NP /LOG:tine20_files.log

 mysqldump -utine20 -pPASSWORT tine20 -e --create-options -c --add-drop-table --add-locks -l --log-error=tine20_db_error.log > "%destination%\Tine 2.0\DB\db-backup.sql"

Das Skript muss an die eigene Umgebung angepasst werden.

Nun noch das Skript in die Aufgabenplanung einbinden, z.B. täglich um 22 Uhr. Wichtig ist „Unabhängig von der Benutzeranmeldung ausführen“„Mit höchsten Berechtigungen ausführen“ und „Ausführen in“ z.B. „D:\Backup“.

Das erste Backup dauert einen Moment länger, da alle Dateien mittels Robocopy kopiert werden. Zukünftige Backups sind dann schneller, da nur Änderungen kopiert werden. Eine Ausnahme sind die Backups der Datenbanken. Hierbei handelt es sich immer um eine Vollsicherung.

Konfiguriert man nun die Serversicherung vom Windows Server, stellt man dabei einen späteren Zeitpunkt, z.B. 23 Uhr, ein.

Update 12.12.2011

Um ActiveSync nutzen zu können, in diesem Artikel nachlesen.

2 Kommentare

  • Die Authentifizierung über LDAP und die ActiveDirectory funktioniert und somit müssen die Benutzer nicht nochmals in Tine angelegt werden. Falls das Thema Tine noch gefragt ist, dann könnte ich eine Anleitung zur Verfügung stellen.

  • Ich weiß, der Artikel hier ist schon einige Jahre her, trotzdem versuche ich diesen gerade umzusetzen auf meine SBS 2011 Essentials installation.

    Ich habe soweit alles durchgeführt. PHP und MySQL über den Microsoft Webinstaller hinzugefügt, als auch das URL Rewrite Modul aus dem Folgeartikel.

    Beim öffnen der setup.php bekomme ich jedoch nur folgende Fehlermeldung:

    „PHP Parse error: syntax error, unexpected ‚[‚ in C:Program FilesWindows ServerBinWebAppsSitetine20TinebaseTranslation.php on line 411“

    Kannst du hier weiterhelfen? Habe ich etwas bei der Installation übersehen?

    Würde mich über ein Feedback freuen. Danke im Voraus 🙂

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.