Das ist eine für den Ausdruck optimierte Ansicht des gesamten Kapitels inkl. Unterseiten. Druckvorgang starten.

Zur Standardansicht zurückkehren.

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.

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,

    Java -version
    

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: 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.

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:

  • user
  • password

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.