Installation auf Rocky-Linux 9 oder RedHat 9
Installation openjdk
shell
dnf install java-21-openjdk-devel.x86_64
java --versionInstallation benötigter Tools
shell
dnf -y install unzip
dnf -y install tar
dnf -y install wget
dnf -y install net-tools
dnf -y install nmapDownload der SVWS-Server Pakete
wget https://github.com/SVWS-NRW/SVWS-Server/releases/download/v0.x.x/linux-installer-x.x.x.tar.gz
Entpacken der SVWS-Serverdateien
tar xzf ./linux-installer-0.7.8.tar.gz
Erstelle Verzeichnisse
bash
mkdir -p /opt/app/svws
mkdir /opt/app/svws/client
mkdir /opt/app/svws/conf
mkdir /opt/app/svws/adminclient
mkdir -p /etc/app/svws/conf/Kopiere App, Konfigurationen und Zertifikate
bash
cp -r ./svws/app /opt/app/svws/
cp -r ./svws/conf /etc/app/svws/Entpacke die Clients in die entsprechenden Verzeichnisse
bash
unzip -d /opt/app/svws/client ./svws/app/SVWS-Client.zip
unzip -d /opt/app/svws/adminclient ./svws/app/SVWS-Admin-Client.zipErstelle den SVWS-Keystore
bash
keytool -genkey -noprompt -alias alias1 -dname "CN=test, OU=test, O=test, L=test, S=test, C=test" -keystore /etc/app/svws/conf/keystore -storepass test123 -keypass test123 -keyalg RSAErstelle svwsconfig.json
bash
cp ./svws/conf/svwsconfig-template-nodb.json /etc/app/svws/conf/svwsconfig.jsonAnpassen der Variablen in der svwsconfig.json
json
{
"EnableClientProtection" : null,
"DisableDBRootAccess" : false,
"DisableAutoUpdates" : false,
"UseHTTPDefaultv11" : false,
"PortHTTPS" : "8443",
"UseCORSHeader" : false,
"TempPath" : "tmp",
"TLSKeyAlias" : "",
"TLSKeystorePath" : "/etc/app/svws/conf",
"TLSKeystorePassword" : "test123",
"ClientPath" : "./client",
"AdminClientPath" : "./adminclient",
"LoggingEnabled" : true,
"LoggingPath" : "logs",
"ServerMode" : "stable",
"DBKonfiguration" : {
"dbms" : "MARIA_DB",
"location" : "mariadbserver:port",
"defaultschema" : "",
"SchemaKonfiguration" : []
}
}Erstelle einen symbolischen Link zur Konfigurationsdatei
bash
ln /etc/app/svws/conf/svwsconfig.json /opt/app/svws/svwsconfig.jsonKopiere svws-template.service nach etc/systemd/system und dann Parameter darin (s.u.) ändern
bash
cp ./svws/svws-template.service /etc/systemd/system/svws.serviceOder ServiceDatei für Systemd ertsellen und in etc/systemd/system ablegen
toml
[Unit]
Description=SVWS-Server
[Service]
WorkingDirectory=/opt/app/svws
ExecStart=java -cp "svws-server-app-*.jar:/opt/app/svws/app/*:/opt/app/svws/app/lib/*" de.svws_nrw.server.jetty.Main
User=svws
Type=simple
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.targetEinrichten des SVWS-Service als Systemd-Service
Erstellen der Gruppe "svws" und des Nutzers "svws" ohne Login Shell (-s /bin/false)
Der Nutzer wird der Gruppe "svws" zugewiesen und besitzt Lese-/Schreibzugriff auf die relevanten Verzeichnisse
bash
/usr/sbin/groupadd -r svws
/usr/sbin/useradd -r -s /bin/false -g svws svws
chown -R svws:svws /opt/app/svws
chown -R svws:svws /etc/app/svws/Aktualisieren der Systemd-Konfigurationen und Starten des Services
Der Service wird automatisch gestartet, sobald das System hochfährt (systemctl enable)
bash
systemctl daemon-reload
systemctl start svws.service
systemctl enable svws.serviceredhat_updaterÜberprüfen des Status des Services
bash
systemctl status svws.serviceLösche das Verzeichnis 'svws' im Home-Verzeichnis
bash
rm -r ./svwsLösche das Verzeichnis 'init-scripts' im Home-Verzeichnis
bash
rm -r ./init-scriptsFirewall öffnen optional
bash
firewall-cmd --add-port=8443/TCP
firewall-cmd --zone=public --permanent --add-port 8443/tcp
firewall-cmd --runtime-to-permanentUser auf der MariaDB einrichten
Bei dieser Konstellation greift der SVWS-Server auf einen externen MariaDB-Server zu. Hierfür wird dort ein user benötigt der Schemata anlegen/löschen darf und auch von außerhalb zugreifen darf. Das Recht user anzulegen, die weniger Rechte haben wird auch benötigt. Sollte der User keine Rechte haben, Schemata anzulegen oder zu löschen, so muss das dann vorher vom Datenbankadministrator gemacht werden.