Das ist eine für den Ausdruck optimierte Ansicht des gesamten Kapitels inkl. Unterseiten.
Druckvorgang starten.
Zur Standardansicht zurückkehren.
Installation Kieselstein ERP Server
Installation des Kieselstein ERP Applikationsservers ab Juni 2025
Wie für die Installation deines Kieselstein ERP Servers ab Juni 2025 vorgehen
Vorbereitung für Serverinstallation
Wird die Serverinstallation von uns durchgeführt, so benötigen wir, neben den ganzen Zugangsdaten,
- bitte die Info auf welches Laufwerk die Installation erfolgen sollte.
- In virtuellen Umgebungen, bitte genau den Server angeben, auf den es installiert werden sollte.
- bitte die Größen Kalkulationen beachten siehe Anforderungen
Ein dringender Rat
Installiere dein Kieselstein ERP immer auf einem dedizierten Rechner, der nur für dein Kieselstein ERP da ist. Gerne in einer virtuellen Maschine.
Leider hat die Praxis zu oft gezeigt, dass andere Programme durch komische Fehlfunktionen dein Kieselstein zerstört haben. Die Reparatur ist dann entsprechend aufwändig. In einem Falle mussten wir dann die Arbeit des Tages verwerfen und auf das Gott sei Dank vorhandene Backup zurückgreifen.
administrative Rechte erforderlich
Die Serverinstallation muss mit entsprechenden Administrativen Rechten / Root Rechten zumindest auf dem lokalen Server (Betriebssystem) durchgeführt werden.
Linux Sudo siehe
Neuinstallation oder Update?
- Vorbereitung für eine Neuinstallation siehe
- Die wenigen Schritte für das Update sind hier beschrieben
- Für eine Wiederherstellung siehe
Unterschiedliche Notierung Linux / Windows
Unter Linux wird das kieselstein unter /opt/kieselstein installiert.
Von der Bedeutung her wird die sehr ähnliche Struktur unter Windows auf LW:\kieselstein eingerichtet, wobei hier LW für das Laufwerk der lokalen Kieselstein Installation steht.
In der nachfolgenden Dokumentation verwenden wir immer die Windows-Notation (außer es gibt besondere Gründe dies anders / doppelt darzustellen).
Für Linux bitte einfach das LW: durch /opt und die \(Backslash) durch /(Forward Slash / Schrägstrich) ersetzen.
Ab dem Kieselstein Verzeichnis sind die Strukturen in allen Systemen gleich.
Environment Variablen
Die Steuerung des Verhaltens deines Kieselstein ERP Servers erfolgt in der Regel (wir können nur dringend dazu raten) mit Environment / Umgebungsvariablen. Für die Beschreibung dieser sei auf LW:\kieselstein\dist\bin\README.md verwiesen bzw. siehe
Weitere verwendete Environment Variablen sind in der jeweiligen Server-Startdateien beschrieben, also LW:\kieselstein\dist\bin\launch-kieselstein-main-server.bat bzw. .sh
Verzeichnisstrukturen
Mit der Erfahrung der letzten Jahre raten wir zur Verwendung folgender Verzeichnis-Struktur.
Grundsätzlich ist die Struktur in den Betriebssystemtypen (Linux, Windows, MAC) annähernd gleich. Lediglich die Basispfade unterscheiden sich.
| Betriebssystem |
Basispfad |
| Linux |
/opt/kieselstein |
| Windows |
LW:\kieselstein |
Nach dem LW:\kieselstein gibt es die Verzeichnisse dist und data und eventuell das Client.
Im dist befindet sich immer die aktuell in Verwendung befindliche Version. Dies ist auch in der Datei LW:\kieselstein\dist\VERSION.txt ersichtlich.
Im Client ist die vorbereitete Clientinstalltion enthalten, welche dann als gezippte Version unter LW:\kieselstein\dist\clients\Client.zip zur Verfügung gestellt wird.
Für ein Update wird lediglich das dist Verzeichnis auf dist.Versionsnummer umbenannt und danach aus der heruntergeladenen Zip-Datei siehe das neue dist-Verzeichnis einkopiert.
Arbeiten mit den gezippten Dateien
Es hat sich bewährt, unter Windows, für das Arbeiten mit den tar bzw. gz Dateien, den Totalcommander zu verwenden. Dieser kann alle Pack-Formate auflösen.
Alternativ kann auch 7Zip verwendet werden.
Neuinstallation
Für die Neuinstallation deines Kieselstein ERP Systems müssen folgende Programme / Dienste / Voraussetzungen gegeben sein.
- Ausreichend Platz sowohl für die Festplatte als auch Systemspeicher siehe
- PostgresQL der verwendete Datenbankserver siehe
- Aktuelles Java mit der FX-Erweiterung von Azul siehe
- Liquibase Datenbank Update Manager in der aktuellen Version siehe
- Die aktuelle Kieselstein Version
Nachdem du PostgresQL und das aktuelle Java installiert hast (und diese auch funktionieren) muss deine Kieselstein Datenbank eingerichtet werden. Siehe dazu
Manuell starten
Daran anschließend solltest du deinen Kieselstein Server manuell, also in einer Command Shell, starten.
- Windows: LW:\kieselstein\dist\bin\launch-kieselstein-main-server.bat
- Linux: /opt/kieselstein/dist/bin/launch-kieselstein-main-server.sh
Das Ergebnis muss hier sein, dass der Server Fehlerfrei startet, was bedeutet (leider sind einige Warnings derzeit noch normal) dass unter LW:\kieselstein\dist\wildfly-26.1.2.Final\standalone\deployments<br>
drei deployed Dateien sein müssen (kieselstein-1.0.26.ear.deployed, jackrabbit-jca-2.22.0.rar.deployed, tinymce.war.deployed)
Es darf keine failed Einträge geben.
Da dieser Start einige Minuten dauern kann, abhängig von der Performance deines Servers, wird während des Startens *.dodeploy bzw. *.isdeploying bei obigen drei Dateien angezeigt.
Sollte der Start nicht gelingen, so hilft ein Blick in die Log-Datei unter LW:\kieselstein\dist\wildfly-26.1.2.Final\standalone\log\server.log
Ein weiteres Kennzeichen dass das KES gut gestartet ist, ist die Anzeige im Command Shell von

Für die Installation eines Debian mit anschließender Einrichtung des Kieselstein ERP Servers siehe
Client Einrichtung
Die zu deinem Server passenden Clientdateien findest du unter LW:\kieselstein\dist\clients\kieselstein-client-develop.tar.gz
Hier sind, mehrfach gezippt (LW:\kieselstein\dist\clients\kieselstein-client-develop.tar.gz\kieselstein-client-develop) die beiden Verzeichnisse

bin und lib.
Bewährt hat sich, wenn du dir direkt in deiner Kieselstein-Server-Verzeichnis-Struktur auch ein Verzeichnis Client (neben dist und data) anlegst und in dieses das bin und das lib Verzeichnis einkopierst. Die Struktur sollte wie folgt aussehen.

Info:
Die Anpassung der Dateien unter bin ist nur initial erforderlich. Bei den Updates muss ledglich das lib-Verzeichnis ausgetauscht werden.
Weiteres zu Sprachen am Client siehe
Anpassung der Client-Start Datei
Ab der Version 2 steht die Möglichkeit des setzen der Environmentvariablen für die Adresse deines Kieselstein Servers und der gewünschten Sprache zur Verfügung.
D.h. du musst nur mehr einmal die kieselstein_server_setzen.bat Datei anpassen und diese als Administrator ausführen. Damit können in Zukunft die Startdateien gleich belassen werden.
Zugleich werden beim Aufruf dieser Batch-Datei (kieselstein_server_setzen.bat) die von Kieselstein ERP verwendeten Fonts, LiberationSans, aktualisiert. Diese sind von ihrer Lizenzierung frei und werden in der Version 2 für alle Reports verwendet. Insbesondere für den Versand der eRechnung, welche als XML in Zugferd eingebettet ist, sollten nur wirklich freie Fonts verwendet werden.
Alternativ kannst du aber auch die bisherige Anpassung der unten angeführten Client-Startdateien verwenden. Achte aber darauf, dass die Liberation Sans auf aktuellem Stand ist.
Die Client-Startdateien aus dem Verzeichnis bin müssen einmalig auf Sprache und IP-Adresse angepasst werden. D.h. hier muss der localhost gegen die IP-Adresse deines Kieselstein ERP Servers ausgetauscht werden und gegebenenfalls die Sprachdefinition von de_AT auf z.B. de_DE geändert werden.
| Betriebssystem |
Batch Script |
| Linux |
kieselstein-client |
| Windows |
kieselstein-client.bat |
Wenn der oben beschriebene Start deines Servers funktioniert hat, was die Regel ist, so kannst du nun durch Start des passenden Batch-Scriptes direkt am Server deinen Kieselstein ERP Client starten.
Für Linux-Anwender bzw. generell. Der Client braucht einen entsprechenden grafischen Desktop.
Beim Starten zeigt dir der Client zuerst den Kieselstein Splash-Screen und kommt dann mit dem Anmeldedialog

in dem deine Sprache bereits voreingestellt ist.
Du solltest nun diese angepassten Clientdateien deinen Anwendern zur Verfügung stellen, in dem das Clientverzeichnis (LW:\kieselstein\Client) gezippt wird und unter LW\kieselstein\dist\clients\Client.zip zur Verfügung gestellt wird. siehe client vom Browser installieren.
Dienst einrichten
Sind obige Punkte positiv verlaufen, so sollte dein Kieselstein ERP Server als Dienst / Service eingerichtet werden. Dazu:
- den oben angeführten manuellen Start beenden
- aus LW:\kieselstein\dist\bootstrap\service\ für dein Server-Betriebssystem
| Betriebssystem |
Install Script |
| Linux |
linux/install-kieselstein-services.sh |
| Windows |
windows\install-kieselstein-services.bat |
ausführen. Bitte immer direkt aus dem jeweiligen Verzeichnis.
3. den jeweiligen Service starten
| Betriebssystem |
Service Start Kommando |
| Linux |
systemctl start kieselstein-main-server.service (wird bei der Installation mit gestartet und enabled) |
| Windows |
in den Services starten |
Auch hier solltes du im deploy Verzeichnis (LW:\kieselstein\dist\wildfly-26.1.2.Final\standalone\deployments) prüfen, dass der Kieselstein ERP Server tatsächlich gestartet ist.
Damit ist die Installation abgeschlossen.
Allgemeines rund um die Installation
Achte darauf, dass auch auf deinem Server die gleichen Liberation Sans Schrift, wie für den Client zur Verfügung gestellt, verwendet wird.
Welche Programme sind noch praktisch
Windows
wir verwenden gerne auch noch:
Linux
sudo apt install doublecmd-gtk
danach mit doublecmd starten
- gedit, natürlich kann man die Dateien mit dem Nano bearbeiten. Praktischer ist jedoch der gedit.
MAC OS
Anmelden und als root arbeiten
Da üblicherweise kein root installiert wird, man aber die Rechte braucht, einfach mit su root und dem eigenen PW anmelden.
Wichtig
Riesenunterschied zwischen su root der hat nur normalen User context und
su - root
Liefert auch Zugriff auf Programme die echte Root Privilegien erfordern. Z.B. das update-grub
IP Adresse des Rechners
ip address
Wie komme ich zu einer aktuellen Version?
Wir freuen uns über jedeN der uns beim Testen der aktuellen Software hilft. Insofern stehen unter dem Link die latest Release und ein aktueller Build zur Verfügung.
D.h. über den Link kommst du zum Repository des Kernsystems von Kieselstein ERP. 
Nun kannst du durch Klick auf Latest Release
die letzte gültige Version herunterladen.
Alternativ bekommst du den aktuellen Stand durch Klick auf
, welche den neuesten von der Technik / Softwareentwicklung zur Verfügung dargestellten Stand darstellt.
Um die Latest Release, zu finden auch unter direkt herunter zu laden, klicke auf den Button und dann auf

Leider ist die Kennzeichnung der Dateien im Gitlab nicht immer einheitlich. D.h. es kann auch anstatt Pakete mit sonstiges bezeichnt sein.

Beachte bitte unbedingt die unter Versionshinweise

angegebenen Punkte.
ACHTUNG
Wenn du Zwischenversionen verwendest, solltest du diese ausschließlich für Tests auf einem Testsystem verwenden. Wir haben diese Zwischenversionen weder ausführlich getestet, noch ist sichergestellt, dass diese problemlos zur richtigen Release aktualisiert werden können.
Entzippe aus dieser Datei das dist Verzeichnis nach LW:\kieselstein\dist
Lege parallel dazu ein Verzeichnis data (LW:\kieselstein\data) an
Installation Datenbankserver
Es werden aktuell ausschließlich PostgresQL Version 14 und 15 unterstützt. Ab der Kieselstein ERP Version 2 solltest du Postgres 18 verwenden. MS-SQL wird nicht unterstützt. Für eine eventuelle Konvertierung deiner MS-SQL Datenbank wende dich bitte an die Kieselstein ERP eG. Neuere PostgresQL Versionen können funktionieren, sind aber aktuell von uns nicht freigegeben.
Bei der Installation darauf achten, dass nur PostgresSQL Server und die Command Line Tools installiert werden.

Bei der Installation muss auch das default Passwort für den User Postgres angegeben werden (postgres). Beachte in diesem Zusammenhang auch die Themen der Datenzugriffssicherheit. Aktuell kann das Datenbankpasswort durch die Environmentvariable MAIN_DB_PASS übersteuert werden.
Bitte prüfe, dass auch der Port auf 5432 vorgeschlagen wird.
Beachte, dass die Installation in Windowssystemen idealerweise auf einem eigenen Laufwerk erfolgt. Also z.B. nicht auf C: sondern, vom Betriebssystem unabhängig auf z.B. D:
Für die Installation benötigst du auch
Denke daran die Postgres einzustellen. Siehe
Installation Liquibase
Siehe bitte
Leere Datenbank ab der Version 1.x.x
ACHTUNG:
Wenn du bestehende Daten übernimmst, schau im Kieselstein ERP Wiki nach.
Ab der Version 1.x.x steht eine leere Datenbank zur Verfügung.
D.h. mit LW:\kieselstein\dist\bootstrap\liquibase\createdb.bat bzw. .sh (4x postgres PW eingeben) legst du die grundsätzlichen Datenbanken an.
Wenn du die vorbereiteten Daten verwenden willst, dann bitte jetzt einlesen und erst danach mit dem Liquibase Update weiter.
Führe nun aus dem Liquibaseverzeichnis (LW:\kieselstein\dist\bootstrap\liquibase) mit *run-liquibase.bat update * bzw. liquibase.sh update aus und erzeuge damit eine leere aber funktionsfähige Datenbank.
ACHTUNG: Liquibase ab Version 4.29 verlangt Java 11
Aktuell bitte maximal Liquibase Version 4.xx verwenden. Die Liquibase Version 5 hat andere Datenstrukturen. Eine entsprechende Adaptierung ist in Planung.
IP Internet Protokoll
Bitte verwende aktuell nur IP V4, sowohl für den Zugriff auf den Datenbank-Server als auch für die Kommunikation von den Clients mit deinem Kieselstein ERP Server.
Installation PGadmin
Die abschließende Meldung nach dem Rechner-Neustart kann ignoriert werden.
Setzen Environmentvariable
- path Erweiterung auf Postgres “LW:\Program Files\PostgreSQL\VV\bin"
Hinweis: Es muss auch der Dienst auf diesen Pfad zugreifen können.
- KIESELSTEIN_DIST=LW:\kieselstein\dist
- KIESELSTEIN_DATA=LW:\kieselstein\data
- eventuell ein abweichendes Datenbankpasswort: MAIN_DB_PASS
- Empfehlung:
Passe auch die KIESELSTEIN_JAVA_OPT_XMX (5G) und die KIESELSTEIN_JAVA_OPT_XMS (512M) an, sofern dein Kieselstein ERP Server ausreichend Ram-Speicher zur Verfügung hat.
Es gibt noch weitere optionale Environment-Variablen welche in der README.md Datei bei den Start-Scripten (im KIESELSTEIN_DIST/bin/) beschrieben sind.
Vorbereitete Daten
Wir haben für Testzwecke eine sehr kleine und einfache Musterdatenbank eingerichtet. Diese findest du hier. Bitte beachte:
- in Deutsch Österreichisch anmelden

- es sind keine Dokumente enthalten
- es ist die integrierte Finanzbuchhaltung aktiviert und damit auch die österreichischen Steuersätze und Formulare usw.
Führe hier bitte das restore_Demodaten.bat aus. Das Ergebnis sollte wie folgt aussehen.

