Zum Inhalt

CortexDB-Installation

Die CortexDB kann unter verschiedenen Betriebssystemen in Betrieb genommen werden. Im Standard wird ein Download der vollen Version für Windows, (Debian) Linux und Mac OS bereitgestellt. Die freie Version steht ausschließlich für Windows und Mac OS zur Verfügung.

Der Download erfolgt über den Download-Bereich der Webseite der Cortex AG. Zuvor ist eine Registrierung notwendig; Kunden und Partner erhalten separate Zugriffsrechte für ihre Benutzerkonten.

Lizenz-Voraussetzungen

Um einen Datenbank-Server zu starten, ist es notwendig, dass innerhalb des Programmverzeichnisses die sog. "par-Datei" zur permanenten Verfügung steht (also in dem Verzeichnis, in dem die ctxserver64-Programmdatei ausgeführt wird). Demnach ist diese Datei als "ctxserver.par" in das Hauptverzeichnis des Servers zu kopieren. Erst dann kann der Server gestartet (bzw. neu eingerichtet) werden.

Kunden und Partner erhalten die notwendigen Lizenzdateien und das initiale Kennwort individuell per eMail.

par-Datei für die freie Version

In der freien Version ist die Lizenzdatei "hard coded". Das bedeutet, dass die Lizenz fest in den Code kompiliert wurde und nicht änderbar ist. Die Ablage einer eigenen par-Datei in das Verzeichnis ist daher nicht notwendig und nur in der Vollversion sinnvoll.

Windows und Mac OS

Folgender Screenshot zeigt die Liste der Dateien im Serververzeichnis (unter Windows oder MacOS). Nicht alle aufgeführten Dateien sind in der freien Version verfügbar. Die im Download-Bereich bereitgestellten zip-Dateien beinhalten alle notwendigen Dateien. Daher kann die hier gezeigte Liste von den tatsächlich heruntergeladenen Dateien abweichen.

Name:filelist;Date:20181119;Version:4.0.0

Die angegebenen Unterverzeichnisse sind bei einer Neuinstallation leer und deren Nutzung wird in der Datei ctxserver.ini, bzw. ctxhttpd.ini, konfiguriert.

  • das backup-Verzeichnis dient zur Ablage der Backupdateien
  • das data-Verzeichnis für die Datenbankdateien
  • das www-Verzeichnis für die Ablage eigener Entwicklungen und Import-Dateien

Innerhalb des data-Verzeichnisses wird das Unterverzeichnis ctxchh für den sog. Transaction-Log ("change history") genutzt. Ist die Funktion "change history" aktiv, werden hier alle Änderungen innerhalb der Datenbank protokolliert (je Tag eine Datei). Dabei sind alle Log-Einträge mit Hilfe von Hash-Werten "verkettet".

Die change history lässt sich in der Datei ctxserver.ini deaktivieren. Dadurch reduziert sich der Speicherbedarf und die Schreibzeit bei Änderungen in der Datenbank. Dieses kann in einer Entwicklerumgebung sinnvoll sein, sollte in einer Live-Umgebung allerdings immer aktiviert bleiben.

Linux

Für Linux ist ausschließlich eine volle Version verfügbar, für die eine individuelle Lizenz ausgestellt wird. Der Download der Linux-Version erfolgt über den Download-Bereich auf der Cortex AG Webseite. Es wird ein dpkg-Paket bereitgestellt, das mit Hilfe von APT-GET installiert werden kann.

Linux-Versionen

Grundsätzlich werden die Linux-Pakete für den Einsatz auf Debian-Derivaten bereitgestellt. Pakete für andere Linux-Distributionen (Red Hat, Suse, ...) sind nur auf Anfrage erhältlich.

Das DPKG-Paket für die entsprechende Linux-Version wird mit folgenden Befehlen installiert:

sudo dpkg -i /path/to/deb/file
sudo apt-get install -f

Je nach Linux-Version kann der Aufruf unterschiedlich sein. Die entsprechende Dokumentation des Linux-Herstellers sollte darüber Auskunft geben.

