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.
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
apt-get update
apt-get install liquibase
Auch hier kannst du prüfen, ob die Installation gegangen ist.
liquibase --version
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.
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 hineinkopieren.
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.