Dies ist eine alte Version des Dokuments!


Installation

  • Der Cortexserver benötigt keinerlei Registry-Einträge und wird durch Kopieren der Programmdateien installiert
  • Unter Linux läuft der Cortexserver ausschließlich als Dienst, der automatisch beim Systemstart gestartet
    und vor dem Herunterfahren beendet wird und immer im Kontext des Users 'ctxserver' läuft
  • Unter Windows kann der Server in der Taskbar entweder im Userkontext des angemeldeten Users oder durch ein Dienststartprogramm im Systemkontext laufen.
    Dabei wird der Server ebenfalls als Dienst automatisch beim Systemstart gestartet und bei dessen Beendigung beendet.
    Wird das System in den Standby- oder Suspend-Modus geschaltet, beendet sich der Server vorher selbstständig.
    Der automatische Dienststart kann aber nur beim Systemstart gewährleistet werden.
  • Nach Aufruf des selbstextrahierenden ZIPs wird das gewünschte Datenbankverzeichnis als Zielpfad ausgewählt und anschließend die Datei ctxserver.par im Installationspfad hinzugefügt.
    In dieser Datei befindet sich auch das Administrator-Passwort. Sie sollten die Original-Datei ctxserver.par separat verwalten und nicht für andere zugänglich machen, ohne zuvor eines nur Ihnen bekanntes root-Passwort zu vergeben.
    Sollte das Passwort aus irgendwelchen Gründen nicht mehr bekannt sein, kann die Original-Datei wieder eingespielt werden - Neustart des Servers ist dann erforderlich.
    Die Passwortänderung erfolgt mit dem Remote-Admin-Programm.


Datei [ctxserver.ini] unter Windows

Alle Serverparameter (Port, Datensicherungspfad, Sicherungszeitplan etc.) werden in der Datei [ctxserver.ini] im Progammverzeichnis festgelegt.
Die Datendateien vom Server werden exclusiv geöffnet und können von anderen Programmen nicht gelesen werden.

Folgende Einstellungen können in der Datei [ctxserver.ini] vorgenommen werden:

[EINSTELLUNG]

basepath=.\datenPfad, in dem die Daten des Servers liegen
port=29000tcp-ip-Port, der für den Serverzugriff verwendet wird
bindonlylocalhost=00=nein, 1=nur Zugriffe vom lokalen Rechner erlaubt
AgentManagerAutoStart=01=Agentmanager wird beim Serverstart automatisch gestartet
SocketTimeout=500=<sec> Nach Ablauf dieser Zeit in Sekunden wird eine Socket-Connection automatisch geschlossen

[BACKUP]

backuppath=.\backupPfad, in dem die Backups geschrieben oder gelesen werden
MaxBackupCount=1Anzahl von Backups bevor der jeweils älteste gelöscht wird
0=01:00Sonntag um 01:00 wird ein Backup erstellt
1=Uhrzeit Montag
2=Uhrzeit Dienstag
3=Uhrzeit Mittwoch
4=Uhrzeit Donnerstag
5=Uhrzeit Freitag
6=02:00Samstag um 02:00 wird ein Backup erstellt

[SUGGESTIONS]
Für die jeweilige Datenbank können Daten mit kombinatorischen Vorschlagsdaten mitgeliefert werden, bzw. selbstständig eingebunden werden. Solche Daten müssen dem Datenbankserver bekannt gemacht werden.
Sollten nach Einrichtung einer Datenbank neue Suggests eingerichtet werden, so ist der Datenbankserver zu stoppen und ein Eintrag unter dieser Sektion vorzunehmen. Es muss sichergestellt sein, das diese Dateien vom Server gelesen werden können. Anschließend starten Sie den Server neu.

adrde=.\suggest\adrde.dat,1Pfad und Dateiname, die auf die Suggestdatei verweist

[HTTPSRV]
Wird auf einem Computer nur ein Cortex-Datenbankserver betrieben, so kann der integrierte WebServer verwendet werden.
Sollen mehrere Cortex-Datenbanken auf einem Computer gehosted werden, wird der interne WebServer mit dem Eintrag Enable=0 deaktiviert. In dem Fall ist die Installation des HTTP-Servers erforderlich, siehe nächster Abschnitt.