Während der Installation wird ein Benutzer und eine Gruppe für die CortexDB angelegt (ctxserver). Innerhalb dieses Benutzerkontextes starten alle Server-Instanzen.

Im Verzeichnisbaum werden zwei Verzeichnisse angelegt:

/ctx
/ctx-backup

Innerhalb von /ctx ist ein bin-Verzeichnis verfügbar (/ctx/bin), in dem alle Binärdateien zum Ausführen einer CortexDB und des dazugehörenden Webservers abgelegt werden.

Für jede neue Datenbank ist der Aufruf von /ctx/bin/ctxmkdb notwendig. Hierbei handelt es sich um einen Assistenten zur Neuanlage einer Datenbank und der dafür notwendige Start-/Stop-Scripte im Verzeichnis /etc/init.d.

Jede CortexDB-Instanz erhält einen dedizierten TCP/IP-Port, über den die Datenbank erreichbar ist. Dieser wird bei dem Aufruf von ctxmkdb abgefragt und in der Konfigurationsdatei ctxserver.ini eingetragen.

Die Konfigurations- und Log-Dateien werden im Unterverzeichnis einer Datenbankinstanz abgelegt. Dieses befindet sich ebenfalls unter /ctx. Lautet eine Datenbankbezeichnung bspw. Demo, dann finden sich alle notwendigen Dateien unter /ctx/Demo. Hier wird auch der erste Teil der Lizenz abgelegt (ctxserver.par).

Das Starten und Stoppen einer CortexDB-Instanz, genauso wie des mitinstallierten CortexDB-Webservers erfolgt über die Start- und Stop-Scripte im Verzeichnis /etc/init.d.

Initialer Serverstart

Im Regelfall wird ein Datenbankserver mit einer leeren Datenbank ausgeliefert. Diese leere Datenbank liegt als Backup-Datei vor und kann per Remote-Admin eingelesen werden. Damit steht die grundlegende Konfiguration zur Verfügung und es kann sofort damit gearbeitet werden.

Liegt keine leere Backup-Datei vor oder soll mit einer vollständig leeren Datenbank gestartet werden, kann der Datenbank-Server eine neue, leere Datenbankdatei erzeugen.

Erzeugen einer leeren Datenbank

Das Erzeugen einer leeren Datenbank wird ohne Rückfrage ausgeführt und kann zu sofortigem Datenverlust führen, falls der entsprechende Parameter gesetzt wird und bereits eine Datenbank vorliegt.

Die Programmdatei des Datenbank-Servers (ctxserver64.exe; bzw ctxserver64 unter Linux/MacOS) verfügt über mehrere Aufrufparameter. Zum Anlegen einer neuen, leeren Datenbank ist daher die Nutzung der Konsole notwendig (Start über cmd.exe unter Windows und Terminal unter Mac OS).

Nachfolgender Aufruf führt zum Anlegen einer leeren Datenbank bzw. überschreibt ohne weitere Rückfrage die vorhandene Installation in dem aufgerufenen Verzeichnis. Der Parameter "-n" steht hierbei für "new"; der Aufruf erfolgt im Serververzeichnis mit ctxserver64 -n.

Aufruf mit symbolischen Links

Unter Linux wird eine CortexDB-Instanz im jeweiligen Unterverzeichnis von /ctx ausgeführt. Hier liegen die symbolischen Links in das /ctx/bin/-Verzeichnis. Die Generierung einer neuen Datenbank, sowie jeder andere Aufruf der Serverprogrammdatei erfolgen in diesem Verzeichnis. Die Dateien im bin-Verzeichnis werden nicht (!) direkt ausgeführt.

Nach dem Anlegen einer neuen Datenbank kann mit Hilfe des Programms Remote-Admin die Administration vorgenommen werden. Dazu gehört u.a. der Import der zweiten Lizenzdatei bei einer lizenzierten Version (die sog. lic-Datei entfällt in der freien Version), die Einrichtung der Benutzerkonten und der Import der Erweiterungen (PHP-Projekte).

Nachdem alle Basiseinrichtungen vorgenommen wurden, kann der Server mit der Eingabe von "x" und der Bestätigung durch Enter beendet werden.

