Zum Inhalt

User Group Edition - Installation und Einrichtung auf Debian 12

Besonderheiten der Cortex-IP Umgebung

Cortex-IP verfolgt einen anderen Ansatz im Vergleich zu vielen herkömmlichen Systemen. Für jeden Datenbestand, der gleichzeitig auf einer Maschine laufen soll, startet eine dedizierte Instanz der CortexEngine (ce-ue). Jede dieser Instanzen ist an einem separaten TCP/IP-Port aktiv, und für jeden Datenbestand muss ein eigener Dienst im systemd eingerichtet werden.

Obwohl mit diesem Ansatz ein etwas erhöhter Installationsaufwand verbunden ist, bietet er den Vorteil, dass die Instanzen völlig isoliert voneinander laufen können. Gleichzeitig können jedoch Elemente über Referenzen miteinander verknüpft werden. Somit können auch ähnliche Datenbestände in unterschiedlichen Versionen miteinander in Beziehung gesetzt werden. Selbst unterschiedliche Release-Stände der einzelnen Instanzen sind damit realisierbar. Dies hebt sich von der herkömmlichen Vorgehensweise ab und ermöglicht eine höhere Granularität und Isolierung auf Datenhaltungsebene.

Gesamtvoraussetzungen

Vorausgesetzte Grundkenntnisse

  • allgemeine Verwendung der Befehlszeile
  • die Bearbeitung von Dateien mit einem Texteditor Ihrer Wahl
  • Nutzerrechteverteilung in Debian 12

Unterstützte Betriebssysteme

Debian 12\ 64-Bit AMD/Intel (qcow2,raw)\ 64-Bit ARM (qcow2, raw)

Benötigte Ressourcen

  • Cortex .par- und .lic-Dateien
  • Cortex-IP Server Debian Paket-Datei (.deb)
  • initiales Passwort für den Remote Admin
  • optional: Uniplex Plugin .xjz-Datei

Erforderliche Berechtigungen

  • der Zugriff auf administrative Nutzerrechte (sudo) oder auf den root user

Lizenzierung

Die Lizenzdateien mit den Endungen .lic und .par bilden das Lizenzierungssystem Ihrer Cortex-InformationsPlattform.

  • .par-Datei:
    • Informationen über den ausgestellten Lizenztyp und die Lizenzseriennummer
  • .lic-Datei:
    • Angaben zur Anzahl der verfügbaren Nutzer
    • Informationen über den Ersteller der Lizenz
    • Definition von Plugin-Berechtigungen

Installation und Einrichtung

Cortex Debian Paket installieren

  • legen Sie die .deb-Datei in ihrem Dateisystem ab
  • installieren Sie die Datei über den Package Manager mit folgender Eingabe im Terminal:

cd /<Dateipfad> sudo dpkg -i /<Dateiname>

Sobald die Installation abgeschlossen ist, werden die Verzeichnisse cip und cip-backup, sowie der Nutzer ctxserver und eine gleichnamige Gruppe angelegt.

Package Manager - Terminalausgabe
root@debian:/home/cortexuser# dpkg -i cipDemoDebian.deb
(Reading database ... 146388 files and directories currently installed.)
Preparing to unpack cipDemoDebian.deb ...
Unpacking cip60-deb12 (6021) over (6021) ...
Setting up cip60-deb12 (6012) ...
root@debian:/home/cortexuser#
  • die Binärdateien des Cortex-Servers befinden sich in dem Verzeichnis /cip/bin.
  • legen Sie Ihre .par-Lizenzdatei in diesem Verzeichnis ab.

Cortex-IP Serverinstanz einrichten

Um eine neue Instanz einzurichten, muss die Datei cip-mkdb ausgeführt werden. Führen Sie die Datei wie folgt aus:

sudo /cip/bin/cip-mkdb <Instanz-Name> <Port> [-f/--force] <Par-Datei>

  1. </Instanz-Name> entspricht dem gewünschten Namen der neuen Serverinstanz. Achtung: Der Name muss mit "cip-" beginnen.
  2. <Port> (optional) Hier kann der Port des Servers bestimmt werden. Falls nicht angegeben, wird der Port per Default auf 29000 gestellt.
  3. [-f/--force] (optional) für eine schnelle Einrichtung (Quick Setup), geben Sie -f oder --force ein. Für eine manuelle Einrichtung lassen Sie dieses Feld leer.
  4. <Par-Datei>(optional) Hier kann die .par-Lizenzdatei angegeben werden. Falls die Lizenz nicht angegeben wird, muss diese später manuell in das Binärverzeichnis /data der Instanz abgelegt werden.

Quick Setup

Beispiel

Um eine Serverinstanz mit dem Namen cip-CTXIP, Port 3111 und einer validen .par-Datei namens cortexdemo.par per Quick Setup einzurichten, erfolgt:

sudo /cip/bin/cip-mkdb cip-CTXIP 3111 -f cortexdemo.par

Terminalausgabe
root@debian:/cip/bin# ./cip-mkdb cip-CTXIP 311 -f cortexdemo.par HASSYSTEMD=1

creating new CORTEX-database environment:
             DBNAME = cip-CTXIP
             PORT = 3111

copying cortexdemo.par to /cip/cip-CTXIP/ctxserver.par
creating /cip/cip-CTXIP/ctxserver.ini
creating /etc/systemd/system/cip-CTXIP.service
Loading binaries for cip-CTXIP
  • die neue Serverinstanz liegt im Verzeichnis /cip/cip-CortexDemo
  • die Programmdateien werden automatisch im Unterverzeichnis /data angelegt
  • das Verzeichnis /cip-backup/cip-CortexDemo verwaltet Backups der Serverinstanz

Sie sind bereit, die neue Server-Instanz zu starten.

Manuelle Einrichtung

Beispiel

Um eine Serverinstanz mit dem Namen cip-Mike, Port 11295 und einer validen .par-Datei namens /cortexdemo.par manuell einzurichten, erfolgt:

sudo /cip/bin/cip-mkdb cip-Mike 11295 cortexdemo.par

  • die neue Serverinstanz liegt im Verzeichnis /cip/cip-Mike
  • das Verzeichnis /cip-backup/cip-Mike verwaltet Backups der Serverinstanz
Terminalausgabe
root@debian:/cip/bin# ./cip-mkdb cip-Mike 4321 cortexdemo.par HASSYSTEMD=1

creating new CORTEX-database environment:

             DBNAME = cip-Mike
             PORT = 4321

is this ok? y/n (n)y
copying cortexdemo.par to /cip/cip-Mike/ctxserver.par
creating /cip/cip-Mike/ctxserver.ini
creating /etc/systemd/system/cip-Mike.service
  • um die Binärdateien der Serverinstanz zu bilden, führen Sie den folgenden Befehl aus: sudo cip/<Instanz-name>/ce-ue -N

Stellen Sie davor sicher, dass das Unterverzeichnis der Instanz /data leer ist, da alle Inhalte des Verzeichnisses gelöscht werden.

Terminalausgabe
root@debian:/cip/bin# cd /cip/cip-Mike
root@debian:/cip/cip-Mike# ./ce-ue -N
sigint installed
sigquit installed
sigterm installed
sighup installed
sigio installed
sigpoll installed
server started with option "-N" for creating a new empty database
starting with uid: 0 bUserMode: 0
change dir to: /cip/cip-Mike
MaxServerThreads=200
ok! verify ctxserver.par
par file found for:

     -user: Entwicklerlizenz, Pleodat GmbH
     -serial number: 2011_E200
     -locationid: 1
     -version: 1.00

Ausführen des Befehls ce-ue -N

  • die Binärdateien der Serverinstanz werden daraufhin im Unterverzeichnis /data automatisch angelegt
  • das Service-Script für die Serverinstanz wird unter /etc/systemd/system abgelegt

Sie sind bereit, die vorhandene Serverinstanz zu starten.

Vorhandene Serverinstanz starten

