Windows mit MS SQL Server

Dieser Abschnitt beschreibt den Installationsprozess von Allegra für die Installation auf einem MS Windows basierten System wie Windows 10, Windows Server 2012 oder Windows Server 2016 und einer MS SQL Server-Datenbank mit Hilfe des Allegra Windows Installers.

Vorbereitung

Berechtigungen

Sie müssen die folgenden Berechtigungen auf Ihrem Server haben:

  • Es muss Ihnen erlaubt sein, Software zu erstellen.

  • Sie müssen die Erlaubnis haben, Dienste zu erstellen.

  • Sie müssen die Erlaubnis haben, eine Datenbank zu erstellen.

Hardware und Software

Zunächst müssen Sie sicherstellen, dass die Installationsumgebung alle notwendigen Voraussetzungen erfüllt:

  1. Sie müssen mit Administrator-Rechten angemeldet sein.

  2. Prüfen Sie, ob die Festplatte, auf der normalerweise Programme installiert werden (meistens C:\Programme) mindestens 800 MByte freien Speicherplatz hat.

  3. Installieren Sie Java auf dem Rechner, falls Sie es nicht schon dort haben. Sie können Java 8 oder Java 11 verwenden. Sie können es vom AdoptOpenJDK-Server herunterladen.

  4. Es sollte keine andere Software laufen, die Dienste auf Port 80 anbietet, wie IIS, Skype oder ein anderer Webserver. Es sollte kein anderer Tomcat auf dem Server laufen. Falls doch, müssen Sie Allegra manuell installieren.

    Wenn der Standardport 80 von einer anderen Anwendung verwendet wird, versucht das Installationsprogramm die folgenden Ports in der angegebenen Reihenfolge zu nutzen, bevor es aufgibt:

    • Port 80

    • Port 8080

    • Port 8081

    • Port 7080

    • Port 9080

  5. Erstellen Sie eine leere MS SQL Server-Datenbank mit der richtigen Zeichenkodierung. Der Datenbankserver kann identisch mit dem Allegra-Server sein, oder Sie können ihn auf einem anderen Rechner laufen lassen.

    Es würde den Rahmen dieser Anleitung sprengen, diesen Schritt näher zu erläutern, da es viele Optionen gibt. Wenn Sie diesen Weg wählen, wissen Sie normalerweise, wie Sie vorgehen müssen.

    Sie müssen einem Datenbankbenutzer die Berechtigungen zum Anlegen von Tabellen und Indizes erteilen. Dieser Benutzer wird von Allegra für die Verbindung mit der Datenbank verwendet.

Hinweis

Allegra kommt mit JDBC-Treibern für MySQL 5, MySQL 8, MariaDB, MS SQL Server und Postgres. Wenn Sie mit einem anderen Datenbanksystem wie Oracle oder DB2 arbeiten möchten, müssen Sie die entsprechenden Treiber in das Apache Tomcat- Verzeichnis unter C:\Programme\Apache Software Foundation\Tomcat9\lib legen.

Allegra-Installer herunterladen

Sie können den Allegra-Installer kostenlos von der Allegra Download-Seite herunterladen.

Installer ausführen

Klicken Sie mit der rechten Maustaste auf den Installer und wählen Sie im Kontextmenü den Punkt „Als Administrator ausführen“. Das müssen Sie auch dann machen, wenn Sie schon mit Administrator-Privilegien versehen sind, kein Scherz!

../_images/installer-start.png

Verzeichnis für Anhänge und Konfiguration

Wählen Sie das Verzeichnis, in dem Sie die Allegra-Konfigurationsdateien aufbewahren wollen, alle Anhänge und Indexdateien für die Volltextsuche. Sie sollten hier genügend Speicherplatz zur Verfügung stellen, je nach Nutzeranzahl und Anzahl der Anhänge ca. 1 bis 10 GByte. Dieses Verzeichnis wird auch als TRACKPLUS_HOME bezeichnet.

Firebird-Installation deaktivieren

Deaktivieren Sie die Installation des Firebird-Datenbanksystems, was bei kleineren Installationen der Standard ist.

../_images/installer2.png

MS SQL Server auswählen

Wählen Sie den MS SQL Server als Datenbankmanagementsystem.

../_images/installer-mssqlserver1.png

Datenbankverbindung konfigurieren

Konfigurieren Sie die Datenbankverbindung.

../_images/installer-mssqlserver2.png

Das URL-Format für jTDS ist:

jdbc:jtds:sqlserver://<server>[:<port>][/<database>][;<property>=<value>[;...]]

mit <port> als dem Port, auf dem der Datenbankserver hört (Voreinstellung 1433) und <database> als Datenbankname (z.B. „allegra“).

Eine Beschreibung aller möglichen Parameter finden Sie unter http://jtds.sourceforge.net/faq.html.

Im folgenden sind einige wichtige Eigenschaften aufgeführt.

charset

default - der Zeichensatz, mit dem der Server installiert wurde.

Sehr wichtige Einstellung, bestimmt den Byte-Wert zur Zeichenzuordnung für CHAR/VARCHAR/TEXT-Werte. Gilt für Zeichen aus dem erweiterten Satz (Codes 128-255). Für NCHAR/NVARCHAR/NTEXT haben Werte keine Auswirkung, da diese mit Unicode gespeichert werden.

domain

