SchulungsClient
Unter SchulungsClients sollen hier (virtuelle) Maschinen verstanden werden, die für einen Teilnehmenden bzw. einen Schulungsplatzinstanz zur Verfügung stehen.
Anforderungen
- der SchulungsClient sollte eine virtuelle Maschine sein, so dass unabhängig von der zur Verfügung stehenden Hardware geabreitet werden kann
- wenn möglich sollen keine Lizensen an den Client gebunden sein, so dass dieser bedenkenlos weitergegeben werden kann.
- der Client sollte updatefähig sein
- über den Client sollten Schulungsmedien bereitgestellt werden können, die individuell bearbeitbar sind
- der Client soll verschiedene Schulungsdatenbanken einbinden können
- die Fortbilder sollen den Client auf Ihre Berüfnisse anpassen können
- der Client sollte auf verschiedenen Plattformen (Proxmox, VMWare, ... ) betrieben werden können
- der Client sollte remote steuerbar sein (rdp,vnc, x2go, ...)
- der Client sollte ressourcenschonend betrieben werden können
Installation des Grundsystems
Installation des SVWS-Servers
Bereitstellung der Schulungsmedien
Installation Schild3
Zurücksetzen und Einspielen neuer Datenbanken
Löschen der vorhanden Datenbanken auf der Konsole des SVWS-Servers per curl Aufruf:
bash
#!/bin/bash
############################### update-svwsdbs.sh #########################################
#
##
# [Einstellungen]
##
SERVERNAME=Bitte_Domainnamen_angeben
PORT=8443 #i.d.R ist das so korrekt
MYSQLROOTPW=Bitte_PW_angeben
MDB_PW=Bitte_PW_angeben
#
# SQLITE Datenbanken, die angelegt werden sollen:
DB_1_NAME=TestDB_G # falls gesetzt, sonst leere Datenbank
DB_1_USER=svwsadmin
DB_1_MYSQL_PW=svwsadmin
DB_1_PATH=/SVWS-TestMDBs/DB1.sqlite
#
#
##
# [Beispiel: Datenbanken download]
##
# wget https://github.com/SVWS-NRW/Schulungsunterlagen/blob/master/LeistungsdatenSekII/DB/1_Gym_Jg10_ohneWahlen.sqlite
# mkdir /SVWS-TestMDBs
# mv 1_Gym_Jg10_ohneWahlen.sqlite /SVWS-TestMDBs/DB1.sqlite
#
##
# [Löschen der DB1]
##
echo "DB1 wird gelöscht"
curl --user "root:${MYSQLROOTPW}" \
-k -X "POST" "https://${SERVERNAME}:${PORT}/api/schema/root/destroy/${DB_1_NAME}" \
-H "accept: application/json"
#
##
# [Neu Anlegen einer DB1 aus SQLITE-File]
#
curl --user "root:${MYSQLROOTPW}" \
-X "POST" "https://${SERVERNAME}:${PORT}/api/schema/root/import/sqlite/${DB_1_NAME}" \
-H "accept: application/json" \
-H "Content-Type: multipart/form-data" \
-F "database=@${DB_1_PATH}" \
-F "schemaUsername=${DB_1_USER}" \
-F "schemaUserPassword=${DB_1_MYSQL_PW}"
#
##
# [Beispiel: MDB Datenbanken migrieren]
##
# DB_2_NAME=TestDB_G # falls gesetzt, sonst leere Datenbank
# DB_2_USER=svwsadmin
# DB_2_MYSQL_PW=svwsadmin
# DB_2_PATH=/SVWS-TestMDBs/DB2.mdb
#
# Beispiel: Neu Anlegen der DB2 als Migration aus MDB
# echo "DB1 wird angelegt"
# curl --user "root:${MYSQLROOTPW}" \
# -k -X "POST" "https://${SERVERNAME}:${PORT}/api/schema/root/migrate/mdb/${DB_2_NAME}" \
# -H "accept: application/json" \
# -H "Content-Type: multipart/form-data" \
# -F "databasePassword=${MDB_PW}" \
# -F "schemaUsername=${DB_2_USER}" \
# -F "schemaUserPassword=${DB_2_MYSQL_PW}" \
# -F "database=@${DB_2_PATH}"
#
Im Skript auskommentiert ist hier die Möglichkeit auch vorhandene Datenbanken zu migrieren. Die Methode ein SQLite Backup einzuspielen ist jedoch wesentlich performanter als die Mirgation einer Access Datenbank und sollte hier primär verwendet werden.