Starten Sie die angelegte Serverinstanz mit dem System-Manager.

  1. führen Sie folgenden Befehl aus: systemctl start <Instanz-Name>
  2. für die Beispiel-Instanz cip-Mike sieht die Eingabe wie folgt aus:
systemctl start /cip/cip-Mike
  1. um den Service jederzeit zu beenden, nutzen Sie systemctl stop <Instanz-Name>

  2. wenn der Service bei Systemstart gestartet werden soll, ändern Sie die Serviceparameter des IP-Servers mit dem Befehl systemctl enable <Instanz-Name>

Warning

Wenn der Autostart nicht aktiviert ist, muss der Service nach jedem Neustart des Systems neu gestartet werden. Führen Sie dazu den Start-Befehl erneut aus.

Cortex-IP-Server einrichten

  1. um den Cortex-IP-Server zu starten, muss der Service, genau wie eine Serverinstanz, per System-Manager gestartet werden. Führen Sie dazu den folgenden Befehl aus: systemctl start cip-webserver
  2. um den Service jederzeit zu beenden, nutzen Sie systemctl stop cip-webserver
  3. wenn der Service bei Systemstart gestartet werden soll, ändern Sie die Serviceparameter des IP-Servers mit dem Befehl systemctl enable cip-webserver

Warning

Wenn der Autostart nicht aktiviert ist, muss der Service nach jedem Neustart des Systems neu gestartet werden. Führen Sie dazu den systemctl start-Befehl erneut aus.

Im Verzeichnis /cip/httpd befinden sich die ctxhttpd.ini- Datei sowie die ctxhttpd.log-Datei.

Der IP-Server nutzt per Default Port 80 und SSLPort 443. Sollen andere Ports genutzt werden, können die entsprechenden Parameter in der ctxhttpd.ini-Datei unter [HTTPSRV] geändert werden.

HTTPSRV-Abschnitt in der ctxhttpd.ini
[HTTPSRV]
Port=80
SslPort=443
BindOnlyLocalHost=0
SslCertPem=localhost.pem
LogHttpSrv=1
usingPhp8=1

Virtual Hosts konfigurieren

Um die Instanz auf dem Webserver lauffähig zu machen, muss die vhosts Konfiguration aktualisiert werden.

  1. öffnen Sie die Datei ctxhttpd.ini
  2. finden Sie im Dokument den Abschnitt vhosts
  3. fügen Sie den Namen der in der Installationsanleitung erzeugten Serverinstanz der Liste hinzu, separiert durch ein Komma
  4. achten Sie darauf, dass keine Leerzeichen zwischen dem Komma und dem Namen der Instanz stehen. Zum Beispiel, um eine Serverinstanz namens CortexDemoDb hinzuzufügen: vhosts=cip-DemoInstanz,cip-INSTANZ123,cip-Mike

  5. kopieren Sie die folgende vhost-Konfiguration in die ctxhttpd.ini-Datei

    vhost-Konfiguration
    [Instanz-Name]
    CtxSrv=127.0.0.1:29001
    HttpRoot=www/Instanz-Name
    HttpAuth=0
    WebClientName=CortexInstanz
    DefaultUrl=%v/Uniplex6/index.php
    HttpDefaultUrlOnly=0
    PhpSessDir=Instanz-Name
    
  6. ändern Sie [Instanz-Name] zu dem Namen der zu konfigurierenden Instanz (inkl. cip- Präfix)

  7. geben Sie die Serveradresse und Port der Instanz in das Feld CtxSrv ein
  8. fügen Sie die editierte Konfiguration unter eine bestehende Konfiguration ein

    Ansicht der vhost-Konfigurationen in der ctxhttpd.ini Datei
    [cip-CortexDemodb]
    CtxSrv=127.0.0.1:2900
    HttpRoot=cip-demo
    HttpAuth=0
    WebClientName=CortexDBdemo
    DefaultUrl=%v/UniPlex/index.php
    HttpDefaultUrlOnly=0
    PhpSessDir=cip-demo
    

Cortex-IP-Server per Remote Admin konfigurieren

Um eine Verbindung zu einer laufenden Serverinstanz herzustellen, kann der Remote Admin genutzt werden.

Remote Admin öffnen

  • stellen Sie sicher, dass das Programm ausführbar ist
  • rufen Sie es wie folgt auf: sudo ./cip-admin

Wichtig

Die UI des Remote-Admin benötigt folgende Einträge:

  • die Serveradresse (z.B. localhost)
  • den Port zur Serverinstanz (z.B. 29000)
  • das Initialpasswort für den Remote-Admin (z.B.admin)
Beispiel

Login-Seite des Remote Admin

Lizenz-Datei einspielen

  1. klicken Sie auf den Button License im Remote Admin
  2. importieren Sie die .lic-Datei.

Lizenz-vervorhebung des Remote Admin Lizenz-Button im Remote Admin

Info-Tool des Remote Admin Info-Seite des Remote Admin

Backups erstellen und einspielen

Erstellen eines Backups
  1. öffnen Sie den Remote-Admin
  2. klicken Sie auf den Button Backup
  3. wählen Sie, ob das Backup für Ihre Seriennummer kreiert werden soll
  4. das Backup wird als .cbz-Datei im Verzeichnis /cip-backup gespeichert

Backup erstellen Backup im Remote Admin erstellen

Backup einer Instanz einspielen
  1. öffnen Sie den Remote-Admin
  2. klicken Sie auf Restore
  3. wählen Sie die gewünschte Backup-Datei aus dem /cip-backup Verzeichnis im Remote Admin
  4. bestätigen Sie Ihre Auswahl
  5. geben sie im geöffneten Fenster Ok an
  6. drücken Sie die Buttons Stop und Start im Remote Admin, um einen Neustart des Servers zu erzwingen

Backup einspielen Backup im Remote Admin einspielen

Benutzerkonten erstellen

Um den IP-Server nutzen zu können, müssen Nutzerkonten erstellt und Rechte an diese verteilt werden.

PHP User
  1. klicken Sie auf den Button User innerhalb des Remote Admin
  2. fügen Sie einen Nutzer mit dem Namen php durch Klicken des Buttons New hinzu
  3. vergeben Sie ein Passwort ihrer Wahl
  4. erteilen Sie diesem Nutzer Rechte für ctxphp per Klick auf die Checkbox im rechten Fenster
  5. Klicken Sie auf ok
Root User
  1. wählen Sie den Nutzer root aus und klicken Sie auf Edit
  2. ändern Sie das Passwort zu einem Passwort Ihrer Wahl. -Dieses Passwort ersetzt das Initialpasswort des Remote Admin und gilt künftig als Login-Passwort des Remote Admin
  3. klicken Sie auf den Button ok
Administrativer Nutzer
  1. klicken Sie auf den Button new und erstellen Sie einen weiteren Nutzer
  2. weisen Sie diesem einen Namen, ein Passwort und eine ID zu
  3. weisen Sie folgende Rechte zu: Uniplex, UniplexAPI, ctxjst, ctxjss und CtxBrowser per Klick der gleichnamigen Checkboxes.
  4. klicken Sie auf den Button ok
  5. klicken Sie auf den Button close

Sie können weitere Nutzer anlegen und entsprechende Nutzerrechte verteilen.

User-Tool des Remote Admin

Uniplex einrichten

Um den Server auf einem Browser einsehen zu können, kann das Plugin Uniplex eingespielt werden:

  1. öffnen Sie den Remote Admin
  2. klicken Sie den Button Apps/Plugins

    Das folgende Fenster öffnet sich:Uniplex einfügen1

  3. klicken Sie auf den Button File Import

  4. wählen Sie die abgelegte Uniplex.xjz-Datei aus

    Uniplex einfügen2 Nachdem das Plugin Uniplex installiert wurde, erscheint es im Fenster Apps/Plugins.

  5. kopieren Sie den Namen des dort angezeigten Plugins

    Achten Sie auf die Groß- und Kleinschreibung beim Kopieren des Plugin-Namens

  6. öffnen Sie einen Browser Ihrer Wahl und geben Sie folgendes in die Adresszeile ein:

    <Serveradresse>/<Instanz-Name>/i/<Uniplex-Name>/index.php

  7. fügen Sie die jeweiligen Zugangsdaten des von Ihnen kreierten administrativen Nutzers als Name und Passwort in der Konfiguration der Benutzerkonten hinzu

  8. klicken Sie auf Anmelden

    Die folgende Anmeldeseite wird angezeigt:

    Uniplex-beispiel im Browser