Jeder weitere Aufruf darf nur ohne den o.g. Parameter erfolgen. Der reguläre Start des Datenbankservers erfolgt dann manuell oder per Systemdienste.

Regulärer Serverstart

Der reguläre Start des Datenbankservers kann innerhalb des Serververzeichnisses ausgeführt werden. Hierfür ist innerhalb der Konsole ctxserver64 auszuführen.

Unter Windows und Mac OS ist es zudem möglich, die Programmdatei ctxserver (bzw. ctxserver64) per Doppelklick auszuführen. Ein entsprechendes Programmsymbol wird bei laufendem Server eingeblendet (unter Windows als Tray-Icon, unter Mac OS als Programmicon).

Zu beachten ist, dass unter Windows über das Tray-Icon der Datenbank-Monitor aufgerufen werden kann. Über diesen sind grundlegende Funktionen verfügbar, die üblicherweise über den Remote-Admin (ctxadmin) ausgeführt werden.

Unter Linux erfolgt der Start des Servers mit Hilde der Start-/Stop-Scripte im Verzeichnis /etc/init.d. Ein manueller Start im Verzeichnis der Datenbank ist genauso möglich.

Basiseinrichtung einer Datenbank

Empfehlung für die Basiskonfiguration

Grundsätzlich ist nur ein Benutzerkonto zur Nutzung des Datenbankservers notwendig, wenn der Server für eine eigene Entwicklung genutzt wird. Es wird allerdings empfohlen, die folgenden Konfigurationen vorzunehmen und sich an weitere Festlegungen zu halten, damit alle Werkzeuge der CortexPlatform genutzt werden können.

Über den Remote-Admin werden die grundlegenden Konfigurationen innerhalb der Datenbank festgelegt. So auch die Benutzer (user) für den Login und die Plugins zur Nutzung (auf dem gezeigten Screenshot über PHP-Projekte erreichbar).

Name:Remote-Admin;Version:3.0.0

Für die grundlegende Nutzung ist min. ein Benutzerkonto notwendig. Dieses ist üblicherweise der admin. Über den Punkt user innerhalb des Remote-Admin kann dieses Konto angelegt und administriert werden.

Benutzer in der freien Version

Die freie Version verfügt über zwei fest integrierte Benutzerkonten, die nicht geändert werden können. Die Benutzeradministration entfällt daher.

Der admin erhält üblicherweise alle hier abgebildeten Rechte und auch die Funktion Web-Admin.

Name:Remote-Admin-Account;Version: 3.0.0

Damit alle Anwendungen der CortexPlatform genutzt werden können (z.B. auch als Kontroll- und Testwerkzeuge für eigene Entwicklungen), muss das Konto für den Benutzer php angelegt werden. Dieses Konto erhält nur die Applikation ctxphp. Alles andere bleibt leer; es wird nur ein beliebiges Kennwort gesetzt.

Mit diesen beiden o.g. Benutzerkonten ist die grundlegende Nutzung der CortexDB möglich.

Sollen die Web-Anwendungen der CortexPlatform genutzt werden (ausgeliefert als xjz-Dateien), sind diese im Remote-Admin über den Punkt PHP-Projekte (bzw. Plugins) zu importieren. Der Import erfolgt dabei einzeln nacheinander über Import File.

Import von Plugins

Der Import einzelner xjz-Dateien erfolgt immer einzeln nacheinander. Die Funktion Import Dir bezieht sich auf den Import einer komplette Verzeichnisstruktur für eigene Plugins zur individuellen Erweiterung des CortexUniplex.

Aktuelle Versionen der Standard-Plugins stehen im Download-Bereich der Cortex AG zur Verfügung. Zu beachten ist hierbei, dass manche Versionen eine bestimmte Server-Version voraussetzen und der Einsatz zuvor in der eigenen Umgebung getestet werden sollte. Im Regelfall sind die bereitgestellten Plugins auf der aktuellen, freien Version lauffähig. In der lizenzierten Version hängt dieses von der eigenen Administration ab.