Enable=11: enable, 0: disable
Port=80HTTP-Port für den Browserzugriff
SslPort=443HTTPS-Port für den Browserzugriff
BindOnlyLocalHost=01=nur vom lokalen Rechner erreichbar, 0 für alle
SslCertPem=127.0.0.1.pemZertifikat für den HTTPS-Zugriff
LogHttpSrv=1Log Datei für den HTTP(S) Zuriff erstellen
HttpServerThreads=22Max. Anzahl von HTTP-Server-LoginThreads zur Performanceoptimierung
HttpRoot=wwwRoot-Dir für statische HTML-Daten
HttpAuth=0Standard-Authentifizierung(=1) oder Datenbankauthentifizierung ohne Browser-Support (=0)
WebClientName=Cortex-WebClientName der Datenbank in Caption-Bar des Browsers, wird auch bei Enable=0 vom HTTP-Server benutzt
DefaultUrl=%V/i/CtxWebClient/index.php%V=HTTPS, %v=HTTP
PhpSessDir=abVerzeichnis, in dem die PHP-Sessions der eingeloggten User gespeichert werden (muß für jede DB einmalig sein)
HttpDefaultUrlOnly=0Login nur mit der Default-URL



HTTP-Server

Die HTTP-Server-Konfiguration bezieht sich auf die Hauptsektion und den daraus aufgerufenen Untersektionen.
In der Hauptsektion [HTTPSRV] wird der Standardserver konfiguriert, der über die Haupt-URL aufgerufen werden kann. Angenommen der Server wird über http://www.meinserver.de aufgerufen, so wird diese Default-Sektion verwendet, um den Cortex-Webclient zu starten.
In allen anderen Fällen erfolgt der Aufruf durch Eingabe des Datenbanknamens (Name der Sektion), z.B. http://www.meinserver.de/Flugzeuge.

||Port=80||HTTP-Port für den Browserzugriff||

SslPort=443HTTPS-Port für den Browserzugriff
BindOnlyLocalHost=01=nur vom lokalen Rechner zugreifbar, 0 für alle
SslCertPem=127.0.0.1.pemZertifikat für den HTTPS-Zugriff
LogHttpSrv=1Log Datei für den HTTP(S) Zuriff erstellen
HttpRoot=wwwRoot-Dir für statische HTML-DAten
CtxSrv=127.0.0.1:29000Server und Port des Cortex Servers
HttpAuth=00=Datenbankauthentifizierung, 1=mer http-Authorisierung
WebClientName=Datenbanknamewird als _SERVER - Variable an php übergeben
DefaultUrl=%V/i/CtxWebClient/index.php%V steht für https:%v fuer http:
HttpDefaultUrlOnly=0am http Port nur auf die / antworten
PhpSessDir=tmpdevwird als Session-Verzeichnis für die Default-URL verwendet
HttpServerThreads=22Max. Anzahl von HTTP-Server-LoginThreads zur Performanceoptimierung
vhosts=Flugzeuge,Bauelemente,TeileAlle unter vhosts angegebenen Namen müssen als Sektionen folgen, in denen die Parameter der jeweiligen Ctx-DB festgelegt sind, siehe folgendes Beispiel.

Beispiel
[vhost]-Sektionen

Es müssen alle Parameter der betreffenden Datenbank festgelegt werden. Entsprechend den obigen Einträgen müssen drei Sektionen folgen.
Die Datenbanken [Teile] und [Bauelemente] würden über https: und die DB [Flugzeuge] über http: aufzurufen sein.

[Flugzeuge]
ctxsrv=127.0.0.1:29001
HttpRoot=flzg
HttpAuth=0
WebClientName=Flugzeuge
PhpSessDir=fzg
DefaultUrl=%v/i/CtxWebClient/index.php
HttpDefaultUrlOnly=0
[Bauelemente]
ctxsrv=127.0.0.1:29002
HttpRoot=baukast
HttpAuth=0
WebClientName=Bauelemente
PhpSessDir=bauele
DefaultUrl=%V/i/CtxWebClient/index.php
HttpDefaultUrlOnly=0
[Teile]
ctxsrv=127.0.0.1:29003
HttpRoot=teile
HttpAuth=0
WebClientName=Teile
PhpSessDir=teile
DefaultUrl=%V/i/CtxWebClient/index.php
HttpDefaultUrlOnly=0