Fehlerbehebung

Troubleshooting

Fehler mögliche Ursachen mögliche Lösungen
Datei kann nicht per Package Manager installiert werden Nutzer hat keine administrativen Rechte Befehl mit root user oder mit administrativem Passwort ausführen
Befehl cip-mkdb kann nicht ausgeführt werden Schreib- und Ausführrechte nicht erteilt Schreib- und Ausführrechte erteilen oder sudo cip-mkdb versuchen
cip-mkdb führt nicht korrekt aus Name oder Port nicht oder falsch eingegeben Instanz-Name beginnt mit Präfix cip-, Eingaben auf korrekte Schreibweise überprüfen
Befehl sudo ce-ue -N führt nicht korrekt aus Unterverzeichnis im basepath der ctxserver.ini-Datei ist nicht leer Inhalte des Unterverzeichnis im basepath löschen und sudo ce-ue -N erneut ausführen.
Instanz startet nach systemctl start <Instanz-Name>nicht Instanz nicht korrekt geladen Sicherstellen, dass Dateiverzeichnis im Basepath der ctxserver.ini-Datei erforderliche Binärdateien enthält. Falls nicht, siehe nächste Zeile
systemctl start <Instanz-Name>: Service Unit kann nicht gefunden werden Serverinstanz-Verzeichnisse wurden nicht korrekt erstellt Schreib- und Ausführrechte von allen Nutzern für /cip/<Instanz-name>/ctxserver.ini überprüfen. Instanz löschen und erneut mit sudo ce-ue -N erstellen. sudo systemctl start <Instanz-Name>aufrufen.
Remote Admin kann Anmeldung nicht durchführen Logindaten stimmen nicht überein Überprüfen Sie die Schreibweise des Passworts und stellen Sie sicher, dass die Serveradresse und der Serverport korrekt im Format <Serveradresse>:<Serverport> eingegeben sind
Remote Admin kann keine Verbindung zur Serverinstanz erzeugen Instanz wurde nicht gestartet oder läuft nicht mehr Stellen Sie sicher, dass die Instanz gestartet ist und läuft: systemctl start <Instanz-Name>
Server-Instanz lässt sich nicht im Browser abbilden: <Serveradresse>/<Instanz-Name>/i/<UniPlex-Name>/index.php kann nicht erreicht werden Server-Instanz oder IP-Server laufen nicht korrekt Starten Sie die Instanz und den IP-Server neu mit sudo systemctl start <Instanz-Name> und sudo systemctl start cip-webserver und aktualisieren Sie das Browserfenster.
Anmeldung im Browser kann nicht durchgeführt werden Zugangsdaten sind falsch eingegeben Überprüfen Sie die Zugangsdaten des Nutzers im Remote Admin unter User. Klicken Sie auf den Nutzer, der eingeloggt werden soll, und dann auf edit. Kopieren Sie die Zugangsdaten von dort und versuchen Sie es erneut.

FAQ

Frage Antwort
Wie komme ich an die benötigten Dateien? Die benötigten Lizenz- und Passwortdateien sowie die Debian Cortex-Datei können auf www.cortex-ag.com erworben werden. Falls Ihnen Dateien fehlen, wenden Sie sich an Ihren Cortex Ansprechpartner oder schreiben Sie eine Mail an cortex-info@cortex-ag.com.
Ich habe ein Problem mit der Installation und komme nicht weiter. Falls Ihnen das Troubleshooting nicht weiterhilft, wenden Sie sich für weitere Unterstützung an cortex-info@cortex-ag.com oder Ihren Cortex Ansprechpartner.