Eine weitere Variante sind Demodaten in deDE und ohne Fibu. Diese findest du hier. Bitte beachte:
- in Deutsch Deutsch anmelden
- es sind keine Dokumente enthalten
- die integrierte Finanzbuchhaltung ist deaktiviert und es sind die deutschen Mehrwertsteuersätze eingerichtet.
D.h. anstatt des restore_Demodaten.bat führst du das restore_Demodaten_DE_OF.bat aus.
WICHTIG
Diese Daten müssen auf die aktuelle Datenbankversion gehoben werden.
D.h. bevor du mit der Installation fortfährst, muss je nach Betriebssystem das Datenbankupdate ausgeführt werden.
| Betriebssystem |
Basispfad |
| Linux 1. |
/opt/kieselstein/dist/bootstrap/liquibase/liquibase.sh changelog-sync –label-filter=“0.0.12” |
| Linux 2. |
/opt/kieselstein/dist/bootstrap/liquibase/liquibase.sh update |
| Windows |
LW:\kieselstein\dist\bin\initial.bat |
Tipps und Tricks
Eine lose Sammlung von Tipps, KnowHow und ähnlichem für den/die Consultant im Rahmen der Installation.
ACHTE immer auf die Sicherheit
Durch das Öffnen von Ports, gibt es natürlich auch mehr Möglichkeiten das System anzugreifen. Also denke auch an die Verwendung von VPN Tunnel usw..
Dass Betriebssystem, Virenscanner und Firewall immer aktuell sind, ergibt sich schon aus der DSGVO.
Die Themen rund um die Sicherheit, Passwörter abweichend vom default usw. sind im Web ausreichend abgehandelt. Kieselstein ERP eG Mitglieder schauen im Wiki unter dem Suchwort Sicherheit nach.
Ports die für die Kommunikation benötigt werden
| Port |
Zweck |
| 8080 |
für den Zugriff auf den Kieselstein ERP Applikationsserver inkl. RestAPI |
| 5432 |
für den Zugriff auf die Postgres-Datenbank |
| 22 |
für Linux, SSH Kommunikation |
Das sind die Standard Ports. Diese können, z.B. für weitere parallele Installationen am gleichen Rechner auch abweichen.
Siehe dazu auch: LW:/kieselstein/dist/bin/launch-kieselstein-main-server.bat bzw. .sh
Ergänzung an der pg_hba.conf
Hier sollte zusätzlich der gewünschte Netzwerkkreis eingetragen werden, mit dem auch ein Zugriff erlaubt ist. Beispiel:
- host all all 192.168.xx.0/24 scram-sha-256
was bedeutet, dass aus dem Subnetz xx alle IP-Geräte die ein Passwort wissen auf die Datenbank zugreifen können.
Die pg_hba.conf findest du, je nach Betriebssystem unter:
| Betriebssystem |
Pfad |
Bemerkung |
| Windows(R) |
LW:\Programm Files\PostgreSQL\VV\data\ |
|
| Debian |
/etc/postgresql/14/main |
Achtung: Wenn englisch installiert, muss der datestyle auf ‘ios, dmy’ gestellt werden. |
| Ubuntu |
/etc/postgresql/14/main |
ev. muss zusätzlich in der postgresql.conf listen_addresses=’*’ gestellt werden |
| iOS |
.. |
|
Ändern der IP-Adresse des Kieselstein ERP Servers
ACHTUNG: Wenn auf dem Kieselstein ERP Server die IP Adresse verändert wurde, so muss danach unbedingt der Kieselstein ERP Server neu gestartet werden.
Vorbereitung für die Client-Installation
Vom Client aus auf http://Kieselstein-ERP-SERVER-IP-Adresse:8080 gehen.

Auf der Willkommensseite findest du links unten den Link zu download clients.
hier werden alle Dateien angezeigt die im Server unter LW:\Kieselstein\dist\clients zur Verfügung stehen. D.h. üblicherweise werden hier die angepassten LW:\Kieselstein\dist\client Verzeichnisse als Client.zip einkopiert und somit dem Anwender zur Verfügung gestellt.
Bewährt hat sich auch, dass hier ein aktuelles Java (das gleiche wie für den Server) für den Client hinterlegt wird.
Welche Java Version für den Server?
Der Basis-Link für das erprobte Zulu Java findest du unter https://www.azul.com/downloads/?package=jdk#zulu
Hier dann für Server und Client nur Java 11 mit jdk-FX verwenden.

Windows Besonderheiten
Für Windows-User empfiehlt sich die .msi herunterzuladen.
Darauf achten, dass bei der Installation das Java Home
gesetzt wird.
Prüfen, dass auch installiert durch Command Shell, Java -version

virtualisierte Betriebsumgebungen
Bitte achte massivst darauf, dass auch in virtuellen Betriebsumgebungen ausreichen Ram zur Verfügung steht. Es kommt leider immer wieder vor, dass manche IT-Betreuer glauben, der VM ausreichend Platz gegeben zu haben, es kommt dieses RAM aber bei der VM nicht an. Hier empfiehlt sich, eine fixe Speicher Zuweisung zu verwenden.
Windows Dienste starten
Für Start und Stop des Kieselstein ERP Servers geht man üblicherweise wie folgt vor:
- Rechtsklick auf den Startbutton und Auswahl der Computerverwaltung

- Auswahl der Dienste (Services)

- Suchen des Kieselstein Main Server aus der Liste

- Doppelklick und ändern des Starttypes auf
Automatisch Verzögerter Start (da die PostgresQL vorher starten muss)
Gegebenenfalls den Kieselstein Service nun auch noch starten. 
Linux Dienste starten
systemctl start kieselstein-main-server.service
systemctl stop kieselstein-main-server.service
Sollte, je nach Betriebssystem der Start des Dienstes nur direkt aus dem Dinesteverzeichnis möglich sein, hier eine Aufstellung wo du was findest.
| Betriebssystem |
Pfad |
| Debian |
/etc/systemd/system/, |
Server Dienst einrichten
- Mit Administratorrechten eine Command Shell starten.
- Es hat sich bewährt vorher einmalig den Service manuell zu starten, also:
LW:\Kieselstein\dist\bin\launch-kieselstein-main-server.bat
starten. Üblicherweise, je nach Datenbankgröße und Leistungsfähigkeit des Rechners kann es ein bisschen dauern bis der Dienst läuft. Man sieht das unter LW:\Kieselstein\dist\wildfly-26.1.2.Final\standalone\deployments<br>Hier muss für alle drei Files deployed stehen. Wenn nicht siehe
- nun testweise den Client aus LW:\Kieselstein\dist\client\bin\kieselstein-client.bat starten
und mit Admin, admin anmelden.
Geht die Anmeldung, d.h. man sieht die Button Bar
so läuft der Zugriff grundsätzlich. Nun den Client beenden und dann den Server (mit Strg+C) stoppen und mit der Einrichtung des Serverdienstes fortsetzen.
- aus LW:\Kieselstein\dist\bootstrap\service\windows\install-kieselstein-services.bat aufrufen
- in die Dienste / Services wechseln und den Kieselstein-Dienst starten. Beim ersten Start hat sich die Überwachung des deployments bewährt. Sollte diese mit failed stehen bleiben, dann im log nachsehen. Hier kann man meist, auch wenn es mühsam ist, die Ursache finden.
Fehlermeldung beim Einrichten des Dienstes
Kommt beim Einrichten des Dienstes die Meldung
so bedeutet dies “nur”, dass bisher kein Kieselstein ERP Dienst eingerichtet ist (und nicht upgedated werden konnte).
Du findest trotzdem nun die neu eingerichteten
in den Windows-Diensten.
Rootrechte unter Linux
Unter Linux ist es nicht üblich sich als Root anzumelden. Dafür gibt es die sogenannten Sudo Rechte. D.h. nur User die in der Sudo Liste eingetragen sind, können sich mit einem der folgenden Commands entsprechende Rootrechte holen.
Update
Für das Update deiner Kieselstein ERP Installation sind folgende Schritte erforderlich.
Natürlich must du auch hier die entsprechenden Rechte haben.
ACHTUNG
Bei umfangreichen Änderungen -> siehe
Milestones, raten wir dringend die neue Version zuerst auf einem Testsystem ausführlich zu prüfen und danach erst in der produktiven Umgebung einzusetzen.
Datensicherung
Dass du für den Fall des Falles eine gültige Datensicherung zur Hand hast, setzen wir voraus.
- Herunterladen der aktuellen Version
- Vorbereitung des Installs indem das im Zip enthaltene dist Verzeichnis z.B. nach LW:\kieselstein\neu\dist kopiert wird.
Hier kannst du auch gleich das Client\Lib entsprechend vorbereiten
- Stoppen des Kieselstein Dienstes, möglichst nachdem alle Anwender die Clients geschlossen haben (was sie nicht immer machen).
- Umbenennen des LW:\kieselstein\dist anhand der enthaltenen Version auf z.B. LW:\kieselstein\dist.1.0.26
- Verschieben des unter neu abgelegten Verzeichnisses auf LW:\kieselstein\dist
- Update der Datenbank aus dem Verzeichnis LW:\kieselstein\dist\bootstrap\liquibase mit
- Linux: liquibase.sh update
- Windows: run-liquibase.bat update
Bei Fehlern siehe
-
Sollte es zu Checksum-Probleme des Liquibase Datenbank-Verwaltungs-Managers kommen, so
- Linux: liquibase.sh clear-checksums
- Windows: run-liquibase.bat clear-checksums
und danach erneut bei Datenbank-Update weiter.
- Übertragen des Client_lib Verzeichnisses aus der Zip LW:\kieselstein\dist\clients\kieselstein-client-develop.tar.gz nach LW:\kieselstein\Client\lib
WICHTIG: Bitte immer das gesamte alte Lib-Verzeichnis löschen um Versionskonflikte der Libs zu vermeiden.
- Starten des Kieselstein Dienstes, dazu das deployments-Verzeichnis (LW:\Kieselstein\dist\wildfly-26.1.2.Final\standalone\deployments) beobachten. Gegebenenfalls wie oben beschrieben, den Server auch manuell starten.
- Den Client (am Server) starten und anmelden.
- Alle Anwender Clients aktualisieren, dazu im Browser den Link auf den Client Download nutzen.
ACHTUNG
Bei dieser Vorgehensweise MUSS der Automatiktimer neu initialisiert werden.
Linux Commandos
Eine Kurzfassung aller unter Debian durchzuführenden Commandos.
Voraussetzung das neue Release ist bereits heruntergeladen und liegt im Download Verzeichnis.
Du bist root / mit Root-Rechten (sudo -s) angemeldet
systemctl stop kieselstein-main-server.service
cd /opt/kieselstein
mv dist dist.alte_Versionsnummer
cd /home/BENUTZER/Downloads
tar -xvf kieselstein-distpack-1.1.13.tar.gz -C /opt/kieselstein
cd /opt/kieselstein
chmod -R 777 dist
cd /opt/kieselstein/dist/bootstrap/liquibase/
./liquibase.sh clear-checksums
./liquibase.sh update
systemctl start kieselstein-main-server.service
cd /opt/kieselstein/dist/clients
tar -xvf kieselstein-client-1.1.13.tar.gz
Danach noch die Startdatei, aus cd /opt/kieselstein/dist/clients/kieselstein-client-1.1.13/bin/ anpassen.
Ab der Version 1.1.13 können für Server und Sprache (locale) auf den Clients auch die Environmentvariablen verwendet werden:
| Environment |
Beschreibung |
mögliche Werte |
| KIESELSTEIN_SERVER |
IP Adresse des Kieselsteinservers |
nur IP V4 |
| KIESELSTEIN_LOCALE |
Die Anmeldesprache des Clients |
de_AT de_DE de_CH en_US it_IT sl_ |
| KIESELSTEIN_EXPERIMENTAL_OPENGL |
Verwendet die Grafikbeschleunigung |
true |
Nach der Anpassung der Client Dateien diese wiederum komprimieren und den Benutzern unter … zur Verfügung stellen.
tar -cvf ../../client.tar
Somit findest du dann im Verzeichnis /opt/kieselstein/dist/clients das erzeugte client.tar, welches du an die Benutzerausrollen kannst. Nutze dafür http://dein_Kieselstein_server:8080
Fallback
Für den unwahrscheinlichen Fall, dass du das Datenbank-Update deines Kieselstein ERP nicht zum Laufen bekommst und unter der Voraussetzung, dass du nach obiger Anleitung / Reihenfolge vorgegangen bist, muss für das Fallback nur:
- Das neue dist Verzeichnis wieder nach z.B. LW:\kieselstein\neu\dist verschieben.
- die umbenannte Version wieder auf dist umbenennen
Z.B.: von LW:\kieselstein\dist.1.0.26 auf LW:\kieselstein\dist
Sollte damit dein Kieselstein ERP nicht starten, so muss auch noch das gültige Datenbankupdate eingespielt werden. Da in aller Regel keine Änderungen an der Dokumentendatenbank durchgeführt werden, reicht der Datenbankrestore der KIESELSTEIN.
Tipp / Empfehlung:
Melde dich bitte bei der Technik, mit welchen Fehlern du nicht weiter gekommen bist.
Meist wünscht sich die Technik, dann auch ein entsprechendes Backup, der Datenbank.
1 - Macht ein Update meines Kieselstein ERP Servers Sinn?
Sollte ich mein Kieselstein ERP aktualisieren
Wo sehe ich, ob ich mein Kieselstein ERP aktualisieren sollte.
Kernel / Basissystem
Aktuelle Version -> siehe Client, Fenstertitel
bzw. siehe LW:\kieselstein\dist\version.txt
Terminal
Aktuelle Version: Siehe Titelzeile, hier steht z.B.: 0.0.xx.0 
Die aktuell verfügbare Version siehe
Hier findest du unter Versionshinweise welche Änderungen in der jeweiligen Version enthalten sind.
Von hier kannst du auch die aktuelle Terminalversion herunterladen
mobile App
Aktuelle Version: Siehe Konfiguration 
und dann ganz unten Version

Weitere Vorgehensweise wie oben unter Terminal beschrieben.
2 - Wie ein Kieselstein ERP System wieder herstellen
Desasterrecovery, Restore
Wie für die Wiederherstellung deines Kieselstein ERP Servers vorgehen.
Durchlesen, Ruhe bewahren
Solltest du wirklich den dramatischen Fall haben, dass dein Kieselstein ERP Server unkontrolliert abgekracht ist, nimm dir vor irgend welchen weiteren Maßnahmen die Zeit dieses kurze Kapitel durchzulesen.
In aller Ruhe.
Und wirf auch den Chef raus. Wenn er / sie will, dass es rasch geht, brauchst du vor allem Zeit, um die Schritte durchführen zu können. Das hat sich in allen Situationen bewährt.
Trainieren
Trainiere diese Wiederherstellung z.B. an einem Testsystem. Wenn du das 2-3 Mal gemacht hast, ist das alles kein Thema.
D.h. diese Beschreibung kannst du auch dafür verwenden, ein Testsystem deines Kieselsteins aufzusetzen. Und ja, du / dein IT-Betreuer solltest das üben. Denn im Falle des Desasters und wir wünschen uns alle, dass das nie eintritt, solltest du das schon öfter geübt haben.
Voraussetzungen
Um dein Kieselstein ERP System wieder herstellen zu können, benötigst du in jedem Falle
- Das Backup deiner ERP Daten, welche üblicherweise unter LW:\kieselstein\sicherung\ liegen. Der Name des Dump lautet üblicherweise KIESELSTEIN.backup
- Das Backup deiner Dokumentendatenbank, liegt üblicherweise im gleichen Verzeichnis und lautet KIESELSTEIN_DOCUMENTS.backup
- Das Backup der Anwenderspezifischen Reports, liegt üblicherweise im gleichen Verzeichnis und lautet reports.zip
- Wenn du eine Fileorientierte Datenbank hast, dann auch das Backup von LW:\kieselstein\data\jackrabbit mit allen Dateien
- eine aktuelle Version des Kieselstein ERP Systems.
WICHTIG:
Kümmere dich, mindestens einmal monatlich darum, dass dieses Backup auch in dein externes Sicherungsmedium wandert UND vollständig ist. Idealerweise machst du z.B. quartalsweise, jedenfalls aber jahresweise einen Restoretest.
Siehe dazu auch Sicherung
Vorgehensweise
- Nun installierst du einen neuen Kieselstein ERP Server wie unter Kurzfassung Neuinstallation beschrieben.
WICHTIG:
Den Server nicht starten.
- nun löschst du die beiden durch die Scripte angelegten Datenbanken KIESELSTEIN und KIESELSTEIN_DOCUMENTS. Du kannst diese gerne auch auf KIESELSTEIN_default bzw. KIESELSTEIN_DOCUMENTS_default umbenennen
- Lege nun mit “neue Datenbank erstellen” eine KIESELSTEIN und eine KIESELSTEIN_DOCUMENTS an.
- Restore nun in die Datenbanken deine Sicherungen
- kopiere deine Anwenderreports auf LW:\kieselstein\data\reports
- bei einer Fileorientierten Datenbank, kopiere deine Sicherung der Files in exakt der gleichen Struktur auf LW:\kieselstein\data\jackrabbit
- für nun das Liquibaseupdate durch
liquibase.sh update / run-liquibase.bat update
- eventuell muss du vorher ein clear-checksums durchführen
liquibase.sh clear-checksums / run-liquibase.bat clear-checksums
- nun kannst du deinen Server starten.
Sollte deine Installation älter gewesen sein, müssen auch die Clients aktualisiert werden, sonst können die Anwender mit den bisherigen Accounts weiterarbeiten.
Wichtig:
Dass der Datenbankserver die gleiche Major Version wie die gesicherte Datei hat oder etwas neuer ist, sollte selbstverständlich sein.
Hinweis:
Du siehst in einem guten Editor in den ersten Zeilen deiner Datensicherung im Klartext die Datenbankversion von der aus diese Datenbank gesichert wurde.
Dauer
Wie lange wird so ein Restore dauern?
- Wenn du die neue Maschine zur Verfügung hast (wie ist das am 24.Dezember um 15:00), inklusive dem vollwertigen Betriebssystem, so wirst du zuerst die Backupdateien einkopieren müssen
- wie lange dauert das Setup des Rechners von Einkauf bis lauffähigem Server
- wo sind die Backupdaten
- wie alt sind diese
- wie lange dauert das einkopieren
- Der Restore der Datenbanken dauert in der Regel etwas länger als das Backup selbst, was bei großen Dokumentendatenbank ein Thema werden kann (>12Std usw.)
- wie lange dauert der Download der benötigten Programme (siehe Neuinstallation)
- rechne noch 2-4 Std dazu, ev. musst du erst das Betriebssystem der neuen Maschine aufsetzen.
Datenverlust
Du hast NUR die Daten zur Verfügung, die in deinem Backup enthalten sind. Wenn also dein Backup von gestern Abend ist und heute Abend, eine Sekunde bevor das Backup gültig abgespeichert werden konnte, kaputt ist, so hast du einen ganzen Tag verloren.
Kannst du dir das leisten, oder muss öfter gesichert werden. Das kann bis zum gespiegelten Datenbankserver gehen. Siehe Sicherung
Fehler beim Datenrestore
Beim Restore der Datenbanken dürfen grundsätzlich keine Fehler auftreten.
Auch hier keine Regel ohne Ausnahme.
Folgende Fehler sind normal und kommen daher, je nach Situation vor:
- Schema existiert bereits

Das bedeutet, dass das dbo Schema schon vorhanden ist und daher das auch im Backup enthaltene Schema nicht eingelesen wurde. Dieser Hinweis kann ignoriert werden.
- Benutzer xyz ist nicht vorhanden
Gerade beim Import von älteren Datenbanken kann diese Meldung, wenn du direkt von der Neu-Installation aus startest, vorkommen.
Von Kieselstein ERP werden nur die Benutzer postgres und hvguest verwendet. Diese werden auch bei der Neuinstallation automatisch entsprechend eingerichtet. Alle anderen sind für das normale Funktionieren nicht erforderlich. Es kann aber durchaus Installationen geben, bei denen es z.B. einen speziellen Benutzer gibt, mit dem von extern Veränderungen an deiner Datenbank vorgenommen werden. Du musst grundsätzlich wissen, welche Zusatzdienste hier laufen und unter welchen Benutzern.
Ein gerne gemachter Fehler ist, dass eine komplette Neuinstallation gemacht wird und dann die Backupdatei in die bestehende KIESELSTEIN restored wird. Dies ist falsch. Es muss immer von einer neu angelegten Datenbank direkt in diese leere Datenbank restored werden.
3 - Installation Kieselstein ERP Server unter Debian mit Java11
Installation Kieselstein ERP Server unter Debian
Den Kieselstein ERP Server auf einem frischen Debian installieren.
Du kannst diese Anleitung auch für Ubuntu verwenden.
in DEUTSCH installieren
Default MUSS das Betriebssystem in de (deutsch) installiert sein und in der richtigen Timezone. Alles andere artet in Arbeit aus.
Dauer ca. 30 Minuten
Beachte:
Du bist entweder root, oder mit sudo -s zum root werden.
SSH-Server einrichten
OpenSSH Server installieren
apt update
apt upgrade
apt install openssh-server
Eigene IP Adresse
liefert die eigene IP-Adresse
Datenbank
Installation
apt-get install wget sudo curl gnupg2
sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
apt-get install postgresql-15
Anmerkung:
Unter Ubuntu steht nur mehr die postgresql-16 zur Verfügung.
apt-get install postgresql-16
Konfiguration anpassen
Mit vi oder anderen Texteditor öffnen.
vi /etc/postgresql/15/main/postgresql.conf
Hier müssen das Datums-Format und die Zeitzone umgestellt werden.
datestyle = 'iso, dmy'
timezone = 'Europe/Vienna'
# Auf die Timezone achten. Diese muss auf ‘Europe/Vienna’ (bzw. Berlin gerne auch Zuerich) stehen
Zugriffskonfiguration
Sollte ein Zugriff von einem anderen System auf die Datenbank notwendig sein, muss hier auch der listen_addresses Wert
gesetzt werden (auf * für alle, bzw. die IP-Adressen, welche unbedingt Zugriff auf die Datenbank brauchen).
Gegebenenfalls auch den Zugriff von außen einrichten. D.h.:
- Einrichten mit User postgres, PW: postgres
- Ergänzen der /etc/postgresql/15/main/pg_hba.conf
host all all 127.0.0.1/32 scram-sha-256
host all all 192.168.xx.0/24
Prüfen ob die Datenbank läuft:
systemctl is-enabled postgresql
systemctl status postgresql
Datenbank-Passwort setzen
Datenbank öffnen
Passwort für den Datenbankbenutzer setzen:
ALTER USER postgres WITH PASSWORD '<Sicheres Passwort>';
exit
Hinweis: Es sollte ein sicheres Passwort verwendet werden, welches über einen Passwort-Generator erstellt wurde (Achtung das Passwort wird hier in folgenden Schritten noch benötigt!).
Für eine default Installation verwende als Passwort postgres.
Dieses ist in den standard Installationsscripten verwendet.
Wenn du das Passwort der Postgresinstallation ändern willst, beachte dass da dafür dann auch die Environment-Variable MAIN_DB_PASS und DOC_DB_PASS entsprechend setzen musst. Siehe dazu auch das unter LW:\kieselstein\dist\bin\launch-kieselstein-main-server.bat geschriebene.
Java installieren
Download der Java Version:
wget https://cdn.azul.com/zulu/bin/zulu11.74.15-ca-fx-jdk11.0.24-linux_amd64.deb
Alternativ kann der Download auch über die Azul-Seite erfolgen.
Siehe hierfür auch Java-Version.
Installation der Java Version:
Den folgenden Befehl im Download-Verzeichnis der Java-Version ausführen.
apt install ./zulu11.74.15-ca-fx-jdk11.0.24-linux_amd64.deb
Installation überprüfen:
Alternative Java Installation
www.azul.com, klick auf Downloads
runterscrollen und Java11 LTS, Debian, x86 64.bit, JDK FX auswählen
-
.deb herunterladen
nur Java FX verwenden
WICHTIG: Achte darauf, das Java FX auszuwählen. Alle anderen werden immer wieder mal Abstürzen.
-
Terminal öffen,
-
su - root
-
auf das home des herunterladenden Users wechseln und ins Downloads, z.B. /home/keg/Downloads
-
apt install ./zulu11.80.21-ca-fx-jdk11.0.27-linux_amd64.deb
-
danach mit java -version überprüfen
Installation Liquibase
Siehe bitte
Schriften Installieren
Damit die Reports funktionieren, muss die Schriftart Arial installiert werden.
Dies kann unter Linux so durchgeführt werden.
wget http://ftp.de.debian.org/debian/pool/contrib/m/msttcorefonts/ttf-mscorefonts-installer_3.8_all.deb
apt install ./ttf-mscorefonts-installer_3.8_all.deb
Kommt beim Drucken die Meldung
Schriftart ’null’ am Server nicht verfügbar, so müssen die in den Reports verwendeten Schriften noch installiert werden.
Üblicherweise wird von Kieselstein ERP die Schriftart Arial verwendet. D.h. diese nachinstallieren. Dazu:
- herunterladen installationspaket: ttf-mscorefonts-installer_3.8_all.deb -> Download erlauben
- in das Downloadverzeichnis wechseln
- als su - root
apt install ./ttf-mscorefonts-installer_3.8_all.deb
lädt ein Menge Dateien von sourceforge herunter.
Am besten danach den Server neu starten (shutdown -r now)
Umgebungsvariablen setzen
Mit vi oder nano oder anderem Texteditor öffnen.
Wichtig! Die Umgebungsvariablen müssen OHNE export hinzugefügt werden.
- JAVA_HOME=/usr/lib/jvm/zulu-fx-11-amd64
- KIESELSTEIN_DIST=/opt/kieselstein/dist
- KIESELSTEIN_DATA=/opt/kieselstein/data
- MAIN_DB_PASS=(Sicheres Passwort welches für den Datenbank-Benutzer verwendet wurde)
- DOC_DB_PASS=(Sicheres Passwort welches für den Datenbank-Benutzer verwendet wurde)
Optional kann auch die KIESELSTEIN_WILDFLY_CONFIG Umgebungsvariable gesetzt werden.
Wichtig ist dabei das die Variable keine anderen Variablen beinhalten darf.
Bsp: KIESELSTEIN_WILDFLY_CONFIG=/opt/kieselstein/data/wildfly
Es müssen dann noch einmalig folgende files vom wildfly ordner in den KIESELSTEIN_WILDFLY_CONFIG kopiert werden.
/opt/kieselstein/dist/wildfly-26.1.2.Final/standalone/configuration/
- application-roles.properties
- application-users.properties
- mgmt-groups.properties
- mgmt-users.properties
Danach noch einen Applikations-User mit /opt/kieselstein/dist/wildfly-26.1.2.Final/bin/add-user.sh hinzufügen.
oder Server Neustarten
Installation Kieselstein ERP, Version (aktuelle Version):
Verzeichnisse anlegen:
mkdir /opt/kieselstein
mkdir /opt/kieselstein/dist
mkdir /opt/kieselstein/data
Herunterladen aktuelle Kieselstein ERP Version
Siehe auch
Dist-Paket über die bestehende Installation entpacken (In der Windows Eingabeaufforderung cmd.exe)
Beispiel:
# Beispiel für Download des Dist-Pakets.
wget https://gitlab.com/kieselstein-erp/sources/kieselstein/-/jobs/7650408929/artifacts/raw/kieselstein-distpack/build/distributions/kieselstein-distpack-1.0.0-rc.1.tar.gz
# Beispiel für das Entpacken des Dist-Packets.
tar -xvf ./kieselstein-distpack-1.0.0-rc.1.tar.gz -C /opt/kieselstein
Datenbank Initialisieren
cd /opt/kieselstein/dist/bootstrap/liquibase/
./createdb.sh
Hier muss dann 4x das Passwort für den Postgres-Benutzer eingegeben werden.
Danach auch die default Datenbank auf den aktuellen Stand deines Kieselstein Servers heben.
Einrichten des Dienstes und starten des Servers
cd /opt/kieselstein/dist/bootstrap/service/linux
./install-kieselstein-services.sh
ausführen. Damit wird auch systemctl start kieselstein-main-server.service gestartet.
ACHTUNG: Es muss dafür das environment gesetzt worden sein
WildFly user hinzufügen
Wird für BasicAuth bei EDIFACT und CLEVERCURE benötigt.
KIESELSTEIN_DATA/wildfly Ordner erstellen und die folgenden Dateien aus KIESELSTEIN_DIST/wildfly-26.1.2.Final/standalone/configuration hineinkopieren.
- application-roles.properties
- application-users.properties
- mgmt-groups.properties
- mgmt-users.properties
NGINX Webserver (Optional)
Sollte für die REST-Schnittstelle ein eigener Port notwendig sein. Damit der Zugriff zum Beispiel über das Internet zur Verfügung gestellt werden kann oder bestehende Zeiterfassung-Terminals oder andere Anwendungen bereits den Port: 8280 verwenden kann ein Nginx-Webserver als Proxy hierfür installiert werden.
# Nginx-Webserver installieren:
apt install nginx
# Konfiguration für Kieselstein verlinken:
ln -s /opt/kieselstein/dist/bootstrap/nginx/kieselstein.conf /etc/nginx/sites-enabled/kieselstein-main.cfg
# Testen, ob die Konfiguration gültig ist:
nginx -t
# Nginx-Webserver Dienst neustarten
systemctl restart nginx
Für das Freischalten im Internet sollte auf jeden Fall ein SSL-Zertifikat noch hinterlegt werden (siehe hier auch Configuring HTTPS servers bzw. Nginx-Webserver)
Zum Überpüfen, ob der Nginx funktioniert und mit dem Kieselstein kommuniziert, kann die Url:
http://(Name oder IP-Adresse des Servers):8280/kieselstein-rest/services/rest/api/v1/system/ping
aufgerufen werden.
läuft der Server ?
bewährt hat sich das Laufen des Servers in folgender Reihenfolge zu prüfen:
- /opt/kieselstein/dist/wildfly-26.1.2.Final/standalone/deployments/
Hier müssen für alle drei Dateien auch .deployed Dateien stehen
- Prüfen, ob die RestAPI geht:
einen Browser starten, http://localhost:8080/kieselstein-rest-docs/ muss die Restapi Dokumentation bringen.
Bzw. auch mit dem Nginx-Port http://localhost:8280/kieselstein-rest-docs/ aufrufen (falls Nginx-Installiert wurde).
- Client starten und mit Admin, admin anmelden.
weiters zu tun
- Backup einrichten
- Einrichten der Zugriffe von anderen Rechner aus.
Praktische Werkzeuge
Midnight Commander
Ein praktisches Werkzeug ist auch der Midnight Commander.
DoubleCommander
Die Alternative dazu DoubleCommander
sudo apt install doublecmd-gtk
danach mit doublecmd starten
gedit
Natürlich kann man die Dateien mit dem Nano bearbeiten. Praktischer ist jedoch der gedit.
Anmelden und als root arbeiten
Da üblicherweise kein root installiert wird, man aber die Rechte braucht, einfach mit su root und dem eigenen PW anmelden.
Wichtig
Riesenunterschied zwischen su root der hat nur normalen User context und
su - root
Liefert auch Zugriff auf Programme die echte Root Privilegien erfordern. Z.B. das update-grub
IP Adresse des Rechners
Zur Verfügungstellung des Clients
- nach /opt/kieselstein/dist/clients wechseln
- su - root
- tar -xvf ./kieselstein-client-1.1.9.tar.gz
Liefert dir im aktuellen Client-Versionsverzeichnis die bin und die lib.
Hier nun noch die beiden Start-Dateien anpassen.
Log-Dateien
Da man doch immer wieder sucht, wo denn die verschiedenen Log-Dateien zu finden sind
| Was |
Wo |
Bemerkung |
| PostgresQL |
/var/log/postgresql |
üblicherweise rollierend für eine Woche |
4 - Installation Kieselstein ERP Server unter Ubuntu
Installation Kieselstein ERP Server unter Ubuntu
Hier kommen die eventuellen Besonderheiten zu einer Ubuntu Installation rein. Aktuell bitte wie unter Debian beschrieben vorgehen.
www.azul.com/downloads/ … damit die Werbung nicht kommt
wenn apt nicht gegangen, weil z.B. zu wenig Rechte dann apt reinstall usw.
apt install postgresql holt die aktuellste Postgresversion derzeit 16
ACHTUNG: Installiert OHNE Passwort. daher
su postgres
psql
damit bist du im Scripteditor commander
nun
Ubuntu Version lsb_release -a
su postgres -> der Sudo geht irgendwie nicht
Mit sudo su kannst du auch root-Rechte bekommen.
Anmerkung:
Wenn das Kopieren per Fernwartung nicht geht, dann über den Firefox auf die docs.kieselstein-erp.org gehen und von dort die Kommandos herauskopieren. Im Ubuntu dann mit rechter Maustaste in den Eingabefeldern einfügen.
Je nach Maschine für das filldb sich etwas gedulden. Das kann dauern.
export KIESELSTEIN_JAVA_OPT_XMX=5G
export KIESELSTEIN_JAVA_OPT_XMS=512m
reboot … = shutdown -r now
pg_hba.conf … /etc/posgresql/16/main/ph_hba.conf
postgresql.conf … /etc/posgresql/16/main/postgresql.conf
firewall freischalten
sudo ufw enable … aktiviert die Firewall (default)
sudo ufw disable … deaktiviert die Firewall und erlaubt damit den Zugriff über alle Ports (z.B. pgadmin von außen)
5 - Installation Kieselstein ERP Server unter Windows(r)
Installation Kieselstein ERP Server unter Windows(r)
Hier findest du ergänzende Punkte zur Installation unter Windows. Die Standard-Installation ist im Hauptkapitel beschrieben.
Firewall
Nach der Installation und dem erfolgreichen Test daran denken, dass in der Regel, zumindest für den Port 8080.


8280 wenn auch die Rest-API verwendet werden sollte (Ab der Version 1.x.x nicht mehr erforderlich)
5432 wenn auch von innerhalb des Netzwerkes auf den PostgresQL zugegriffen werden sollte.
ACHTUNG: Sicherheit!!
Der Server startet nicht
Im Deploymentsverzeichnis (LW:\Kieselstein\dist\wildfly-26.1.2.Final\standalone\deployments) steht kieselstein-0.0.11.ear.failed.
Ev. auch nur jackrabbit-jca-1.5.7.rar.failed.
So kann man in den beiden Dateien nachsehen.
Effizienter ist vermutlich in der LW:\Kieselstein\dist\wildfly-26.1.2.Final\standalone\log\server.log nachzusehen.
Dafür zuerst das log Verzeichnis löschen um nur die aktuellsten Einträge zu bekommen und dann den Server erneut starten, bis wiederum im Deploymentsverzeichnis das failed kommt.
Nun sucht man in der server.log am besten von oben nach dem ersten Eintrag mit Error. Meist findet man einen Eintrag wie z.B.:
2023-09-22 17:15:23,014 ERROR [org.apache.jackrabbit.core.fs.db.DatabaseFileSystem] (MSC service thread 1-3) failed to initialize file system: org.postgresql.util.PSQLException: FATAL: Passwort-Authentifizierung f�r Benutzer �postgres� fehlgeschlagen
Dies bedeutet, dass der Applikationsserver sich nicht an der Datenbank anmelden konnte.
Versuche nun dich mittels PGAdmin auf der Datenbank mit postgres, postgres anzumelden.
Ist dies nicht möglich, stimmt das Passwort der Datenbank nicht. Eventuell wurde bei der Installation des Postgresservers ein falsches oder kein Passwort vergeben. D.h. es muss das Passwort geändert werden. Wenn du das andere(falsche) Passwort kennst, melde dich mit diesem an und ändere das Passwort. Wenn du dieses nicht kennst, muss zuerst der Zugang zum PostgresQL-Server, auf dem Rechner, auf dem dieser läuft, so freigeschaltet werden, dass du dich auch ohne Passwort anmelden kannst. Dafür muss die pg_hba.conf angepasst werden. Diese findest du unter “LW:\Program Files\PostgreSQL\14\data".
Ergänze diese nun abhängig von deiner IP-Konfiguration um
- host all all 127.0.0.1/32 trust (IP V4)
- host all all ::1/128 trust (IP V6) Wir raten für die Zugriffe innerhalb des eigenen Netzerkes generell nur IP V4 zu verwenden. Etwas anderes wären die Zugriffe ins www.
Nun muss der postgresql Dienst neu gestartet werden.
Wechsle nun als Administrator nach LW:\Program Files\PostgreSQL\14\bin
und rufe psql.exe -U postgres auf
Nun mit
\password postgres
das Passwort auf postgres setzen und dann mit
\q
Das Programm wieder verlassen.
Nun musst du dich auch im PGAdmin mit dem Passwort anmelden können.
Bitte beachte, dass ab PostgresQL 15 der PGAdmin 7 zum Einsatz kommen sollte.
Info:
Bei der Modifikation der pg_hba.conf auf IP V4 bzw. IP V6 achten! Kommt
psql: Fehler: Verbindung zum Server auf »localhost« (::1)
So fehlt der passende Eintrag in der pg_hba.conf
Info:
Nach diesen Änderungen empfiehlt sich auch die Verzeichnisse log, tmp, data aus dem standalone (LW:\kieselstein\dist\wildfly-26.1.2.Final\standalone) zu löschen, damit die ganzen falschen Einträge weg sind.
Setzen Environmentvariable
- path Erweiterung auf Postgres “LW:\Program Files\pgAdmin 4\v6\runtime”
- KIESELSTEIN_DIST=LW:\kieselstein\dist
- KIESELSTEIN_DATA=LW:\kieselstein\data
- MAIN_DB_PASS=(Das oben definierte Datenbank-Passwort)
- DOC_DB_PASS=(Das oben definierte Datenbank-Passwort)
Optional kann auch die KIESELSTEIN_WILDFLY_CONFIG Umgebungsvariable gesetzt werden.
Wichtig ist dabei das die Variable keine anderen Variablen beinhalten darf.
Bsp: KIESELSTEIN_WILDFLY_CONFIG=LW:\kieselstein\data\wildfly
Es müssen dann noch einmalig folgende files vom wildfly ordner in den KIESELSTEIN_WILDFLY_CONFIG kopiert werden.
LW:\kieselstein\dist\wildfly-26.1.2.Final\standalone\configuration
- application-roles.properties
- application-users.properties
- mgmt-groups.properties
- mgmt-users.properties
Danach noch einen Applikations-User mit \opt\kieselstein\dist\wildfly-26.1.2.Final\bin\add-user.bat hinzufügen.
Es gibt noch weitere optionale Environment-Variablen welche in der README.md Datei bei den Start-Scripten (im KIESELSTEIN_DIST/bin/) beschrieben sind.

Achtung: Damit die Umgebungsvariablen für den Kieselstein-Dienst funktionieren, müssen diese als Systemvariablen hinterlegt werden.
5.1 - Update Kieselstein ERP Server von Version 0.2.x auf 1.x.x unter Windows
Migration von Kieselstein Version 0.2.x auf 1.x.x mit Java-11 Installation unter Windows.
Wenn eine bestehende Kieselstein Installation mit der Version 0.2.x vorhanden ist, können folgende Schritte für das Update auf Version 1.x.x durchgeführt werden.
Kieselstein Dienste deaktivieren
Dienste beenden
- Beide Kieselstein Dienste (Kieselstein Main Server & Kieselstein REST Server) beenden

- nun die Dienste deinstallieren, also:
LW:\kieselstein\dist\bootstrap\service\windows\delete-kieselstein-services.bat
Backup des Kieselstein Dist-Verzeichnis erstellen
Das aktuell installierte Kieselstein in ein eigenes Verzeichnis mit der aktuellen Versionsnummer im Namen wegsichern.
Beispiel: LW:\kieselstein\dist auf LW:\kieselstein\dist.1.0.26 umbenennen
Neues Java Installieren
-
Azul Java 11 mit FX installieren Siehe hierfür auch Java-Version.
-
darauf achten, dass Java Home gesetzt wird

-
Prüfen, dass Java auch installiert wurde durch Command Shell,

Altes Java Deinstallieren (optional)
Über “Programme hinzufügen oder entfernen” nach JDK Suchen und die Java 8 Version deinstallieren.

Achtung: Diesen Schritt nur durchführen, wenn auf dem Server sicher keine andere Anwendung mehr das Java 8 JDK benötigt!
Auf jeden Fall ist sicherzustellen, dass die JAVA_HOME Variable auf das Neue JDK 11 gesetzt wurde:

Nicht mehr benötigte Anwendungen entfernen
Bestehende Kieselstein Dienste deinstallieren
Dafür das Skript LW:\kieselstein\dist\bootstrap\service\windows\delete-kieselstein-services.bat mit Administrator Rechten ausführen.
Reports sichern
Damit die Anwender-Reports nach dem Update wieder zur Verfügung stehen, muss der Reports-Ordner in ein neues Verzeichnis kopiert werden.
Hier muss der bestehende LW:\kieselstein\dist\wildfly-12.0.0.Final\server\helium\report nach LW:\kieselstein\dist\wildfly-26.1.2.Final\kieselstein\reports kopiert werden.
WICHTIG: Dies muss vor dem Entpacken des neuen Dist-Packets erfolgen, damit neuere Versionen der Standard-Reports richtig nachgezogen werden.
ACHTUNG
Obige Beschreibung gilt nur für die 1.0.x VOR der 1.0.3. Ab der 1.0.3 ist auch die Verlagerung der Anwenderreprots nach LW:\kieselstein\data\reports gegeben. Für Details dazu siehe bitte( /docs/installation/10_reportgenerator/anwenderreports/ )
ACHTUNG: Die Definitionen für dein JasperStudio entsprechend übertragen und auch die Einstellungen im Jasper Studio entsprechend anpassen.
Dies idealerweise, bevor du die nachfolgenden Verzeichnisse löschst.
- In Jasperstudio direkt.
Eigenschaften des Projekts auf den neuen Pfad ändern.
Z.B. von …LW:\kieselstein\dist\wildfly-12.0.0.Final\server\helium\report auf LW:\kieselstein\data\reports zu ändern.
Denke auch daran dass die .classpath entsprechend anzupassen ist
und denke an die Verlagerung der .settings, bin und an das Neu-Schreiben des .projects für JasperStudio.
Im Verzeichnis bin solltest du auch die aktuelle kieselstein-ejb-1.0.26.jar anstatt der bisherigen ejb.jar verwenden.
Alte Programmdateien löschen
Folgende Ordner können nun komplett gelöscht werden:
- LW:\kieselstein\dist\apache-tomcat-8.5.93
- LW:\kieselstein\dist\bin
- LW:\kieselstein\dist\bootstrap
- LW:\kieselstein\dist\service
- LW:\kieselstein\dist\wildfly-12.0.0.Final
Installation Kieselstein ERP, Version (aktuelle Version):
Herunterladen aktuelle Kieselstein ERP Version
TODO Referenz auf die richtige Version setzen.
Siehe auch
Dist-Paket über die bestehende Installation entpacken (In der Windows Eingabeaufforderung cmd.exe)
Beispiel
tar -xvf <pfad-zum-dist-packet>.gz -C LW:\kieselstein\
Datenbank Updaten
In der Command Shell in das Verzeichnis navigieren und mit liquibase den update Befehl durchführen:
cd LW:\kieselstein\dist\bootstrap\liquibase
run-liquibase.bat update
Hinweis: Wenn die bestehende Kieselstein Version kleiner als 0.0.13 ist:
Dann muss dem Liquibase noch mitgeteilt werden, dass es bereit die Grund-Datenstruktur gibt,
somit muss vor dem Befehl run-liquibase.bat update noch folgender Befehl aufgerufen werden:
run-liquibase.bat changelog-sync --label-filter="0.0.12"
Einrichten des Dienstes und starten des Servers
Mit Administrationsrechten das Install-Script LW:\kieselstein\dist\bootstrap\service\windows\install-kieselstein-services.bat ausführen.
NGINX Webserver (Optional)
Die Kieselstein-REST Schnittstelle wurde mit dem Update in den Wildfly integriert und ist somit auch über den Port: 8080 erreichbar.
Sollte es notwendig sein, dass diese wie bisher über den Port 8280 erreichbar ist, kann hier ein Nginx-Webserver als Proxy vorgeschaltet werden (Siehe NGINX Webserver)
läuft der Server?
Siehe Läuft der Server
Es hat sich bewährt nach einem Update, insbesondere nach dem Wechsel der Java Version, den Server manuell zu starten. D.h. mit administrativen Rechten das
LW:\kieselstein\dist\bin\launch-kieselstein-main-server.bat
auszuführen.
Beobachte hier die Ausgabe der Console. Erscheint hier:
2024-09-19 10:58:50,075 ERROR [org.jboss.msc.service.fail] (ServerService Thread Pool -- 82) MSC000001: Failed to start service jboss.ra.deployer."jackrabbit-jca-2.22.0.rar": org.jboss.msc.service.StartException in service jboss.ra.deployer."jackrabbit-jca-2.22.0.rar": WFLYJCA0046: Failed to start RA deployment [jackrabbit-jca-2.22.0.rar]
at org.jboss.as.connector.services.resourceadapters.deployment.
...
Caused by: org.jboss.jca.deployers.common.DeployException: IJ020056: Deployment failed: jackrabbit-jca-2.22.0.rar
...
Caused by: java.lang.UnsupportedClassVersionError: Failed to link org/apache/jackrabbit/jca/JCAResourceAdapter (Module "deployment.jackrabbit-jca-2.22.0.rar" from Service Module Loader): org/apache/jackrabbit/jca/JCAResourceAdapter has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
this version of the Java Runtime only recognizes class file versions up to 52.0
so bedeutet dies, dass du vermutlich noch Java 8 auf deinem Server verwendest.
Gegebenenfalls willst du auf deinem Server, warum auch immer, auch noch Java 8 verwenden und hast daher beide Java Versionen installiert.
In diesem Falle muss das JAVA_HOME im Start-Batch
(LW:\kieselstein\dist\bin\launch-kieselstein-main-server.bat) gesetzt werden.
Z.B. schreibst du in Zeile 3 set JAVA_HOME=c:\Program Files\Zulu\zulu-11, also den Pfad auf dein Java 11 rein.
Hinweis:
Wir raten, insbesondere am Server nur eine Java Version zu verwenden.
Wir haben schon zu oft vermeintliche Fehler gesucht, die dann im Endeffekt die Ursache in einer falschen Javaversion hatten.
Dokumentendatenbank Workspace.xml anpassen
Wenn eine bestehende Dokumentendatenbank existiert, müssen hier folgende Parameter Werte (Achtung diese Werte sind 2x in der XML-Datei vorhanden) angepasst werden:
LW:\kieselstein\data\jackrabbit\workspaces\default\workspace.xml
- driver: javax.naming.InitialContext
- url: java:/JRDS
Und folgende Parameter können gelöscht werden:
Beispiel:
Alte XML-Datei
<?xml version="1.0" encoding="UTF-8"?>
<Workspace name="default">
<FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
<param name="driver" value="org.postgresql.Driver"/>
<param name="url" value="jdbc:postgresql://${org.kieselstein.db-doc.host}:${org.kieselstein.db-doc.port}/${org.kieselstein.db-doc.name}"/>
<param name="schema" value="postgresql"/>
<param name="user" value="postgres"/>
<param name="password" value="postgres"/>
<param name="schemaObjectPrefix" value="ws_"/>
</FileSystem>
<PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.PostgreSQLPersistenceManager">
<param name="driver" value="org.postgresql.Driver"/>
<param name="url" value="jdbc:postgresql://${org.kieselstein.db-doc.host}:${org.kieselstein.db-doc.port}/${org.kieselstein.db-doc.name}"/>
<param name="user" value="postgres"/>
<param name="password" value="postgres"/>
<param name="schema" value="postgresql"/>
<param name="schemaObjectPrefix" value="jcr_${wsp.name}_"/>
<param name="externalBLOBs" value="false"/>
</PersistenceManager>
<SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
<param name="path" value="${wsp.home}/index"/>
</SearchIndex>
</Workspace>
Neue XML-Datei:
<?xml version="1.0" encoding="UTF-8"?><Workspace name="default">
<FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
<param name="driver" value="javax.naming.InitialContext"/>
<param name="url" value="java:/JRDS"/>
<param name="schema" value="postgresql"/>
<param name="schemaObjectPrefix" value="ws_"/>
</FileSystem>
<PersistenceManager class="org.apache.jackrabbit.core.persistence.pool.PostgreSQLPersistenceManager">
<param name="driver" value="javax.naming.InitialContext"/>
<param name="url" value="java:/JRDS"/>
<param name="schema" value="postgresql"/>
<param name="schemaObjectPrefix" value="jcr_${wsp.name}_"/>
<param name="externalBLOBs" value="false"/>
</PersistenceManager>
<SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
<param name="path" value="${wsp.home}/index"/>
</SearchIndex>
</Workspace>
weiters zu tun
- Clients Updaten (diese benötigen jetzt auch Java 11) siehe auch
- Wenn Nginx nicht installiert wurde bei allen Zeiterfassung-Terminals oder anderen Programmen, welche die REST-Schnittstelle verwenden, den Port auf 8080 ändern.
Empfehlung:
Insbesondere für die Tests in der ersten Zeit, sollte für ein eventuelles Fallback auf den Clients sowohl die Version für den Java 8 Server als auch für den Java 11 Server parallel vorgehalten werden. Damit man, im schlimmsten Falle, schnell auf die Vorgängerversion zurückwechseln kann.
6 - Installation Kieselstein ERP Server unter Windows Java11
Installation Kieselstein ERP Server unter Windows
Den Kieselstein ERP Server auf einem frischen Windows installieren.
Installation Datenbankserver
Es werden aktuell ausschließlich PostgresQL Version 14 und 15 unterstützt. MS-SQL wird nicht unterstützt. Für eine eventuelle Konvertierung deiner MS-SQL Datenbank wende dich bitte an die Kieselstein ERP eG. Neuere PostgresQL Versionen können funktionieren, sind aber aktuell von uns nicht freigegeben.
Bei der Installation darauf achten, dass nur PostgresSQL Server und die Command Line Tools installiert werden.

Bei der Installation muss auch das Passwort für den User Postgres angegeben werden.
Hinweis: Es sollte ein sicheres Passwort verwendet werden, welches über einen Passwort-Generator erstellt wurde (Achtung das Passwort wird hier in folgenden Schritten noch benötigt!).
Java installieren
- Azul Java 11 mit FX installieren Siehe hierfür auch Java-Version.
- darauf achten, dass Java Home gesetzt wird

- Prüfen, dass Java auch installiert wurde durch Command Shell,

Setzen Environmentvariable
- path Erweiterung auf Postgres “LW:\Program Files\pgAdmin 4\v6\runtime”
- KIESELSTEIN_DIST=LW:\kieselstein\dist
- KIESELSTEIN_DATA=LW:\kieselstein\data
- MAIN_DB_PASS=(Das oben definierte Datenbank-Passwort)
- DOC_DB_PASS=(Das oben definierte Datenbank-Passwort)
Optional kann auch die KIESELSTEIN_WILDFLY_CONFIG Umgebungsvariable gesetzt werden.
Wichtig ist dabei das die Variable keine anderen Variablen beinhalten darf.
Bsp: KIESELSTEIN_WILDFLY_CONFIG=LW:\kieselstein\data\wildfly
Es müssen dann noch einmalig folgende files vom wildfly ordner in den KIESELSTEIN_WILDFLY_CONFIG kopiert werden.
LW:\kieselstein\dist\wildfly-26.1.2.Final\standalone\configuration
- application-roles.properties
- application-users.properties
- mgmt-groups.properties
- mgmt-users.properties
Danach noch einen Applikations-User mit \opt\kieselstein\dist\wildfly-26.1.2.Final\bin\add-user.bat hinzufügen.
Es gibt noch weitere optionale Environment-Variablen welche in der README.md Datei bei den Start-Scripten (im KIESELSTEIN_DIST/bin/) beschrieben sind.

Achtung: Damit die Umgebungsvariablen für den Kieselstein-Dienst funktionieren, müssen diese als Systemvariablen hinterlegt werden.
Installation Liquibase
Siehe bitte
Installation Kieselstein ERP, Version (aktuelle Version):
Herunterladen aktuelle Kieselstein ERP Version
Siehe auch
Dist-Paket über die bestehende Installation entpacken (In der Windows Eingabeaufforderung cmd.exe)
Beispiel:
tar -xvf <pfad-zum-dist-packet>.gz -C LW:\kieselstein\
Datenbank Initialisieren
Die installierte LW:\kieselstein\dist\bootstrap\liquibase\createdb.bat ausführen.
Hier muss dann 4x das Passwort für den Postgres-Benutzer eingegeben werden.
In der Command Shell in das Verzeichnis navigieren und mit liquibase den update Befehl durchführen:
cd LW:\kieselstein\dist\bootstrap\liquibase
run-liquibase.bat update
Einrichten des Dienstes und starten des Servers
Mit Administrationsrechten das Install-Script LW:\kieselstein\dist\bootstrap\service\windows\install-kieselstein-services.bat ausführen.
NGINX Webserver (Optional)
Sollte für die REST-Schnittstelle ein eigener Port notwendig sein. Damit der Zugriff zum Beispiel über das Internet zur Verfügung gestellt werden kann oder bestehende Zeiterfassung-Terminals oder andere Anwendungen bereits den Port: 8280 verwenden, kann ein Nginx-Webserver als Proxy hierfür installiert werden.
Mit Administrationsrechten das Install-Script LW:\kieselstein\dist\bootstrap\service\windows\install-kieselstein-nginx-service.bat ausführen.
Für das Freischalten im Internet sollte auf jeden Fall ein SSL-Zertifikat noch hinterlegt werden (siehe hier auch Configuring HTTPS servers bzw. Nginx-Webserver)
Zum Überprüfen, ob der Nginx funktioniert und mit dem Kieselstein kommuniziert, kann die Url:
http://(Name oder IP-Adresse des Servers):8280/kieselstein-rest/services/rest/api/v1/system/ping
aufgerufen werden.
TODO Hinterfragen, ob die Config gleich ins richtige Verzeichnis vom Dist-Pack geladen werden kann oder ob das manuell gemacht werden muss.
läuft der Server?
bewährt hat sich, das Laufen des Servers in folgender Reihenfolge zu prüfen:
- LW:\kieselstein\dist\wildfly-26.1.2.Final\standalone\deployments/
Hier müssen für alle drei Dateien auch .deployed Dateien stehen
- Prüfen ob die RestAPI geht:
einen Browser starten, http://localhost:8080/kieselstein-rest-docs/ muss die Restapi Dokumentation bringen.
Bzw. auch mit dem Nginx-Port http://localhost:8280/kieselstein-rest-docs/ aufrufen (falls Nginx-Installiert wurde).
- Client starten und mit Admin, admin anmelden.
weiters zu tun
- Backup einrichten
- Einrichten der Zugriffe von anderen Rechner aus.
Server startet nicht, was tun?
Wenn du Daten von anderen Installationen übernimmst, muss beim ersten Start deines Servers der Index der Dokumentendatenbank neu aufgebaut werden. Dies wird grundsätzlich vom Server unterstützt. Es kann aber unter Umständen so lange dauern, dass der Server von sich aus abbricht.
D.h. gegebenenfalls den Server mehrfach starten und oder zusätzlich das Timeout temporär höher drehen. D.h. im launch-kieselstein-main-server(.bat)
Linux (ca Zeile 60)
MAIN_SERVER_OPTS="${MAIN_SERVER_OPTS} -Djboss.as.management.blocking.timeout=3600"
Windows (ca Zeile 90)
set MAIN_SERVER_OPTS=%MAIN_SERVER_OPTS% -Djboss.as.management.blocking.timeout=3600
hinzufügen. Erhöht das Timeout auf eine Stunde.
Server manuell stoppen / starten
Manchmal hat man in Windowsumgebungen das Problem, dass über die Dienste-Konsole der Kieselstein Service nicht endgültig gestoppt werden kann.
Mit den nötigen Administrator Rechten kann mit
net stop "Kieselstein Main Server"
Der Dienst gestoppt werden.
7 - Installation Kieselstein ERP Server unter macOS
Installation Kieselstein ERP Server unter macOS
Hier findest du nur in textlicher Form zusammengestellt, wie eine erste Installation unter MacOS erfolgen könnte.
Wir freuen uns, wenn ein entsprechender Profi, diese Beschreibung ergänzt.
Diese Installation baut auf der Kieselstein ERP Version 1.0.1 auf.
Wir haben auch einige Hintes für die Anwender anderer Betriebssysteme mit dazugegeben.
Wenn man im Finder verschiedene Devices usw. nicht findet, dann am Desktop auf
Gehe Zu (Computer) und dann dieses Device links reinziehen. Ab dem Zeitpunkt ist es da.
Ab OS X Version 8? steht der Launcher zum Starten der Dienste zur Verfügung
launchctl start/stop (dienst)
mit list sieht man alle Dienste und die die eine PID haben laufen
find / -name xxx*.* findet alle Dateien ab Root
Rechtsklick mit der Maus bringt Einsetzen (aus der Zwischenablage)
prüfen welche Prozesse laufen
- ps aux | grep postgres
- Programme, Dienstprogramm, Aktivitätsanzeige
ev. aus dem /Library das Postgres komplett entfernen
wo bin ich?
mit pwd bekommt man den aktuellen Pfad im Terminal, auf dem man steht
Downloads
idealerweise die Downloads über den Finder aus dem Download Verzeichnis starten
IP Adresse: ifconfig
Root user
Den Root User gibt es nicht wirklich, aber
sudo -s eigenes Password -> damit ich ausreichend Rechte habe
Postgres deinstallieren
??? open /Library/PostgreSQL/Version/uninstall-postgresql.app/Contents/MacOS/installbuilder.sh
Sollte die Deinstallation nicht gehen, das Verzeichnis entfernen. Ev. dazu über Dienstprogramme, Aktivitäten den laufenden Prozess killen.
Postgres 15 installieren
- Bin als Administrator / mit administrativen Rechten angemeldet
- Download PostgresVersion 15.x
- dmg Datei aus Download öffnen und installieren. Auf den Port und das PW achten
- Pfad: /Library/PostgreSQL/15
ohne Stack Builder aber mit pgAdmin 4
Nach der Installation von PostgreSQL 15 findest du diesen direkt im Finder
Anpassen der Konfiguration
Je nach MAC Version und Postgresversion musst du die pg_hba.conf und die postgresql.conf anpassen. Siehe
Download Kieselstein ERP
von GitLab anscheinend nur mit Safari
Download Java11
Java11 auf die richtige Architektur achten (X64 oder ARM) JDK FX !!
altes / falsches Java deinstallieren
Java deinstallieren (laut Oracle)
- Klicken Sie im Dock auf das Finder-Symbol.
- Klicken Sie auf den Ordner Utilities
- Doppelklicken Sie auf das Terminal-Symbol
- Kopieren und fügen Sie die folgenden Befehle im Terminalfenster ein:
sudo rm -fr /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin
sudo rm -fr /Library/PreferencePanes/JavaControlPanel.prefPane
sudo rm -fr ~/Library/Application\ Support/Oracle/Java
Versuchen Sie nicht, Java zu deinstallieren, indem Sie die Java-Tools aus /usr/bin entfernen. Dieses Verzeichnis ist Teil der Systemsoftware. Änderungen werden von Apple zurückgesetzt, wenn Sie das nächste Mal ein BS-Update durchführen.
Verzeichnisse löschen mit File-Inhalten
rm -r Path
Kieselstein installieren
- /opt/kieselstein anlegen
- cd /opt
- mkdir kieselstein
- cd kieselstein
ins download wechseln, z.B. Finder und das .tar mittels Doppelklick entpacken
Das Dist kopieren und in der Hauptmenüleiste (ganz oben) mit Gehe Zu auf /opt/kieselstein wechseln und dort einsetzen (dorthin kopieren)
Environment-Variablen
Nun die Environmentvariablen anlegen / ergänzen
Laut einigen Beschreibungen sind diese für alle User auf
/etc/bashrc … das File gegebenenfalls mit Nano anlegen
export PATH=$PATH:/Library/PostgreSQL/15/bin
export KIESELSTEIN_DATA=/opt/kieselstein/data/
export KIESELSTEIN_DIST=/opt/kieselstein/dist/
Terminal neu starten
ev. mit printenv die ganzen environment variablen prüfen
ABER
Es müssen diese auf meinen Mac in die bash-profile. Also:
- ~/.bash-profile eingeben. Damit findet man auch wo das File ist und dann ergänzen
mit Export, so wie oben beschrieben und wichtig danach
mit source ~/.bash-profile aktivieren
liquibase
herunterladen und installieren. Landet auf /usr/local/opt/liquibase
Datenbank einrichten
- Terminal neu starten
- im Terminal nun auf /opt/kieselstein/dist/bootstrap/liquibase wechseln
- createdb.sh ausführen und 4x pw eingeben
- dann aus dem Verzeichnis das ./liquibase.sh ausführen
Es dürfen keine Fehler kommen und es müssen 18 oder mehr updates ausgeführt angezeigt werden
Client am gleichen MAC starten
Im Finder aus /opt/kieselstein/dist/clients, das Kieselstein-client…tar mit Rechtsklick und Archivierungsprogramm öffnen. Damit bekommst du das in das clients mit den Unterverzeichnissen bin und lib
Wenn mehrfach verteilt werden sollte, die kieselstein-client.sh die IP Adresse anpassen
Nun den KES Server starten
auf /opt/kieselstein/dist/bin wechseln
und launch-kieselstein-main-server.sh
mit gehe zu auf deployment wechseln und prüfen ob startet
Nun den Client starten.
Um das aus dem Finder zu starten, musste du die Sicherheitseinstellungen erweitern
D.h. Öffnen einer App durch Aussetzen der Sicherheitseinstellungen
- Suche im Finder auf deinem Mac nach der App, die du öffnen möchtest.
- Klicke bei gedrückter Taste „ctrl“ auf das Symbol der App und wähle „Öffnen“ aus dem Kontextmenü aus.
- Klicke auf „Öffnen“.
- Die App wird als Ausnahme zu deinen Sicherheitseinstellungen gesichert, sodass du sie künftig wie jede autorisierte App durch Doppelklicken öffnen kannst.
ToDos
zu klären sind noch folgende Dinge
- a.) wie den Dienst am MAC einrichten
- b.) wie das Desktop Icon einrichten
Zusatz-Infos
- Arbeitet man nicht auf einer echten MAC Tastatur sondern auf einer PC-USB Tastatur
8 - Update
Muss ich regelmäßig updaten und wenn ja, was?
Für die Beschreibung des Server-Updates deiner Kieselstein ERP Installation siehe die betriebssystemspezifischen Updates in den Unterkapiteln
Allgemeine Punkte zum Thema Updaten / Aktualisieren
Da wir in der Praxis durchaus auch erleben, dass einfach ohne jegliche Notwendigkeit Updates eingespielt werden, hier unsere Gedanken und Informationen dazu.
Wir gehen hier davon aus, dass dein Kieselstein ERP-Server in einem sicheren Netzwerk betrieben wird.
Die nachfolgenden Infos sind für Server, die vorne an der Front (= WorldWideWeb) stehen, wie z.B. WebServer, nicht zutreffend.
-
Wozu muss aktualisiert werden? Gibt es einen wichtigen Grund?
Nur dann sollte ein Update eingespielt werden.
Es gilt der alte Grundsatz, never touch a running system!
Wir können dies nur bestätigen.
-
Die Kieselstein ERP eG mit Ihren Consultants sind KEINE IT-Betreuer.
Bitte suche dir einen sehr guten IT-Betreuer. Der auch etwas von IT-Infrastruktur versteht und auch weiß, warum man mechanisch getrennte Backups braucht.
-
Welchen Wert hat dein ERP System für dein Unternehmen?
Welche Dinge werden passieren, wenn dein ERP nicht verfügbar ist?
- ich weiß nicht was ich heute produzieren sollte
- ich weiß nicht welche Waren ich einkaufen sollte
- ich kann keinen Kunden anrufen und ihm erklären, dass er seine Lieferung später bekommt
- ich habe keine Zeiterfassung meiner Mitarbeiter:innen und auch nicht meiner Maschinen
- das kann man noch lange fortsetzen
Wenn nun durch die, bei manchen Menschen ausgeprägte Update-Manie, täglich / wöchentlich neue Versionen in das Live-System eingespielt werden, das oft noch ohne ein qualifiziertes Backup / Fallback zu haben, dein ERP System, warum auch immer, nicht mehr funktioniert, so können wir von der Kieselstein ERP eG dazu nur sagen, Pech gehabt. Hoffentlich etwas dazu gelernt.
Unsere Techniker:innen sind Programmierer oder Consultants, aber keine IT-Leute die sich mit Servern und PC’s mehr als notwendig herum ärgern.
Wie alt darf meine Kieselstein ERP Installation sein
Dafür gibt es mehrere Dinge zu beachten.
Wenn deine Installation zu deiner / eurer Zufriedenheit läuft, keine gesetzlichen Änderungen anstehen usw. besteht kein Grund ein Update durchzuführen. Bedenke dabei, dass sich die IT-Welt immer schneller weiterentwickelt. So kann es durchaus sein, dass ein Betriebssystemupdate auch ein Update deines Kieselstein ERP erzwingt. Plane solche Dinge langfristig.
Macht aber deine Installation Problem, so stelle bitte sicher, dass du die aktuelle Kieselstein ERP Version im Einsatz hast. Technische Änderungen werden nur aufbauend auf der aktuellen Version durchgeführt. Sollten mit der aktuellen Version Probleme / Wünsche gegeben sein, so beachte dazu auch das unter Supportanfrage geschriebene.
Richtige Update-Vorgehensweise
- Ist das Update wirklich notwendig
- erstelle ein vollwertiges Backup. Du musst im Falle des Falles auf diesen Stand zurückstellen können.
Manche unserer Mitglieder machen das in dem Sinne, dass die VM (virtuelle Maschine) des Echtsystems gesichert und kopiert wird. Beachte dazu das Thema vollwertige Sicherung einer VM mit der PostgresQL!
Nun können am Echtsystem die Updates durchgeführt werden. Sollten sich Probleme herausstellen, kann man auf die qualifizierte und vollwertige Sicherung zurückgreifen.
Oder es werden auf der kopierten VM die notwendigen Tests durchgeführt und erst danach die Updates am Echtsystem ausgerollt.
- Selbstverständlich ist dein IT-Betreuer greifbar und deine Tests der neuen Version werden zu normalen Bürozeiten durchgeführt und sind nicht zeitkritisch. D.h. ob eine Fehlerbehebung einige Tage dauert, ist nicht relevant.
Was mache ich, wenn mein System gecrasht ist
In solchen Fällen, welche in der Regel, bei gut gepflegter Hardware, sehr sehr selten auftreten, helfen wir nach besten Kräften. Wir wollen grundsätzlich, dass die Systeme laufen. So ist es uns kürzlich gelungen, ein gecrashtes Windowssystem mit guten vorhandenen Backupdaten innerhalb von wenigen Stunden, nachdem der neue Server wieder zur Verfügung gestanden ist, zum Laufen zu bringen.
Dein Kieselstein ERP läuft immer auf einem Server, auch wenn der Rechner mit vielleicht etwas geringerer Leistung ausgelegt ist.
Server sind immer mit gespiegelten Platten oder Raid-Platten ausgestattet. Es läuft eine Festplattenüberwachung und die Meldungen des Überwachungssystems werden erst genommen und umgehend, raschest möglich, durch deinen IT-Betreuer beseitigt.
Dass ein qualifiziertes und verifiziertes Backup zur Verfügung steht, ist selbstverständlich.
Zusammenfassend:
Seid euch des Wertes eurer Daten und Systeme bewusst. Durch die Update Manie wird nur eine Geringschätzung den eigenen Systemen gegenüber zum Ausdruck gebracht.
Update Prozess für dein Kieselstein ERP:
Vor jedem Update Prozess muss sowohl von der Datenbank als auch von den File-Systemen ein Backup gemacht werden.
Update Schritte je Betriebssystem:
Debian Update
Windows Update
Clients
Nach dem Update des Servers müssen auch die Clients wieder aktualisiert werden.
Siehe hierfür bitte Installation Clients.
Sollte die Version des Kieselstein-Clients nicht mit der Version des Servers oder der Datenbank übereinstimmen, kommt eine entsprechende Fehlermeldung und kann die Anmeldung nicht durchgeführt werden.
Fehlermeldungen mit Client-Version 0.0.13 oder kleiner:
Dies wird nach dem Anmeldeversuch bei Versionen, welche vor der Versionierung erstellt wurden, angezeigt.
Hier muss das Client-Programm aktualisiert werden.
Ab Kieselstein Version 0.0.13 werden die jeweiligen Versionen angezeigt und die Anmeldung verhindert:

Troubleshooting
Wenn die Datenbankversion nicht mit der Wildfly Installation übereinstimmt,
kommt beim Starten des Clients folgende Fehlermeldung:
bzw. bei einem Umstieg von einer Version vor 0.0.13:

Am Server wird hier auch ein Fehler geloggt (kieselstein-dist/wildfly-26.1.2.Final/standalone/log/server.log)
2024-02-28 09:10:26,607 ERROR [com.lp.server.system.ejbfac.SystemFacBean] (EJB default - 8) Database version may not match server version (0.0.14)! Make sure the database was updated.: javax.persistence.PersistenceException: org.hibernate.exception.SQLGrammarException: could not extract ResultSet
at org.hibernate.jpa.spi.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1692)
at org.hibernate.jpa.spi.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1619)
at org.hibernate.jpa.spi.AbstractEntityManagerImpl.find(AbstractEntityManagerImpl.java:1106)
at org.hibernate.jpa.spi.AbstractEntityManagerImpl.find(AbstractEntityManagerImpl.java:1033)
at org.jboss.as.jpa.container.AbstractEntityManager.find(AbstractEntityManager.java:213)
Hier muss der Dienst wieder gestoppt werden und das Liquibase update durchgeführt werden.
Releasehinweise
TODO Is a comming feature!
In Zukunft kann es sein, dass nach einem Versionsupdate manuelle Datenbereinigungen durchgeführt werden müssen.
Sollte eine solche Datenbereinigung notwendig sein, wird nach der Anmeldung eines Benutzers eine Liste (wenn mehrere) der noch nicht durchgeführten Aktionen angezeigt.
Die Punkte in der Releasehinweise-Tabelle können nur von dem Kieselstein Admin-Benutzer als erledigt markiert werden.
Solange noch nicht erledigte Releasehinweise vorhanden sind, werden diese jedem Benutzer bei der Anmeldung angezeigt.
8.1 - Update Kieselstein ERP Server unter Windows Server
Update Kieselstein ERP Server unter Windows Server
Nachtragen PostgresQL Runtime Pfad
- Rechtsklick auf das Windows Start-Symbol
- System
- suche nun erweiterte Systemeinstellungen. Je nach Windows-Version ist dies optisch an einem anderen Platz, aber immer unter System Info zu finden
- Umgebungsvariablen anklicken

- Suche nun im unteren Bereich (Systemvariablen) die Variable Path
und klicke auf “Bearbeiten”
Hier muss nun, abhängig von der verwendeten pgAdmin Version der Pfad auf die pgAdmin runtime eingetragen sein. Bei pgAdmin 4 V7 ist dies “c:\Program Files\pgAdmin 4\v7\runtime”. Bei pgAdmin 4 V8 ist dies “c:\Program Files\pgAdmin 4\runtime”.
- Wenn alles eingetragen ist, beende zumindest den Umgebungsvariablen und den Systemeigenschaften Dialog.
- starte ein neues CMD-Fenster und gib psql (+ Enter) ein. Es muss die Abfrage des psql nach dem Benutzerpasswort kommen. Kommt eine Meldung mit *Der Befehl “psql” ist entweder falsch ….. *so ist deine Pfad-Definition falsch, womit auch der Serverstart nicht funktionieren wird.
Funktioniert dies, würde ich mit der oben beschriebenen Prüfung fortfahren.
Probleme / Lösungen
Nachfolgend eine Sammlung von bisher bekannten Problemen und deren Lösungen beim Updateprozess. Vom Grundgedanken her gelten diese Dinge für beide Betriebssysteme, auch wenn die Aufrufe und die erforderlichen Betriebssystemspezifischen Rechte durchaus unterschiedlich sein können.
Liquibase meldet Checksum Konflikt
Während des Liquibase Updates kommen Fehlermeldungen. Wie z.B.:
Starte Liquibase am 08:47:40 (Version 4.28.0 #2272, kompiliert am 2024-05-16 19:00+0000)
Liquibase Version: 4.28.0
Liquibase Open Source 4.28.0 by Liquibase
ERROR: Exception Details
ERROR: Exception Primary Class: ValidationFailedException
ERROR: Exception Primary Reason: Validierung war nicht erfolgreich:
Bei 1 ChangeSets stimmt die Prüfsumme nicht mehr mit der Historientabelle überein.
changelogs/0.1.1/punkt_ist_dezimaltrenner_parameter.xml::add-parameter::KSE was:
> 9:2e4dc472a79dcf110b919b796195b677 but is now: 9:ff143e7c43a38123ddfb731c38d613c9
Siehe dazu 
bzw.

Clear Checksums
run-liquibase.bat clear-checksums (für Linux ./liquibase.sh clear-checksums)
Um eventuell falsche Checksums zu löschen und damit weiter zu kommen.
Aufruf von LW:\kieselstein\dist\bootstrap\liquibase\ aus.
Siehe zusätzlich auch –help
Was macht das Clear Checksums, wann ist es erforderlich
Bei jedem Datenbankupdate wird über die Commandos der durchzuführenden Änderungen (z.B. LW:\kieselstein\dist\bootstrap\liquibase\changelogs\1.0.28) eine Checksumme gebildet. Diese Checksumme wird in der Änderungsprotokollierung (databasechangelog) eingetragen.
Werden nun nachträglich nach einem Datenbankupdate Änderungen an der Beschreibung / den Scripten für das Datenbankupdate durchgeführt, so ändert sich automatisch damit die Checksumme über die Dateien.
Damit wird erreicht, dass jegliche Änderung am Datenbankupdate erkannt wird. Dies dient vor allem zur Sicherheit, dass eben nachträgliche Änderungen erkannt werden. Ob diese Änderung nun tatsächlich durchzuführen ist, muss vom Updatenden entschieden werden.
Zusatzinfo:
Bis zu Version 1.0.28 wurde beim Clear Checksums falsche Werte zurückgeschrieben, womit in sehr wenigen Fällen falsche Fehlermeldungen entstanden sind.
Derzeit kann das Clear Checksums jederzeit durchgeführt werden.
Die Checksum in der Tabelle manuell richtig stellen
Ich habe dafür folgendes Script verwendet. Dieses ist sicherlich nicht vollständig und muss gegebenenfalls auf die aktuelle Situation angepasst werden. Die Vorgehensweise sollte damit aber klar sein.
ACHTUNG:
Ob diese Vorgehensweise die Konsistenz deiner Daten bzw. die Konsistenz deiner Datenbank zerstört, kann hier nicht geklärt werden. Achte auf die Inhalte der Liquibase Änderungsscripte. Es gilt dies auch für das Clear Checksums
– korrigieren der checksum der zwischenversion der 0.1.1
update databasechangelog set md5sum = ‘9:ff143e7c43a38123ddfb731c38d613c9’ where
md5sum=‘9:2e4dc472a79dcf110b919b796195b677’;
update databasechangelog set md5sum = ‘9:ff143e7c43a38123ddfb731c38d613c9’ where
md5sum=‘9:67af6ebc94a79ccc6073d7044b4fe2dc’;
Spalte ist bereits vorhanden
Es kommt beim Update eine Meldung, dass die Spalte xy bereits in der Datenbank eingetragen ist.
Wenn man sich sicher ist, dass in der Tabellen Spalte KEINE Einträge sind, kann man diese einfach löschen und danach das Update erneut ausführen.
Ist dem nicht so, so kann man das betreffende XML entsprechend auskommentieren. Die Update-XMLs, welche Versionsweise organisiert sind, findest du unter
LW:\kieselstein\dist\bootstrap\liquibase\changelogs\Versionsnummern
Hier das betreffende XML heraussuchen und z.B. die Extension mit .nix ergänzen. Danach das Update erneut ausführen.
Passend zu obiger Fehlermeldung:
LW:\kieselstein\dist\bootstrap\liquibase\changelogs\0.0.14\los_material_vollstaendig_parameter.xml
8.2 - Update Kieselstein ERP Server unter Debian
Update Kieselstein ERP Server unter Debian
Applicationsserver Updaten
- Dist-Pack auf den Server kopieren
- Dienste beenden
systemctl stop kieselstein-main-server.service
systemctl stop kieselstein-rest-server.service
- Alte Programmdateien löschen:
rm /opt/kieselstein/dist/wildfly-*.Final/standalone/deployments/*.ear
rm /opt/kieselstein/dist/wildfly-*.Final/standalone/deployments/*.war
rm /opt/kieselstein/dist/wildfly-*.Final/standalone/deployments/*.rar
rm /opt/kieselstein/dist/wildfly-*.Final/standalone/deployments/*.deployed
rm /opt/kieselstein/dist/apache-tomcat-*/webapps/*.war
- und auch alle Verzeichnisse mit kieselstein-rest##. löschen
- Dist-Paket über die bestehende Installation entpacken
tar -xvf <pfad-zum-dist-packet>.gz -C /opt/kieselstein
- Client-Scripte anpassen
- Es muss geprüft werden, ob es manuelle Änderungen im Client-Paket für die Startskripte gab und diese eventuell bei den neuen Startscripten nachziehen (Hostname und Splashscreen zum Beispiel).
- Alte Client-Scripte löschen oder klar markieren als OLD (Siehe im Verzeichnis /opt/kieselstein/dist/clients/)
- Berechtigungen wieder für den Kieselstein Ordner setzen
chown -R kieselstein:kieselstein /opt/kieselstein
- Wenn im dist-Verzeichnis mehrere Tomcat oder Wildfly Versionen enthalten sind, prüfen welche verwendet wird und die alten löschen.
- Prüfen welche Tomcat-Version verwendet wird:
cat /opt/kieselstein/dist/bin/launch-kieselstein-rest-server.sh
- Suche nach Zeile: export CATALINA_HOME="${KIESELSTEIN_DIST}/apache-tomcat-x.x.x", diese Tomcat Version wird verwendet, die andere(n) müssen gelöscht werden.
- Prüfen welche Wildfly-Version verwendet wird:
cat /opt/kieselstein/dist/bin/launch-kieselstein-main-server.sh
- Suche nach Zeile: wildfly_bin_dir=${KIESELSTEIN_DIST}/wildfly-x.x.x.Final/bin, diese Wildfly Version wird verwendet die andere(n) müssen gelöscht werden.
- Achtung Aktuell sind im Wildfly noch die Report-Dateien enthalten sowie eventuelle Anwender-Reports.
- Es müssen, wenn sich die Wildfly Version ändert, vor dem Löschen des alten Wildfly Ordners alle Anwender-Reports in den neuen Wildfly kopiert werden.
- /opt/kieselstein/dist/wildfly-.Final/server/helium/report//anwender
Datenbankmigrationen durchführen
Hinweis: Wenn Kieselstein Version kleiner als 0.0.13 ist:
Muss die initiale Migration gemacht werden.
Das gilt auch für den Start mit den Demodaten.
Installation Liquibase
Siehe bitte
Initial-Migrationen setzen
- In das Liquibase Verzeichnis gehen
cd /opt/kieselstein/dist/bootstrap/liquibase
- Bestehende Datenstrukturen als bereits migriert markieren
./liquibase.sh changelog-sync --label-filter="0.0.12"
ACHTUNG Wenn die Datenbank von der Default-Installation abweicht, müssen in der /opt/kieselstein/dist/bootstrap/liquibase/liquibase.properties Datei die Verbindungseinstellungen angepasst werden:
liquibase.command.url=jdbc:postgresql://localhost:5432/KIESELSTEIN
liquibase.command.username=postgres
liquibase.command.password=postgres
Datenbank Updaten
cd /opt/kieselstein/dist/bootstrap/liquibase
./liquibase.sh update

Hinweis
Sollten hier lange Listen von kryptischen Befehlen kommen, funktioniert das Datenbankupdate nicht.
Dienste wieder aktivieren
systemctl start kieselstein-main-server.service
systemctl start kieselstein-rest-server.service
Aktualisieren der Clients
Siehe hierfür bitte Installation Clients.
Verlagerung der Anwenderreports
Details siehe bitte
8.3 - Update Datenbankserver für deinen Kieselstein ERP Server
Update des Postgres Datenbankservers für deinen Kieselstein ERP Server
Wenn du deinen Postgres Datenbankserver aktualisieren willst, so hat sich folgende Vorgehensweise bewährt.
Dass für diese massive Umstellung kein Anwender in deinem Kieselstein ERP angemeldet ist, sollte selbstverständlich sein.
-
Stoppen des Kieselstein ERP Dienstes
-
Vollständiges Backup deiner aktiven Kieselstein ERP Datenbanken (KIESELSTEIN und KIESELSTEIN_DOCUMENTS)
-
Sichern der Backupdateien
-
Deaktivieren des Postgres-Servers
-
Neuinstallation des neuen Postgres-Servers.
Dabei darauf achten, dass die Portnummer gleich bleibt und auch das Master-Passwort wie bisher bleibt
-
Prüfen der pg_hba.conf und der postgresql.conf.
Diese sollten in der Regel gleich konfiguriert sein wie bisher
-
Neuanlegen der beiden Datenbanken durch Verwendung der
- LW:\kieselstein\dist\bootstrap\liquibase\createdb.bat bzw. createdb.sh
- danach run-liquibase.bat update bzw.
liquibase.sh update
damit werden weitere allgemeine Einstellungen (z.B. DB-Benutzer) eingerichtet
-
umbenennen der angelegten Datenbanken z.B. auf KIESELSTEIN_default bzw. KIESELSTEIN_DOCUMENTS_default
-
Neuanlegen der Datenbanken
-
Restore der Datenbanken aus dem Backup der alten Version
-
Sicherungsskript(e) auf die neue Version anpassen
-
Aktualisieren PostgresQL Runtime Pfad (insbesondere für Windows-Systeme)
-
Starten des Kieselstein ERP Dienstes
-
Prüfen des Clientzugriffes, durchführen einiger wichtiger Operationen
Eingesetzte Postgresversionen
- Für die Kieselsteinversionen bis inkl. 1.x.x -> Postgres 14 oder 15
- Ab der Version 2.x -> Postgres 18
Verwendung von pg_update
Laut Rückmeldung von Anwendern sollte, entgegen der Beschreibung auf den Postgresseiten, obige Vorgehensweise verwendet werden.
9 - Anforderungen Kieselstein ERP Server
Anforderungen an den Kieselstein ERP Server
Die Anforderungen an den Kieselstein ERP Server sind von verschiedenen Eckpunkten abhängig. Im wesentlichen sind dies Benutzeranzahl und Betriebssystem.
Server
Windows
Die Verwendung eines 64Bit Betriebssystems ist heutzutage selbstverständlich.
Bei Verwendung von Windows gehen wir davon aus, dass dieses, auch für den Testbetrieb, ordnungsgemäß lizenziert ist.
| Eigenschaft |
Betriebssystem |
Datenbank |
Kieselstein appServer |
je Power User |
je std. User |
| Kerne |
1 |
1 |
1 |
0,5 |
0,1 |
| Ram [GB] |
4 |
2 |
2 |
0,1 |
0,01 |
| Platte [GB] |
100 |
70 |
70 |
|
|
Ganz wesentlich in die Geschwindigkeit des Gesamtsystems geht die Zugriffsgeschwindigkeit der / auf die Festplatten ein. Wir raten, auch wenn es teuer ist, zu SSD Platten. Sollte dies nicht möglich sein, zu Raid10.
ACHTUNG: Bei Virtualisierung kommt es immer wieder vor, dass die Platten zwar sehr schnell sind, aber da alle virtuellen Maschinen auf die gleiche Hardware zugreifen, ist im Endeffekt der Festplattencontroller der Flaschenhals. Hier ist zusätzlich zu bedenken, dass die Zugriffe oft mit kleinen Datenmengen erfolgen. D.h. die in der IT üblichen Geschwindigkeitsmessungen haben keine Aussagekraft (die Optimierungsalgorithmen der VM’s greifen leider nicht).
Die Größe der Platten hängt auch an der Verwendung der Dokumentenablage. Kann also, bei intensiver Nutzung, was im Sinne des Systems ist, auch deutlich darüber hinaus anwachsen.
In dieser Betrachtung ist der, für das unumgängliche zumindest tägliche Backup benötigte Platz, nicht berücksichtigt. Auch dies hängt von der Datenmenge der Installation ab. So beginnen Neuinstallationen bei einigen wenigen GB und wachsen danach schon mal auf 150 GB oder mehr an.
Eine wesentliche Frage in diesem Zusammenhang ist das Thema des Backups bzw., wie alt dürfen die Daten bei einem eventuellen Ausfall sein. Das geht bis hin zu gespiegelten Datenbankservern.
Diese Dinge klären wir am besten in einem persönlichen Gespräch.
ACHTUNG: Es muss am Server IMMER der doppelte Speicherplatz wie dein Datenbankbackup belegt frei sein.
Datenbank
Beachte auch die Konfiguration der postgresql.conf
Speed / Geschwindigkeit
Nachdem immer wieder die Meldung kommt, dass der Server stecken bleibt, viel zu langsam ist, hier auch der Versuch festzustellen woher der Flaschenhals kommt:
So kann man als “normal Wert” z.B. das entzippen des Kieselstein.tar.gz verwenden.
In diesem Tar sind große und kleine Dateien enthalten und durch das entzippen wird ein gemischter Datenverkehr erzeugt. Nachfolgend einige Richtwerte.
| Dauer [sec] |
Hardware Eckdaten |
Anmerkung |
| 4 |
i9 SSD |
inkl. Vera Crypt |
| 6 |
i7 SSD |
|
| 10 |
|
Virtualisierter Server |
Welche Windows Betriebssysteme können genutzt werden?
Auch das hängt vom Einsatzbereich ab.
Für eine anfänglich kleine Installation mit 2 Usern reicht auch mal ein Windows11 (Windows 10 wird nicht mehr lange zur Verfügung stehen). Für den Einsatz in einem Unternehmen mit 5 Usern oder mehr, raten wir zum Einsatz eines Server Betriebssystems. Da der ganze grafische Overhead auf dem Server nicht benötigt wird, gerne auch Linux, Debian.
In jedem Falle aber bitte ausschließlich 64 Bit-Systeme.
Benötigte Werkzeuge für den Server
Postgre-SQL Datenbank
Es werden die Version 14 oder 15 der PostgreSQL Datenbank unterstützt.
Siehe Downloads unter: https://www.enterprisedb.com/downloads/postgres-postgresql-downloads
Für die Datenbankmigrationen wird das Liquibase Tool benötigt.
Die aktuelle Liquibase Version kann vom git Repository heruntergeladen: https://github.com/liquibase/liquibase/releases werden.
Hier bis zu den Assets runterscrollen und dann den passenden (Bsp.: Windows-)Installer auswählen. Z.B.: liquibase-windows-x64-installer-x.x.x.exe
Java-Version
ACHTUNG Java Version 11 ist erst ab der Kieselstein-Version 1.0.0 und höher unterstützt; vorher bitte Java-Version 8 verwenden!
Es wird für den Server die Azul-Java Version 11 benötigt.
Siehe dazu www.azul.com, klick auf Downloads
runterscrollen und Java11 LTS, (das jeweilige Betriebssystem auswählen), x86 64.bit, JDK FX auswählen.

Nginx Webserver
Wenn die REST-Schnittstelle oder andere Dienste über das Internet zur Verfügung stehen sollen, dann sollte dies über einen Nginx-Webserver werden.
Es wird für die Installation eine Default-Konfiguration (unter Kieselstein/dist/bootstrap/) mit ausgeliefert, wo der Port 8280 ohne SSL vorkonfiguriert ist (wie es bei früheren Versionen mit dem Tomcat durchgeführt wurde).
Unter nginxtutorials.com ist auch beschrieben wie mit Nginx ein Lets Encrypt-SSL-Zertifikat erstellt werden kann.
Alternativ kann natürlich auch ein “Selbstsigniertes Zertifikat” für SSL mit Nginx verwendet werden.
weitere Last am Server
Es gibt inzwischen noch eine Anzahl von Funktionen / Zugriffen auf den Server, die für jeden Zugriff mehr oder weniger Serverlast ziehen. Auch diese sind in den obigen Überlegungen zu berücksichtigen.
- RestAPI, je nach Intensität der Nutzung
- ZE-Terminals je nach Buchungshäufigkeit. Es ist ein entsprechender Unterschied, ob nur Kommt/Geht (Anwesenheitszeit) gebucht wird, oder die papierlose Fertigung mit Zeichnungen, Auswahllisten usw. verwendet wird. Insbesondere die Zeitverteilungsberechnungen können entsprechende Serverlast erzeugen.
- Anwesenheitsliste(n): Auch hier macht es einen großen Unterschied, ob 10 Terminals im 30 Sekunden Takt jeweils eine neue Liste anfordern, oder ob diese über den Anwesenheitslisten Proxy eigenständig aufbereitet werden.
- die Listenauswertungen per Web-Pages. Auch diese Auswertungen brauchen entsprechende CPU Leistung.
Client
Hier reichen heutzutage (2023) übliche Standard PC’s, mit mindestens 64 Bit Betriebssystemen und 8 GB Ram (wenn nur der Kieselstein-ERP Client läuft). Empfohlen 16 GB Ram, gerne mehr.
Auch hier raten wir zur Verwendung von SSD Platten, da auch diese massiv in das Geschwindigkeitsverhalten eingehen.
10 - Datensicherung
Einige Gedanken zur Datensicherung
Da wir in der Praxis immer erleben, dass die Datensicherung zwar angeblich gemacht wird, aber dann doch nicht funktioniert, hier einige Gedanken dazu.
Wozu überhaupt Datensicherung?
Wie hoffentlich allgemein bekannt ist, ist gerade die IT nicht vor Fehlern gefeit. D.h. deine Daten und diese sind heutzutage das Herzstück deines Unternehmens, müssen in jedem Falle “jederzeit” zur Verfügung stehen.
Solltest du anderer Meinung sein, schalte PC und Handy aus, was geht dann für dich noch?
Gesetzliche Aufbewahrungspflichten
Beachte dass in den gesetzlichen Aufbewahrungspflichten BAO132, GoDB, … eine Aufbewahrungspflicht von mindestens 7 (AT) / 10 (DE/LI/CH) Jahren oder mehr gegeben ist. Du musst zum Ende der Aufbewahrungspflicht in der Lage sein, die Dateien sowohl elektronisch als auch Menschen lesbar zur Verfügung zu stellen.
In diesem Zusammenhang wird es sicherlich auch interessant werden, ob wir in 10 (30) Jahren die Dateiformate überhaupt noch lesen können.
Siehe dazu auch eRechnung bzw. generelle Aufbewahrungspflicht
Wo aufbewahren?
Die Datensicherung muss mechanisch vom Rest der IT getrennt sein.
D.h. die Bänder, Kassetten dürfen nach der durchgeführten Datensicherung auch elektrisch nicht mehr mit dem Rest der IT verbunden sein. So werfen RDX Laufwerke bzw. Streamer am Ende des positiv abgeschlossenen Sicherungsvorganges die Kassette aus.
Üblicherweise ist das so organisiert, dass eine Bürokraft sich um die tägliche Sicherung kümmert und wenn das Medium nicht ausgeworfen wurde, die Verpflichtung hat, die zuständige Stelle zu informieren.
Dass zumindest die Monatssicherung außer Haus gebracht wird, ist selbstverständlich. Wenn du Tagessicherungen machst, was für eine Produktionsunternehmen eher die Regel ist, so gilt dies für die Wochensicherungen. Das Außer-Haus-Bringen kann ein Bank-Safe sein, oder deine weit genug entfernte Privat-Wohnung. Der Gedanke hier ist immer, wenn jemand / etwas, beide Daten(stämme) zugleich stiehlt, angreift, also z.B. den Server klaut und deine Kassetten aus dem Privathaus, so hast du sowieso ein anderes Problem.
Wieviele Medien brauche ich?
Um diese Frage zu beantworten, muss man sich überlegen, wie oft ich eigentlich sichern muss.
Der Schlüssel dafür ist für mich:
- wenn zur letzten Sekunde des gerade durchgeführten Backups, welches noch nicht vollständig ist, das System ausfällt, so sind meine (gesamten) Daten weg.
- kann ich diese wiederherstellen?
- wie lange dauert die Nacherfassung?
D.h. wenn ich die Daten wiederherstellen kann und ich diese innerhalb einer Wochenendaktion nacherfassen kann, so ist der Zeitraum, für den ich das mache, jener für den ich meine Sicherung machen muss. Ich würde jedoch immer für jede Woche eine Sicherung machen (man vergisst zu viel). Die Frage ist eher, ob eine Tagessicherung ausreicht, oder ob es stündliche Sicherungen von Teilen sein müssen, oder ob es gespiegelte Server braucht, welche in der Regel nur eine Datenbanktransaktion hinten sind.
Man sollte das auch nicht übertreiben. Wenn ich in fünf Jahren, die Zeitdaten eines Tages von meinen 150 Mitarbeiter:innen nicht exakt habe, wird mich das nicht umbringen.
Das ist doch alles so teuer?
Ja das stimmt. So kostet aktuell eine 1 TB RDX Kassette ca. 180,- €. Davon brauche ich, bei wöchentlicher Sicherung und Monatsbackup 4 + 12 Stk -> 2.880,- €.
Setzt man nun für die Nacherfassung einen Stundensatz von 80,- € (Inkl. aller Nebenkosten) an, so sind das 36 Std, also 4 Menschtage!
Dazu kommt: Ein IT-Systemausfall ist komplett versicherbar, die Datenwiederherstellung aus einem guten Backup ist darin enthalten, aber das Herzaubern von Daten ist nicht versicherbar.
Wie lange kann ich mir einen Systemausfall leisten?
Heutzutage ist alles in der IT gespeichert. Also z.B. auch die Telefonnummern in der Telefonanlage, welche ja auch ein IT System ist. Fällt nun die IT aus, woher weißt du die Telefonnummern der Kunden, die du anrufen solltest?
Es gibt schon sehr lange Statistiken, die besagen eine dreitägige Nicht-Verfügbarkeit des IT-Systems haben einen Großteil der Unternehmen nicht überstanden.
Desaster Recovery Time
Zu obigem Thema kommt auch dazu, wie lange brauche ich, um überhaupt die Daten wiederherstellen zu können. Es ist ja wunderbar, wenn alles, in der Regel in Images gesichert ist. Braucht man nun eine einzelne Datei daraus, so muss man, je nach Backupsystem, das gesamte Image zurücksichern (wo findet man schnell mal 500 GB freien Platz) um dann die eine Datei mit 2 GB daraus extrahieren zu können. Oder eben auch, das Image ist gesichert, muss aber über die Internetleitung übertragen werden. Diese ist im Moment aber gut ausgelastet bzw. die Übertragung von großen Datenmengen ist noch immer problematisch, muss über eine geeignete Software gemacht werden.
Bedenke dies alles mit, auch wie kommt man zu den verschiedensten Passwörtern usw. Wer hat die Daten, wo sind sie? Der/diejenige ist gerade in Urlaub, im Krankenhaus. Woher weiß ich überhaupt von wann (Zeitpunkt) das Backup ist, das ich einspielen möchte.
Wir raten, mach dir einen definitiven Plan, wie im Falle des Falles vorzugehen ist. Das beginnt bei der Beschaffung eines neuen Servers (im nächsten Computershop) und endet bei den Zeiten, die für die verschiedensten Restores benötigt werden. Schreib diese Tabelle mal zusammen und lass diesen schlimmen Fall dann am 24.12. um 16:30 auftreten. Wie sieht der Zeitablauf aus. Wenn du dann auch noch einen Datenverlust hast, denk an die dann sehr kurzen Fristen der DSGVO. Ich wünsche uns allen, dass wir das nie brauchen.
Reicht es, wenn ich Veränderungen sichere?
Diese Frage kommt immer bei entsprechend großen Datenmengen, also wenn die Nacht für die Sicherung zu kurz wird.
Unsere Erfahrung. Nur Veränderungssicherungen sind extrem gefährlich. Denn im Falle der Rücksicherung braucht nur ein Medium in der Kette defekt zu sein und das Restore ist nicht mehr möglich. Daher muss in den Sicherungskonzepten immer ein aktuelles und vollständiges Backup auf dem Sicherungsmedium gespeichert sein.
Wie oft muss ich die Sicherung prüfen?
Reicht, wenn ich schaue, dass die Files erzeugt werden?
Bitte achte bei der Erzeugung der Backupdateien darauf, dass das Ende des Backups rechtzeitig vor dem Weiterkopieren auf das Sicherungsmedium abgeschlossen ist. Du solltest das monatlich überprüfen.
Muss ich das Restore prüfen
Bitte nimm dir die Zeit, auch den Restore der Daten regelmäßig zu prüfen. Regelmäßig bedeutet in diesem Falle, zumindest jedes halbe Jahr, besser öfter. D.h. wirklich in das Testsystem die Backupdaten reinspielen. Es müssen die Daten des letzten Tages, also des Tages der Datensicherung im Zugriff stehen.
Es kommt leider zu oft vor, dass nur Filezuwachs und Datum geprüft werden, aber in der langen Kette irgendetwas nicht stimmt und du im Falle des Falles, dann doch keine Daten hast.
Ich mache das alles online
ACHTUNG: Im Falle eines Verschlüsselungstrojaners ist die Gefahr, dass durch einen Fehler / Irrtum in der Konfiguration, der Trojaner auch dein Backup verschlüsselt, extrem hoch. Nur sehr sehr versierte IT-Betreuer sind in der Lage dies richtig aufzusetzen.
Daher unser Rat, immer mechanisch getrennt aufbewahren. Und auch außer Haus. Denkt an Hochwasser, Blitzschlag, generelle Überspannung, Feuer, Diebstahl.
Ich habe persönlich noch keinen IT-Betreuer kennengelernt, der das wirklich beherrscht. Daher rate ich lieber ein paar Euro mehr für die Sicherheit auszugeben.
Für umfassende Desaster Recovery Szenarien, wendet euch gerne an uns.
Zum Thema Angriffe siehe auch:
Real-Time DDoS Attack Map | NETSCOUT Omnis Threat Horizon, https://horizon.netscout.com/
Ein Beispiel für schlechte Datensicherung
Ein leider sehr trauriges Beispiel was passieren kann, wenn man sich nicht wirklich um die Datensicherung kümmert.

Leider funktioniert der Link vom April 2025 nun im August 2025 nicht mehr.
Die paar tausend CHF für die Sicherungsmedien hätte die Abächerli AG gerettet, so ist ein erfolgreiches Unternehmen, schlichtweg vernichtet worden.
Also denke auch daran, ob der von dir beauftragte Dienstleister für das zu tragende Risiko überhaupt versichert ist.
Wie alt darf meine Hardware sein?
Auch diese Frage kommt immer wieder.
Der Grundgedanke: Lieber ein geplanter Stillstand als ein unkontrollierter Ausfall.
D.h. es geht darum, dein ERP System (und auch deine restliche Serverlandschaft) immer zur Verfügung zu haben. Dies kann man großteils durch vorbeugende Wartung erreichen.
So sagt uns die Statistik, dass Serverplatten alle vier Jahre ausgetauscht werden müssen.
Server Hardware gehört alle sieben Jahre ausgetauscht.
Auch wenn das die Metallverarbeiter manchmal schreckt, deren teure Maschinen auch mal 30 Jahre halten, hier handelt es sich um hochkomplexe elektronische Geräte, die 24/7 im Einsatz sind und von denen wir erwarten, dass sie immer funktionieren.
Und was dazu kommt, wenn dein Server ausfällt: es steht nicht nur eine Maschine, sondern die ganze Firma. D.h. du hast nicht nur den Produktionsausfall eines Mitarbeiters, sondern deines gesamten Teams. Du kannst keinen Kunden anrufen, weißt nicht was zu liefern / fertigen ist, usw.
Daher: Ja das kostet Geld; ein ungeplanter Stillstand kostet dramatisch mehr und ist immer mit Datenverlust verbunden.
Was muss alles gesichert werden?
Ausgehend von dem Gedanken, dass du deine Daten in eine Neuinstallation deines Kieselstein ERP übertragen willst / musst und mit diesem Datenbestand weiterarbeiten willst, müssen folgende Datenbanken / Dateien gesichert werden.
- Datenbanken:
- KIESELSTEIN
- KIESELSTEIN_DOCUMENTS
- Die Datenbank postgres muss nicht gesichert werden. Der einzige Grund um diese zu sichern, wäre, dass du viele verschiedene Zugriffsberechtigungen vergeben hast. Üblicherweise hat deine Kieselstein Datenbank zwei User. Sollten weitere User, z.B. für verschiedene Scripte hinterlegt sein, sollte diese Definition z.B. in ein Textfile protokolliert und mitgesichert werden. Die Alternative wäre eben, die Datenbank postgres ebenfalls mitzusichern
- Dateien
- aus deinem ..\kieselstein\data\reports alle Files.
- Wenn du die Fileorientierte Dokumenten-Datenbank einsetzt, dann auch den vollständigen Datastore der Fileorientierten Datenbank. Dieser liegt üblicherweise unter ..\kieselstein\data\jackrabbit
- Environmentvariable
In diesen stecken ebenfalls Parametrierungen für deinen Kieselstein ERP Server. D.h. auch diese sollten notiert und mitgesichert werden.
Erfolgsbenachrichtigung des Datenbankdumps
Ab der Version 1.1.2 steht unter LW:\kieselstein\dist\bin\kieselstein-backup-db.bat (bzw. .sh) ein Muster-Script für ein Datenbankbackup zur Verfügung.
Der Vorteil dieses Scripts ist, dass nach den einzelnen Schritten ein EMail über deinen Kieselsteinserver an den / die im Parameter BACKUP_NOTIFICATION_EMAIL angegebenen EMail-Adressen gesandt wird.
Damit hast du / dein IT-Administrator auch diese Information zur Verfügung.
Bitte beachte, dass es erforderlich ist, dass diese EMail jeden Tag / jede Stunde, also bei jedem Backuplauf versandt und ausgewertet wird, um sicher zu stellen, dass dein Backupsystem funktioniert.
ABER:
Es ist damit in keinem Falle sicher gestellt, dass die Kette deiner Datensicherung vollständig ist.
EMail dafür einrichten
Um die gesamte Kette überhaupt zu testen, steht die Möglichkeit dies über das Swager UI zu testen.
Bitte bedenke, dass dieser Versand üblicherweise nur vom localhost, also direkt auf deinem Kieselstein ERP Server aus erfolgen darf. Für weitere Parameter sei auf LW:\kieselstein\dist\bin\README_backup.md verwiesen.
Damit die E-Mail-Benachrichtigung funktioniert, müssen im Kieselstein ERP folgende Parameter konfiguriert sein:
| Parameter |
Beschreibung |
| BACKUP_NOTIFICATION_EMAIL |
Empfängeradresse(n), getrennt durch Semikolon (;) bei mehreren Empfängern |
| MAILADRESSE_ADMIN |
Die Absenderadresse der Benachrichtigungs-E-Mails |
Zusätzlich:
Dem Benutzer lpwebappzemecs muss eine passende RestAPI Rolle zugewiesen sein. Diese Rolle muss mindestens folgende Rechte haben.
| Recht |
| LP_ALLE_VERSANDAUFTRAEGE_UD |
| LP_DARF_EMAIL_SENDEN |
Grundsätzlich stehen dafür zwei RestAPI Calls zur Verfügung, welche je nachdem ob das Backup erfolgreich war, oder ob es eben fehlerhaft war entsprechend aufgerufen werden sollten.
Für den Aufruf wird unter Windows curl.exe verwendet, welches unter der Powershell zur Verfügung gestellt wird. Für den Aufruf von curl.exe siehe auch
| Status |
Betreff im EMail |
Zusatztext im EMail |
Aufruf |
| Erfolgreich |
Backup erfolgreich |
Der im Aufruf unter log_message übergebene Text |
curl “http://localhost:8080/kieselstein-rest/services/rest/api/v1/backup/notificationlog?log_message=Dein%20Erfolgreich%20Text” |
| Fehlerhaft |
Backup fehlgeschlagen |
Der im Aufruf unter error_message übergebene Text |
curl “http://localhost:8080/kieselstein-rest/services/rest/api/v1/backup/notificationerror?error_message=deine%20gewünschte%20Fehlermeldung” |
Dieses EMail wird in den Versandauftrag ohne den üblichen Verzögerungen eingetragen, also faktisch sofort versandt. Dafür muss der EMail Versand vollständig richtig eingetragen werden. D.h. du prüfst ob im Reiter Gesendete des Versandauftrages, im System, der entsprechende Eintrag vorhanden ist.
Wichtig:
Die Texte, für log_message müssen in HTML Notierung geschrieben sein. So z.B. mit %20 für Leerzeichen.
11 - IT-Betreuung
Was sind die Aufgaben deines IT-Betreuers
Nachfolgend eine lose Aufstellung der Aufgaben deines IT-Betreuers für den Betrieb deines Kieselstein ERP-Systems, welche nicht vollständig ist.
Es sollte dies dazu dienen, den Umfang einer verantwortungsvollen IT-Betreuung zu skizzieren. Ergänzungen dazu sind willkommen.
Bitte beachte auch, dass dein Kieselstein ERP zwar die IT massiv nutzt. Die Betreuung deiner IT ist aber in keinster Weise die Aufgabe der Genossenschaft bzw. der Techniker:innen der Consultants, auch wenn das andere Firmen anders handhaben mögen. Siehe dazu auch Update
Welche Aufgaben sollte die IT-Betreuung nun übernehmen:
- Zur Verfügungstellung eines geeigneten ERP-Servers
- Prüfung der Performance des Servers, zur Verfügungstellung einer ausreichenden Performance
- Einrichten der Updates sowohl Clients als auch Server
- Netzwerk-Zugriffssicherheit
- Datensicherung inkl. Überprüfung
- WLan Access
- Planung von Erweiterungen (lieber ein geplanter Stillstand als ungeplantes Chaos)
- ist bei Problemen innerhalb von xx Std verfügbar, zumindest an Arbeitstagen und an normalen Wochenenden und ….
- weiß auch, wie man ein Kieselstein ERP installiert und die Datenbanken wieder herstellt.
Anmerkung:
Wenn du diese Betreuung selbst übernimmst, gehen wir davon aus, dass eine entsprechende Qualifikation gegeben ist. Du also auch die Verantwortung dafür übernimmst / übernehmen kannst.
Von der Verfügbarkeit des Backups (zu jeder Zeit) bis zu Updates usw..
Für die Einrichtung der Zugangsdaten des (externen) Betreuers siehe
12 - File orientierte Dokumente Datenbank
Wo werden meine Dokumente gespeichert
Dein Kieselstein ERP hat grundsätzlich zwei Datenbanken.
-
Die reinen ERP-Daten, klein, schlank, schnell. Hier sind die ganzen “Zahlen” gespeichert.
-
Die Dokumente-Datenbank. Hier sind die Dokumente abgelegt.
Diese gibt es wiederum in zwei Ausführungen.
- Default als Datenbank-Tabelle. D.h. die “Bilder” der Dokumente (Ausgangsrechnungen, Eingangsrechnungen, Spezifikationen) werden als sogenannter BLOB direkt in der Dokumentendatenbank gespeichert. Das bewirkt wiederum, dass im Laufe der Jahre diese Datenbank immer größer wird, einige zig GByte sind normal, und so das tägliche Backup dieser Daten immer länger dauert. Je nach Installation kann es auch dazu kommen, dass die Nacht (12Std) zu kurz wird und somit kein konsistentes Backup mehr gegeben ist.
- Daher gibt es als Alternative die sogenannte fileorientierte Dokumentendatenbank.
Idealerweise wird diese bereits bei der Installation deines Kieselstein ERP eingerichtet.
Für die Verwendung der Fileorientierten Datenbank muss du nur die Environmentvariablen DOC_CONFIG auf ${KIESELSTEIN_DIST}/conf/jackrabbit-datastore-fs.xml bzw. %KIESELSTEIN_DIST%\conf\jackrabbit-datastore-fs.xml einrichten.
Linux, /etc/environment, ${KIESELSTEIN_DIST}/conf/jackrabbit-datastore-fs.xml
Windows: %KIESELSTEIN_DIST%\conf\jackrabbit-datastore-fs.xml
Damit greifst du auf die standard Konfigurationsdateien für deinen Kieselstein ERP Server zu.
Sollte trotzdem der Jackrabbit nicht starten (in ../standalone/deployments/ steht kieselstein-1.1.7.ear.failed) so must du wahrscheinlich auch noch die LW:\kieselstein\data\jackrabbit\workspaces\default\workspace.xml anpassen. Siehe dazu
Der Vorteil ist, dass die eigentliche Dokumente nur immer neue Daten sind und somit, z.B. mit rsync, nur eine Veränderungs (Erweiterungs) Sicherung gemacht werden muss und damit die dafür benötigte Zeit wesentlich kürzer ist. Es muss allerdings diese zusätzliche Sicherung auch eingerichtet werden.
Ein Wort zur Veränderbarkeit in den Dokumenten-Daten
Da diese Frage immer wieder kommt, also kann ein Super Spezialist die Daten der Dokumente verändern? Hierzu muss man folgendes wissen:
- die Dokumente werden als BLOB Binary Large OBject abgelegt. Dies ist nichts anderes als eine Verkettung von Dateiblöcken in denen die eigentlichen Daten hintereinander eingereiht sind. D.h. das herausfinden einer einzelnen Datei, ist schon ziemlich aufwändig und man muss schon sehr genau wissen was man sucht.
- Nun werden z.B. die Ausgangsrechnungen als Jasper-Objecte (in Dateiform) abgelegt.
- werden nun Daten eingefügt (aus 100 wird 1.000) oder Daten verändert, aus einer 0 wird eine 1, so stimmt die Filegröße nicht mehr und oder die Checksumme stimmt nicht mehr. Damit ist die gesamte Dokumentendatenbank unbrauchbar.
Ob man dies nun, mit einer entsprechend kriminellen Energie auch richtig stellen könnte, ist mir nicht bekannt. Hier kommt mit dazu, dass die Person die dieses macht, physikalisch auf deinen Kieselstein ERP Server Zugriff haben muss (root). Wenn das alles gelingt, hast du ein anderes Problem.
Daher betrachten wir diese Daten als unveränderbar.
Umstellung der Dokumentendatenbank
Siehe
13 - Einstellungen für Postgres
Einstellungen an der Postgres
Nachfolgend empfohlene Einstellungen an der Postgres Konfiguration.
Grundsätzlich reicht bei kleinen Installationen die Standard-Konfiguration von PostgresQL. Beachte bitte die bei den Betriebssystemen beschriebenen Unterschiede.
Im Laufe der Zeit haben sich folgende zusätzliche Anpassungen herauskristallisiert:
postgresql.conf
| Betriebssystem |
Pfad |
| Windwos |
LW:\Program Files\PostgreSQL\14\data\postgresql.conf |
| Debian |
/etc/postgresql/15/main |
| Parameter |
empfohlener Wert |
Beschreibung |
| max_connections |
150 |
|
| shared_buffers |
1024MB |
|
Bitte beachte, dass nach Änderungen an diesen Werten, ein Neustart des postgresql notwendig ist.
14 - Installation Liquibase
Installation Liquibase für dein Kieselstein ERP
Für die Datenbankversionsverwaltung deines Kieselstein ERP Systemes, wird die Community Edition von Liquibase verwendet.
Es wird dafür die Version 4.30 bis 4.33 benötigt.
Die Version 5.x benötigt Java 17 und kann daher derzeit nicht verwendet werden.
Den Download von github.com starten
bzw. Allgemein
Das oben geht besser
Liquibase von herunterladen, auf der Liquibase Seite nicht mehr verfügbar
https://sourceforge.net/projects/liquibase.mirror/files/v4.33.0/
Installation Liquibase unter Windows
Für die Datenbankmigrationen muss das Tool liquibase installiert werden.
Aktuelle Liquibase Version vom git Repository runterladen:
https://github.com/liquibase/liquibase/releases
Hier bis zu den Assets runterscrollen und dann den passenden (Windows-)Installer auswählen. Z.B.: liquibase-windows-x64-installer-4.x.x.exe
Den Installer (siehe oben) am Server ausführen und durchklicken.
Bitte darauf achten, dass Add Liquibase to PATH angehakt bleibt.

Achtung nach der Installation von Liquibase müssen für die weiteren Arbeiten neue Eingabeaufforderungen (cmd) gestartet werden! Ein Neustart des Servers ist nicht erforderlich.
ACHTUNG
Das Liquibase ergänzt die Pfad-Angabe nur benutzerspezifisch.
Das bedeutet, wenn du danach das Update unter einem anderen Benutzer machst, hast du keinen Zugriff mehr.
Unsere Empfehlung:
Verschiebe die Pfad-Ergänzung von den Benutzervariablen in die Systemvariablen.
Installation Liquibase unter Linux
Für die Datenbankmigrationen, muss das Tool liquibase installiert werden.
ACHTUNG: Du musst dafür root-Rechte haben z.B. su - root (und dann dein eigenes PW eingeben)
wget -O- https://repo.liquibase.com/liquibase.asc | gpg --dearmor > liquibase-keyring.gpg && \
cat liquibase-keyring.gpg | tee /usr/share/keyrings/liquibase-keyring.gpg > /dev/null && \
echo 'deb [arch=amd64 signed-by=/usr/share/keyrings/liquibase-keyring.gpg] https://repo.liquibase.com stable main' | tee /etc/apt/sources.list.d/liquibase.list
Nun die Liquibase Version 4.33.0 installieren
apt-get install liquibase=4.33.0
Auch hier kannst du prüfen, ob die Installation gegangen ist.
Hinweis:
Sollte die Installation des Liquibase nicht möglich sein, muss das gpg aktualisiert werden. Vermutlich ist das ein Signal für eine veraltete Installation, daher das gesamte Betriebssystem aktualisieren.
passende Version
Gerne stellen wir dir eine passende Liquibase Version zur Verfügung.
Wende dich diesbezüglich vertrauensvoll an die Kieselstein ERP eG
Liquibase kann nicht updaten
Beim Update sehr alter Versionen kann es anscheinend vorkommen, dass in der Liquibase Protokolldatei der Eintrag, dass das Initiale-Datenbankupdate schon durchgeführt wurde fehlt.
Das bewirkt, dass ein ewig langes Errorlog ausgegeben wird (welches leider nicht in ein File umgeleitet werden kann). Es sind in diesem Dump die Commandos aus dem Initialen changelog 0.0.0 enthalten.
Im Endeffekt bedeutet es, dass der Eintrag in die Protokolltabelle eingetragen werden muss. D.h. z.B. mit dem PGAdmin folgendes Statement ausführen.
INSERT INTO public.databasechangelog(
id, author, filename, dateexecuted, orderexecuted, exectype, md5sum, description, comments, tag, liquibase, contexts, labels, deployment_id)
VALUES ('update-db','KES','changelogs/0.0.0/init.xml','2024-11-12 16:55:47.706595',1,'EXECUTED','9:d59fe261b60da8688003077dc5bbf89c','sqlFile path=0_basic_structure.sql; sqlFile path=1_basic_data.sql; sqlFile path=2_basic_constraints.sql','',NULL,'4.30.0',NULL,'0.0.12','1426947719');
Danach erneut
ausführen.