Remote Admin

Über den Remote Admin können Serverfunktionen wie Backup, Restore, Reorganisation, etc. manuell aufgerufen werden.
Während eines Backup läuft der Server normal weiter und kann alle Zugriffe bedienen. Über einen speziell implementierten Mechanismus wird sichergestellt, dass immer ein konsistenter Backup geschrieben wird. Für jeden Wochentag kann eine Uhrzeit vorgegeben werden, zu der automatisch ein Backup gestartet wird.
Der Server schreibt bei jeder Änderung eines Datensatzes einen Eintrag in der Change-History, der zu jedem Datenfeld den vorherigen und den neuen Inhalt enthält. Alle Änderungen eines Tages werden in einer Tages-Änderungsdatei gespeichert. Ein Änderungsindex erlaubt es dem Server, sofort auf alle Änderungen eines Datensatzes in zeitlicher Abfolge zuzugreifen. Diese Änderungsdateien werden niemals verändert, sondern nur fortgeschrieben. Eine Checksumme zu jedem Änderungseintrag dient zur Überprüfung, ob diese korrekt und konsistent ist und um zu entscheiden, ob bei einer Wiederherstellung eines Änderungszeitpunktes diese Daten korrekt sind.

Die eigentliche Datenbank steht in der Datei ctxtli.tli, alle anderen Dateien dienen der Verwaltung und dem Zugriff.

Im Fall einer Reorganisation werden aus der Datei ctxtli.tli alle Verwaltungsinformationen neu generiert. Außerdem wird der Zugriffsindex der Change-History aus den Änderungsdateien neu generiert.

User anlegen

  • Sie befinden sich im Remote-Admin
  • Legen Sie den User 'PHP' mit der Option 'ctxphp' an (nur 1/1 verfügbar für PHP-User)
    Der PHP-User steuert die Kommunikation zwischen den realen Usern und dem Cortex Browser
  • Bedeutung der Passwörter:
    Passwort: Login für den Cortex Browser (enthält die Rohdataen, Debug-Tool für Entwickler)
    Web-Passwort: gültig für die im Browser gestarteten Anwendungen
  • Legen Sie weitere User an und erteilen entsprechende Rechte, wobei die Anzahl der Zugriffsberechtigungen von der Lizenzdatei abhängt.

Lizenzverwendungen:

Hier wird zugewiesen, mit welchen Programmen sich Benutzer anmelden dürfen.
Abhängig von der Lizenzierung können hier weitere Programme erscheinen.

hxagm Agentmanager
hxhttpsrv integrierter WebServer
BrowserAppCortexbrowser (Debugtool für Entwickler)
PhpWebClientauf den WebClient erteilen
Import Datenimport-Programm


Konfiguration exportieren / importieren

Benutzen Sie die Import-Funktion, wenn es sich um eine ähnliche DB-Struktur handelt, wie die, die Sie erstellen möchten.
Sie nehmen nur noch die Anpassung vor!

  • Öffnen Sie mit dem WebClient die Datenbank, aus der Sie Konfigurationen übernehmen möchten.
    Wechseln Sie in den [Admin] und wählen [Export]/[Import Konfig]
    Es gibt die Möglichkeit der 1:1 Übernahme oder Sie exportieren über eine Auswahl nur die benötigten Elemente
    Eine Export-Datei hat die Endung *.tar.gz (gepackt)
  • Die Datenfelder befinden sich in der Datei fldxml.xml (entpacken Sie vorher die *.tar.gz Datei)
  • Die Datei 'fldxml.xml' (Datenfelder) importieren Sie über den [Remote Admin]
  • Importieren Sie anschließend die gepackte Original-Export-Datei *.tar.gz über den [Admin] im WebClient. Treffen Sie Ihre Auswahl, welche Konfigurationen importiert werden sollen.
  • Die Anpassung der Datenfelder nehmen Sie im [RemoteAdmin] vor. Nicht verwendete
    Datenfelder können gelöscht werden, ein entsprechender Hinweis wird ausgegeben und neue hinzugefügt werden.
Drucken/exportieren