Gibt die Windows-Domäne an, in der die Authentifizierung erfolgen soll. Falls dieser Parameter vorhanden ist und der Benutzername und das Kennwort angegeben werden, verwendet jTDS die Windows (NTLM)-Authentifizierung anstelle der üblichen SQL-Server-Authentifizierung (d.h. der angegebene Benutzer und das Kennwort sind der Domänenbenutzer und das Kennwort). Dadurch können sich Nicht-Windows-Clients bei Servern anmelden, die nur für die Windows-Authentifizierung konfiguriert sind.

Wenn der Domänenparameter vorhanden ist, aber kein Benutzername und Passwort angegeben werden, verwendet jTDS seine systemeigene Single-Sign-On-Bibliothek und meldet sich mit den Anmeldeinformationen des angemeldeten Windows-Benutzers an (damit dies funktioniert, müsste man natürlich unter Windows sein, in einer Domäne angemeldet sein und auch die SSO-Bibliothek installiert haben).

instance

Benannte Instanz, zu der eine Verbindung hergestellt werden soll. SQL Server kann mehrere so genannte „benannte Instanzen“ (d.h. verschiedene Serverinstanzen, die auf verschiedenen TCP-Ports laufen) auf demselben Rechner ausführen. Bei Verwendung von Microsoft-Tools erfolgt die Auswahl einer dieser Instanzen durch die Verwendung von „$<host_name><instance_name>$“ anstelle des üblichen „$<host_name>$“. Bei jTDS müssen Sie die beiden Instanzen trennen und den Instanznamen als Eigenschaft verwenden.

sendStringParametersAsUnicode

default - true

Bestimmt, ob Zeichenfolgenparameter in Unicode oder in der Standard-Zeichenkodierung der Datenbank an die SQL Server-Datenbank gesendet werden. Dies beeinträchtigt die Leistung von SQL Server 2000 ernsthaft, da die Typen nicht automatisch gecastet werden (wie in 7.0), d.h. wenn eine Indexspalte Unicode ist und die Zeichenfolge mit der Standard-Zeichenkodierung (oder umgekehrt) übermittelt wird, führt SQL Server eine Indexprüfung statt einer Indexsuche durch. Bestimmt für Sybase, ob Zeichenfolgen, die nicht im Zeichensatz des Servers kodiert werden können, als Unicode-Zeichenfolgen gesendet werden. Es gibt einen Leistungseinbruch für die Kodierungslogik, setzen Sie daher diese Option auf false, wenn unitext- oder univarchar-Datentypen nicht verwendet werden oder wenn der Zeichensatz utf-8 ist.

Optionale Komponenten

Sie können jetzt noch optionale Komponenten hinzufügen, wenn Sie z.B. Gantt-Diagramme drucken möchten oder aus dem Wiki schöne LaTeX-Dokumente exportieren wollen.

Gantt-Diagramme drucken

Um schöne PDF-Gantt-Diagramme erstellen zu können, müssen Sie ImageMagick und Phantomjs <noinstaller>`.

Sie können diese Pakete aus dem Allegra Download-Bereich herunterladen oder den Allegra Installer verwenden. Allegra detektiert das Vorhandensein dieser Systeme in der Regel automatisch. Wenn nicht, müssen Sie den Pfad zu den Befehlen dem Servlet-Container als Umgebungsvariable mitgeben:

-DIMAGEMAGICK_HOME=/usr/bin/convert -DPHANTOMJS_HOME=/usr/local/bin/phantom.js

Wenn Sie Probleme beim Drucken großer Gantt-Diagramme (500+ Elemente über einen größeren Zeitraum) haben, müssen Sie möglicherweise einige Timeouts in Ihrem Webserver bzw. Servlet-Container anpassen. Für einen Apache-Webserver können Sie Folgendes in Ihrer Server-Konfigurationsdatei hinzufügen oder ändern:

...
<IfModule mod_reqtimeout.c>
    RequestReadTimeout head=20-30,body=30,MinRate=1000
</IfModule>
...

Für einen Tomcat-Server müssten Sie Timeout- und Upload-Größenparameter in der Datei ...tomcat9\conf\server.xml anpassen:

...
<Connector port="80" protocol="HTTP/1.1"
           connectionTimeout="30000" asyncTimeout="20000" maxPostSize="40000000"
...
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443"
        asyncTimeout="20000" maxPostSize="40000000"/>
...

LaTeX PDF-Dokumente erstellen

Um schöne PDF-Dokumente aus dem Wiki zu erzeugen, müssen Sie eine LaTeX-Distribution auf Ihrem Computer oder Server installiert haben. Allegra entdeckt die Installation in der Regel automatisch; wenn nicht, müssen Sie den Pfad zum Befehl xelatex dem Servlet-Container als Variable mitgeben:

-DLATEX_HOME=/usr/bin/xelatex

Für Windows-Systeme empfehlen wir die MikTeX-Distribution.

Grund-Konfiguration

Sie sollten nun in einem Browserfenster Hinweise zur Anmeldung sehen und in einem zweiten Fenster den Anmeldebildschirm. Folgen Sie den Anweisungen auf dem Hinweisbildschirm oder gehen Sie zur Anleitung für die Grundkonfiguration.

Zur Sicherheit

Wenn Sie den Allegra-Server produktiv betreiben möchten, sollten Sie ihn hinter einen nginx, Apache oder IIS Proxy-Server legen. So stellen Sie sicher, dass nur SSL-gesicherte Verbindungen genutzt werden und exponieren den Tomcat nicht im Internet.

Anleitungen dazu gibt es z.B. hier: