Update Kieselstein ERP Server von Version 0.2.x auf 1.x.x unter Debian
Categories:
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.
Falls möglich, snapshot vom Server machen.
Kieselstein Dienste deaktivieren
Dienste beenden
- Beide Kieselstein Dienste (Kieselstein Main Server & Kieselstein REST Server) beenden
systemctl stop kieselstein-main-server.service
# REST Service kann gelöscht werden da dieser jetzt im Wildfly integriert ist.
systemctl stop kieselstein-rest-server.service
systemctl disable kieselstein-rest-server.service
rm /etc/systemd/system/kieselstein-rest-server.service
Backup des Kieselstein Dist-Verzeichnis erstellen
Das aktuell installierte Kieselstein in ein eigenes Verzeichnis mit der aktuellen Versionsnummer im Namen wegsichern. Beispiel:
cp -r /opt/kieselstein/ /opt/kieselstein-0.2.10
Neues Java Installieren
- Azul Java 11 mit FX installieren Siehe hierfür auch Java-Version.
Altes Java Deinstallieren (optional)
apt remove <Pfald zum alten Java-Deb-Paket.>
JAVA_HOME Umgebungsvariablen anpassen
Mit vi oder Nano oder einem anderen Texteditor öffnen.
vi /etc/environment
Nur den Wert für JAVA_HOME anpassen, alles andere kann so bleiben wie es ist.
- JAVA_HOME=/usr/lib/jvm/zulu-fx-11-amd64
Neue Umgebungsvariable laden
source /etc/environment
Nicht mehr benötigte Anwendungen entfernen
Reports sichern
Damit die Anwender-Reports nach dem Update wieder zur Verfügung stehen, muss der Reports-Ordner in ein neues Verzeichnis kopiert werden.
mkdir /opt/kieselstein/dist/wildfly-26.1.2.Final/
mkdir /opt/kieselstein/dist/wildfly-26.1.2.Final/kieselstein/
cp -r /opt/kieselstein/dist/wildfly-12.0.0.Final/server/helium/report/ /opt/kieselstein/dist/wildfly-26.1.2.Final/kieselstein/reports/
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 ../kieselstein/data/reports gegeben. Für Details dazu siehe bitte( /docs/installation/10_reportgenerator/anwenderreports/ )Alte Programmdateien löschen
Folgende Ordner können nun komplett gelöscht werden:
rm -rf /opt/kieselstein/dist/apache-tomcat-*
rm -rf /opt/kieselstein/dist/bin
rm -rf /opt/kieselstein/dist/bootstrap
rm -rf /opt/kieselstein/dist/service
rm -rf /opt/kieselstein/dist/wildfly-12.0.0.Final
Installation Kieselstein ERP, Version (aktuelle Version):
Herunterladen aktuelle Kieselstein ERP Version
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 Updaten
cd /opt/kieselstein/dist/bootstrap/liquibase/
./liquibase.sh 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
./liquibase.sh update
noch folgender Befehl aufgerufen werden:./liquibase.sh changelog-sync --label-filter="0.0.12"
Einrichten des Dienstes und starten des Servers
cd /opt/kieselstein/dist/bootstrap/service/linux
./install-kieselstein-services.sh
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
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:
/opt/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>
Datei basierte Dokumenten Datenbank
Man kann das jackrabbit config file mit der DOC_CONFIG
Umgebungsvariable ändern.
Umgebungsvariable auf den folgenden Wert setzen um die Datei-basierte Dokumenten Datenbank zu verwenden.
DOC_CONFIG=/opt/kieselstein/conf/jackrabbit-datastore-fs.xml
Die dokumente werden standardmäsßig in folgenden Ordner gespeichert. Kann mit der DOC_REPO
Umgebungsvariable geändert werden.
DOC_REPO=/opt/kieselstein/data/jackrabbit
<?xml version="1.0" encoding="UTF-8"?>
<Repository>
<Security appName="Jackrabbit">
<AccessManager class="org.apache.jackrabbit.core.security.simple.SimpleAccessManager"/>
<LoginModule class="org.apache.jackrabbit.core.security.simple.SimpleLoginModule">
<param name="anonymousId" value="anonymous"/>
</LoginModule>
</Security>
<Workspaces rootPath="${rep.home}/workspaces" defaultWorkspace="default"/>
<DataStore class="org.apache.jackrabbit.core.data.FileDataStore">
<param name="path" value="${rep.home}/datastore"/>
<param name="minRecordLength" value="100"/>
</DataStore>
</Repository>
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.