Update Kieselstein ERP Server von Version 0.2.x auf 1.x.x unter Debian
Migration von Kieselstein Version 0.2.x auf 1.x.x mit Java-11 Installation unter Debian.
Den Kieselstein ERP Server auf einem frischen Debian installieren.
Dauer ca. 30 Minuten
OpenSSH Server installieren
apt update
apt upgrade
apt install openssh-server
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
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
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.:
systemctl is-enabled postgresql
systemctl status postgresql
Datenbank öffnen
sudo -u postgres psql
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!).
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.
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:
java -version
Für die Datenbankmigrationen, muss das Tool liquibase installiert werden.
wget -O- https://repo.liquibase.com/liquibase.asc | gpg --dearmor > liquibase-keyring.gpg && \
cat liquibase-keyring.gpg | sudo 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' | sudo tee /etc/apt/sources.list.d/liquibase.list
apt-get update
apt-get install liquibase
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
Mit vi oder nano oder anderem Texteditor öffnen.
vi /etc/environment
Wichtig! Die Umgebungsvariablen müssen OHNE export
hinzugefügt werden.
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/
Danach noch einen Applikations-User mit /opt/kieselstein/dist/wildfly-26.1.2.Final/bin/add-user.sh
hinzufügen.
source /etc/environment
oder Server Neustarten
reboot
Verzeichnisse anlegen:
mkdir /opt/kieselstein
mkdir /opt/kieselstein/dist
mkdir /opt/kieselstein/data
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
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.
./liquibase.sh update
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
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 hinein kopieren.
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.
bewährt hat sich das Laufen des Servers in folgender Reihenfolge zu prüfen:
Migration von Kieselstein Version 0.2.x auf 1.x.x mit Java-11 Installation unter Debian.