EBKuS Virtuelle Maschine für VMware

Autor:

Albrecht Schmiedel

EBKuS-VM:

https://ebkus.org/downloads/ebkusvm/debian-10-ebkus-vm.zip

EBKuS-Homepage:

http://www.ebkus.org

Datum:
2020-12-17

[Überschriften und Inhaltsverzeichnis sind gegenseitig verlinkt]

1 Was ist EBKuS-VM?

EBKuS-VM ist ein virtuelle Maschine (VM), auf dem sowohl ein Betriebssystem als auch die Anwendung EBKuS installiert sind. Nach dem Start der VM (Gastsystem) auf einem realen Rechner (Hostsystem) in einer geeigneten Virtualisierungsumgebung stehen die auf dem Gast installierten Anwendungen zur Verfügung. Die virtuelle Maschine verhält sich wie ein zusätzlicher Rechner im lokalen Netzwerk.

Die EBKuS-VM benötigt die VMware Virtualisierungsumgebung. Im einfachsten Fall steht diese in Form des VMware Player zur Verfügung, der kostenlos für Windows und GNU/Linux erhältlich ist:

Die VMware Virtualisierungsumgebung wird aber auch in Rechenzentren verwendet. So laufen sämtliche Berliner EBKuS-Installationen auf einer virtuellen Maschine wie hier beschriebenen, die vom IT-Service des Bezirksamts Friedrichshain-Kreuzberg gehostet wird.

Das Betriebssystem der EBKuS-VM ist Debian GNU/Linux 10 (buster).

Eine grafische Oberfläche gibt es nicht. Der Resourcenverbrauch ist entsprechend gering.

Im ZIP-Archiv befindet sich das Verzeichnis debian-10-ebkus-vm mit allen notwendigen Dateien, u.a.:

2 Schnellstart

Voraussetzung:

Schritte:

  1. VMware Player installieren.

  2. EBKuS-VM herunterladen und auspacken.

  3. Die im Ordner debian-10-ebkus-vm enthaltene Datei efbvm.vmx doppelklicken bzw. mit VMware Player öffnen.

  4. IP-Nummer der gestarteten EBKuS-VM ermitteln:

  • In das schwarze Fenster des Player hineinklicken und Return eingeben, bis die Aufforderung zum Login erkennbar ist.

  • Anmelden als Benutzer ebkus und dem Passwort ebkus.

  • ip a eingeben und mit Return abschicken. Die IP-Nummer erscheint im 2. Eintrag ens32 auf der dritten Zeile nach inet.

  • Durch gemeinsames Drücken der Steuerung- und Alt-Taste die VM-Konsole verlassen.

  1. In das Adressfeld des Firefox (oder auch des IE) folgende Adresse eintippen (<IP-Nummer> durch die ermittelte Nummer ersetzen!):

    https://<IP-Nummer>/ebkus/demo/cgi/do/login
  2. Der Browser beschwert sich, dass es sich nicht um eine sichere Verbindung handelt:

    • Chrome: "Dies ist keine sichere Verbindung"

    • Firefox: "Warnung: Mögliches Sicherheitsrisiko erkannt"

    • Edge: "Ihre Verbindung ist nicht privat"

    Dies liegt daran, dass EBKuS ein selbssigniertes SSL-Zertifikat verwendet. Sie müssen in jedem Fall "Erweitert" auswählen und das als unsicher deklarierte Ziel ansteuern. Beim nächsten Aufruf entfällt diese Warnung, da der Browser eine Ausnahme für diese Adresse speichert. Allerdings bleibt die optische Warnung in der Adresszeile des Browsers.

  3. Anmelden mit Benutzer test mit Passwort test bzw. Admin mit Passwort Admin.

  4. Enjoy!

3 Server Administration

3.1 Arbeiten auf der Kommandozeile

Grundsätzlich kann auf der EBKuS-VM nur mit der Kommandozeile gearbeitet werden, da keine grafische Oberfläche installiert ist.

Entweder man meldet sich direkt auf der virtuellen Konsole an (die einzige Möglichkeit, solange das Netzwerk nicht funktioniert), oder man verwendet ssh, was in der Regel komfortabler ist.

GNU/Linux:

ssh -l ebkus <IP-Nummer>

bzw.

ssh ebkus@<IP-Nummer>

Windows: Früher musste man das Programm putty als ssh-Client installieren, was auch heute noch möglich ist. Allerdings steht in aktuellen Windowssystemen ein OpenSSH-Client direkt zur Verfügung (muss eventuell in den Einstellungen aktiviert werden). Der Aufruf erfolgt genauso wie unter Linux.

In beiden Fällen erhält man nach der Anmeldung eine Konsole, in die man Befehle eingeben kann. Eine minimale Vertrautheit mit Befehlen wie ls, cd, rm, etc. wird vorausgesetzt.

Natürlich ist auch eine passwortlose Anmeldung möglich, wenn man die nötigen ssh-Schlüssel installiert.

3.2 Benutzer und Passwort

Für die Arbeit mit EBKuS ist ein Benutzer ebkus eingerichtet. Das Passwort ist ebenfalls ebkus, das man mit dem Befehl passwd ändern kann. Tip: Wenn man wiederum ein "einfaches" Passwort haben möchte, sollte man als Administrator das Passwort wechseln:

sudo passwd ebkus

Der Benutzer ebkus hat Administratorrechte (sudo-User). Das heißt, er kann jedem Befehl ein sudo voranstellen, der dann mit Root-Rechten ausgeführt wird. Vor der Ausführung wird er evt. nach seinem eigenen Passwort gefragt. So kann er eine Datei bearbeiten, für die nur root über Schreibrechte verfügt:

sudo nano /etc/sshd_config

Innerhalb einer gewissen Zeitspanne können mehrere sudo-Befehle abgesetzt werden, ohne dass eine erneute Passworteingabe verlangt wird.

3.3 Netzwerkkonfiguration

Für die regelmäßige Benutzung von EBKuS ist es unerlässlich, dass die EBKuS-VM immer dieselbe IP-Nummer hat. Ansonsten müsste man beim Zugriff über den Browser immer eine andere Adresse eintragen.

3.3.1 DHCP

Die VM ist so vorkonfiguriert, dass sie ihre IP-Adresse über einen vorhandenen DHCP-Server bezieht. Dies kann eine Weile dauern. Evt. erscheint der Login-Prompt der VM, bevor eine IP-Adresse zugewiesen ist.

Damit der DHCP-Server der VM immer dieselbe IP-Adresse zuweist, muss ein entsprechender Eintrag in die DHCP-Konfiguration vorgenommen werden. Dabei wird die Mac-Adresse der (virtuellen) Netzwerkkarte der EBKuS-VM verwendet. Ein solcher Eintrag ist bei vielen Routern möglich, auch bei solchen, die im privaten Bereich eingesetzt werden. Die Mac-Adresse des virtuellen Servers findet sich in der Datei efbvm.vmx in der Zeile:

ethernet0.generatedAddress = "00:0c:29:38:96:46"

3.3.2 Statische IP-Nummer

Die andere Möglichkeit besteht darin, direkt in der EBKuS-VM eine statische IP-Adresse zu konfigurieren. Dazu muss die Datei /etc/network/interfaces in der VM editiert werden (als Administrator, d.h. der Editor ist immer mit vorangestelltem sudo aufzurufen!).

Dynamische Konfiguration:

# The primary network interface
allow-hotplug ens32
iface ens32 inet dhcp

# auto ens32
# iface ens32 inet static
#     address 192.168.178.68
#     netmask 255.255.255.0
#     gateway 192.168.178.1
#     broadcast 192.168.178.255

Statische Konfiguration mit z.B. mit 192.168.178.68:

# The primary network interface
# allow-hotplug ens32
# iface ens32 inet dhcp

auto ens32
iface ens32 inet static
    address 192.168.178.68
    netmask 255.255.255.0
    gateway 192.168.178.1
    broadcast 192.168.178.255

Damit die Veränderungen in Kraft treten, muss das Netzwerk neu gestartet werden:

sudo systemctl restart networking.service

Die wirksame (dynamisch zugewiesene bzw. statische) IP-Adresse erfährt man mit dem Befehl ip a.

Nach der korrekten Installation und dem Start der VM muss auf dem Hostsystem (oder auf einem anderen Rechner im lokalen Netz) ping <IP-Nummer> funktionieren, wobei <IP-Nummer> die IP-Adresse der VM ist.

3.4 Shares

Auf EBKuS-VM ist eine Samba-Freigabe mit dem Namen ebkus für das Verzeichnis /home/ebkus vorkonfiguriert (/var/lib/samba/usershares/ebkus). Benutzer und Passwort ist ebkus. Dieses Verzeichnis lässt sich auf dem Hostsystem oder auf einem anderen Rechner im lokalen Netzwerk als Netzlaufwerk wie eine Windows-Freigabe einbinden:

  • Windows: im Explorer als Netzlaufwerk verbinden: \\<IP-Nummer>\ebkus

Auf einem anderen Linuxsystem muss das Paket cifs-utils installiert sein.

  • Ubuntu Linux: im Datei-Browser: Datei --> mit Server verbinden: smb://<IP-Nummer>/ebkus

  • Linux Kommandozeile: (<username> und <groupname> sind der lokale Benutzer und die lokale Gruppe, auf die gemapped werden soll):

    mount -t cifs //<IP-Nummer>/ebkus /mnt/ebkus -o username=ebkus,password=ebkus,workgroup=WORKGROUP,iocharset=utf8,uid=<username>,gid=<groupname>
  • Linux in /etc/fstab:

    //<IP-Nummer>/ebkus /mnt/ebkus cifs username=ebkus,password=ebkus,workgroup=WORKGROUP,iocharset=utf8,uid=<username>,gid=<groupname> 0 0

Das Passwort für die Freigabe kann man wie folgt ändern:

sudo smbpasswd ebkus
... [man wird 2x aufgefordert, das neue Passwort einzugeben]

Man kann auch auf der EBKuS-VM freigegebene Dateisystem von anderen Rechnern im lokalen Netzwerk einbinden, sowohl auf der Basis von Samba/Cifs als auch NFS. Beispiele find sich in der Datei /etc/fstab.

3.5 Dateien editieren

Auf der EBKuS-VM selbst gibt es nur die text-basierte Editoren emacs, vi und nano. Nano ist vollständig selbstdokumentierend und daher am einfachsten, wenn man die anderen nicht kennt.

Dateien auf dem Pfad /home/ebkus können Sie auch über die Freigabe ebkus auf dem Hostrechner bzw. einem anderen Rechner im lokalen Netzwerk mit einem beliebigen Editor bearbeiten, z.B. notepad++ auf Windows. Notepad auf Windows ist nicht geeignet, da er nicht gut mit den Unix-üblichen Zeilenenden harmoniert.

Systemdateien, die root-Rechte erfordern, sind nicht für die Bearbeitung auf anderen Rechnern freigegeben und müssen daher im Terminal auf der EBKuS-VM mit einem der installierten Editoren bearbeitet werden.

3.6 Log-Dateien

Da verschiedene Dateien (insbesondere Log-Dateien) mit der Zeit sehr viel Platz einnehmen können, ist es für einen lange Zeit laufenden Server wichtig, dass automatisch und regelmäßig solche Dateien komprimiert und nach einer gewissen Zeit auch gelöscht werden. logrotate ist hierfür das einschlägige Programm auf einem GNU/Linux-System. Die EBKuS-VM ist so konfiguriert, dass sie ohne manuelle Wartung auf diesem Gebiet dauerhaft laufen kann.

Voraussetzung ist jedoch, dass der Rechner zu den Zeiten läuft, wo diese Wartungsprozesse aufgerufen werden. Diese Zeiten sind in der Datei /etc/crontab definiert:

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name command to be executed
17 *    * * *   root    cd / && run-parts --report /etc/cron.hourly
25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6    * * 7   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6    1 * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )

Die 6 in der zweiten Spalte (hour) definiert die Stunde, in der die Wartungsskripte aufgerufen werden. Zu dieser Zeit müsste EBKuS-VM also laufen. Hier kann man eine genehme Stunde eintragen.

Im Notfall kann man auch gelegentlich per Hand das entsprechende Skript anstossen:

sudo logrotate  /etc/logrotate.conf

Die Log-Dateien der EBKuS-Instanzen (siehe unten) (/home/ebkus/ebkus_installation/ebkus/<Instanzname>/<Instanzname>.log) sind in das logrotate-Verfahren eingebunden (Konfigurationseinträge im Verzeichnis /etc/logrotate.d/). Log-Dateien für EBKuS-Instanzen werden 12 Wochen aufbewahrt, ehe sie gelöscht werden.

3.7 Update des Betriebssystems

Ein gelegentliches:

sudo apt-get update

gefolgt von:

sudo apt-get upgrade

hält eine EBKuS-VM mit Internetzugang auf dem neuesten Stand, insbesondere was Sicherheitslücken betrifft. Unattended-upgrades sind nicht eingerichtet.

4 EBKuS-Administration

Auf der EBKuS-VM ist EBKuS vorinstalliert mit der Version 4.10.1. Zur Installation auf GNU/Linux-Systemen im Allgemeinen siehe

https://www.ebkus.org/wiki/Linux_Installation

4.1 Verzeichnisse

Die gesamte EBKuS-Installation findet sich beim Benutzer ebkus unter /home/ebkus.

Verzeichnisse:

  • Installationsverzeichnis: /home/ebkus/ebkus_installation/

  • Homeverzeichnis: /home/ebkus/ebkus_installation/ebkus/

  • Backupverzeichnis: /home/ebkus/backups

  • Distributionen: /home/ebkus/ebkus_distributionen/

4.2 Installierte EBKuS-Instanzen

Auf der VM sind fünf EBKuS-Instanzen konfiguriert:

  • demo (mit Demodaten)

  • demo_berlin (mit Demodaten und dem Berliner Straßenkatalog)

  • demo_braunschweig (mit Demodaten, Braunschweiger Straßenkatalog und Konfiguration für Braunschweig)

  • muster_efb (leere Instanz, lediglich mit Admin-Benutzer)

  • test (für automatisches Tests)

Die Instanzen werden automatisch beim Hochfahren gestartet und sind auf dem Host-Rechner und im lokalen Netz unter folgender URL ansprechbar:

https://<IP-Nummer>/ebkus/<Instanzname>/

<IP-Nummer> ist die IP-Adresse der EBKuS-VM.

Anmelden bei den drei Demo-Instanzen:

  • als Administrator: Benutzer: Admin, Passwort: Admin

  • als Bearbeiter: Benutzer: test, Passwort: test

Anmelden bei der leeren Instanz muster_efb und bei test ist nur als Administrator möglich:

  • Benutzer: Admin, Passwort: Admin

Als Administrator können dann weitere Benutzer eingerichtet werden.

4.3 Instanzen starten/anhalten/Status abfragen

Es gibt das Skript ebkusctl, mit dem sich die einzelnen EBKuS-Instanzen steuern lassen:

ebkusctl <Instanzname oder all> <start|restart|stop|status>

z.B.:

ebkusctl --help # (oder -h)
ebkusctl all stop
ebkusctl demo_berlin status

Das Skript erfordert root-Rechte, man wird also zur Eingabe eines Passwortes aufgefordert. Dabei ist das eigene Passwort anzugeben, also ebkus, falls man kein neues Passwort eingerichtet hat. Das Skript selbst ist Teil der EBKuS-Distribution und steht im Homeverzeichnis. Ein symbolischer Link in /home/ebkus/bin sorgt dafür, dass der ebkus-Benutzer es überall als Kommando aufrufen kann.

Alle Instanzen sind standardmäßig als Dienste eingerichtet, die beim Hochfahren des Systems automatisch gestartet und beim Herunterfahren automatisch angehalten werden.

Zum Administrieren oder zur Fehlersuche kann man auch in ein einzelnes Instanzverzeichnis gehen kann und die dort vorgefundenen Skripte verwenden, z.B. für die Instanz demo_berlin:

cd /home/ebkus/ebkus_installation/ebkus/demo_berlin
./status.py
./stop.py
./start.py --console

Eine auf diese Weise gestartete Instanz schreibt ihre Ausgabe auf die Konsole anstatt in die Log-Datei.

4.4 Einrichten einer neuen EBKuS-Instanz

  1. Mit einem Texteditor die neue Instanz in die Konfigurationsdatei eintragen:

    cd /home/ebkus/ebkus_installation/ebkus/
    nano ebkus.conf

    Zu beachten:

    • Wenn der Instanzname mit demo_ anfängt, werden automatisch Beispieldaten generiert. Eine solche Instanz ist für die Produktion ungeeignet.

    • Unbedingt eine noch nicht verwendete Port-Nummer für die neue Instanz vergeben!

    • Hinweise auf neue, in https://www.ebkus.org/wiki/Konfiguration noch nicht dokumentierte Konfigurationsvariablen finden sich in der Versionsgeschichte bzw. in der Datei:

      /home/ebkus/ebkus_installation/ebkus/doc/VERSIONS_GESCHICHTE.html
  1. Das configure.py-Skript ausführen:

    cd /home/ebkus/ebkus_installation/ebkus/
    ./configure.py <Instanzname>
  2. Apache neu starten:

    sudo systemctl restart apache2.service
  3. Instanz starten:

    ebkusctl <Instanzname> start
  4. Eventuelle Fehlersuche im Instanzverzeichnis mit:

    ./start.py --console

4.5 Löschen einer EBKuS-Instanz

  1. Instanz anhalten:

    ebkusctl <Instanzname> stop
  2. uninstall.py-Skript ausführen:

    cd /home/ebkus/ebkus_installation/ebkus/
    python uninstall.py /home/ebkus/ebkus_installation <Instanzname>
  3. Mit einem Texteditor die gelöschte Instanz aus der Konfigurationsdatei entfernen:

    cd /home/ebkus/ebkus_installation/ebkus/
    nano ebkus.conf
  4. Apache neu starten:

    sudo systemctl restart apache2.service

4.6 Datenbank Passworte

Die Datenbank-Passworte für die EBKuS-Instanzen stehen in der Konfigurationsdatei ebkus.conf. Für den Datenbankbenutzer root ist kein Passwort vorkonfiguriert. Ein Sicherheitsrisiko stellt das im Normalfall nicht dar, da die Datenbank so konfiguriert ist, dass sie nur lokal von der EBKuS-VM aus angesprochen werden kann.

Direkter shell-Zugriff auf die Datenbank:

mysql -uroot

Es kann natürlich ein entsprechendes Passwort in Mysql eingerichtet werden. Das muss dann in ebkus.conf im Abschnitt [ebkus] als Wert von database_admin_password angegeben werden.

4.7 Backups

4.7.1 Dump

Zusätzlich zu dem in jedem Instanzverzeichnis verfügbare Skript datenbank_sichern.py, mit dem alle relevanten Daten einer Instanz in eine Zipdatei gepackt werden, gibt es das Skript ebkusdump, das z.B. so aufgerufen werden kann:

ebkusdump all /home/ebkus/backups

Damit wird für jede Instanz eine Datensicherung in das angegebene Backup-Verzeichnis geschrieben. Weitere Aufrufmöglichkeiten:

ebkusdump help
ebkusdump demo_berlin /home/ebkus

Die Datensicherung sollte sinnvollerweise vollautomatisch erfolgen, was mit Hilfe entsprechender Cronjobs erreicht werden kann.

Für die Dauer der Datensicherung sollten die EBKuS-Instanzen heruntergefahren werden. Damit ist man ganz auf der sicheren Seite, was die Integrität der gesicherten Daten anlangt. Da zum Stoppen der Instanzen root-Rechte erforderlich sind, wird die automatisierte Datensicherung in einem Cronjob von root durchgeführt.

Das Skript backup fasst die nötigen Vorgänge zusammen: Stoppen der Instanzen, Durchführung der Datensicherung gefolgt von Starten der Instanzen. Im Crontab von root steht daher die Zeile:

# Taeglich Backups
# 57 2 * * * /home/ebkus/bin/backup alle /home/ebkus/backups  > /home/ebkus/backups/letztes_backup.log

Nach dem Entfernen des Kommentarzeichens werden dann Backups jede Nacht um 2:57 Uhr durchgeführt in des Verzeichnis /home/ebkus/backups. Den Erfolg des letzten Backups kann man in der Datei /home/ebkus/backups/letztes_backup.log überprüfen, die aber jedes Mal überschrieben wird. Um eine andere Backupzeit oder ein anderes Backupverzeichnis zu nehmen, muss man den Crontab von root mit:

sudo crontab -e

bearbeiten. Einen anderen Editor wählt man mit dem Befehl select-editor. Ein anderes Backupverzeichnis wird man insbesondere dann angeben, wenn man die Backups gleich auf einem Netzlaufwerkwerk ablegen will.

4.7.2 Prune

Damit die Backups über die Monate und Jahre nicht unkontrolliert wachsen, gibt es ein Skript prune.py, das gemäß einer definierten Aufbewahrungsrichtlinie alte Backups löscht. Dieses Skript kann ebenfalls über einen Cronjob ausgeführt werden. Dazu muss die entsprechende Zeile im Crontab von root entkommentiert werden:

# Sonntags alte Backups gemaess Aufbewahrungsrichtlinie loeschen.
# Die Richtline im Skript selbst bearbeiten, oder hier weitere Parameter als Option angeben
# 20 3 * * 7 /home/ebkus/bin/prune.py -v --keep-days 70 /home/ebkus/backups > /home/ebkus/backups/letztes_prune.log

Mit der eingetragenen Zeit würde das Prune-Skript jeden Sonntag um 3:20 Uhr laufen.

Die Aufbewahrungsrichtlinie besteht aus fünf Parametern:

  • keep-years: Anzahl der Jahre, für die das jeweils neueste Backup aufbewahrt wird (Default: 30)

  • keep-months: Anzahl der Monate, für die das jeweils neueste Backup aufbewahrt wird (Default: 36)

  • keep-weeks: Anzahl der Wochen, für die das jeweils neueste Backup aufbewahrt wird (Default: 26)

  • keep-days: Anzahl der Tage, für die das jeweils neueste Backup aufbewahrt wird (Default: 60)

  • keep-versions: Anzahl der Versionen, für die das jeweils neueste Backup aufbewahrt wird (Default: 50)

D.h. tägliche Backups werden 60 Tage aufbewahrt, wöchentliche für 26 Wochen, usw. Ebenso das letzte Backup für jede EBKuS-Version, die durch ein Update durch eine neuere ersetzt wird. Damit bleibt die Größe des Backupverzeichnisses nach einiger Zeit fast konstant, da lediglich ein Backup pro Jahr und eins pro Version dazukommen. Die Defaultparameter können beim Aufruf des Skripts durch andere Werte ersetzt werden, wie im Beispiel 70 Tage anstatt dem Defaul von 60.

4.7.3 Rsync

Die Backups müssen auf alle Fälle regelmäßig von der EBKuS-VM auf einen sicheren Backupserver kopiert werden, damit die Daten auch bei einer völligen Korrumpierung der EBKuS-VM erhalten bleiben. Dies kann ebenfalls automatisiert über einen Cronjob erfolgen, z.B.:

# Sonntags auf einen anderen Server kopieren, auf dem eine regelmaessige Datensicherung eingerichtet ist
# ssh-Keys muessen installiert sein
# 25 3 * * 7 /usr/bin/rsync -a --delete -e ssh /home/ebkus/backups/ <user>@<backup-server>:/<pfad zu ebkus backups>/

Dazu ist die Zeile mit dem rsync-Aufruf zu entkommentieren, und es müssen natürlich die korrekten Usernamen, Servernamen bzw. IP-Adressen und Pfade eingetragen werden. Ebenso wird vorausgesetzt, dass die nötigen ssh-Schlüssel installiert sind, damit der Vorgang ohne Passworteingabe stattfinden kann.

5 Migration von einer bestehenden EBKuS-Installation

Für die Migration einer bestehenden Installation auf die EBKuS-VM werden die Konfigurationsdatei ebkus.conf benötigt sowie eine Sicherungsdatei für jede Instanz ("demo_backup_v4.8_2019-08-27_20-09-55.zip"). Die Sicherungsdateien können in der alten (Linux-)Installation auf einen Schlag mit:

ebkus_dump all backup_verzeichnis/

erzeugt werden, oder auf einer alten Windowsinstallation einzeln in dem jeweiligen Instanzverzeichnis:

cd ebkus_installation\ebkus\demo
python datenbank_sichern.py --zip

Diese Dateien werden zusammen in ein eigenes Verzeichnis auf der EBKuS-VM kopiert, z.B. /home/ebkus/ebkus_preconfig. Nun muss in der ebkus.conf für jede Instanz der Name der Datei eingetragen werden, mit der die Instanz initialisiert werden soll:

[demo]
instance_name: demo
initial_content: demo_backup_v4.8_2019-08-27_20-09-55.zip

Des Weiteren müssen die ersten drei Abschnitte der alten ebkus.conf angepasst werden. Dabei kann die auf der EBKuS-VM vorkonfigurierte Konfigurationsdatei (~/ebkus_installation/ebkus/ebkus.conf) als Vorlage dienen. Insbesondere muss unter server_name die korrekte IP-Nummer des Rechners eingetragen werden. (Zu den anderen Konfigurationsvariablen siehe auch https://www.ebkus.org/wiki/Konfiguration.)

Nun kann die vorhandene vorkonfigurierte Installation entfernt werden. Alle Instanzen stoppen, in das Distributions verzeichnis gehen und das ùninstall.py-Skript aufrufen:

ebkusctl all stop
cd /home/ebkus/ebkus_distributionen/EBKuS-4.10.1
python uninstall.py --all ~/ebkus_installation/

Es ist sicherzustellen, dass im Installationsverzeichnis das Homeverzeichnis ebkus nicht mehr existiert.

Nun kann eine neue EBKuS-Installation mit der neuesten EBKuS-Version eingerichtet werden, zusammen mit der Konfiguration und den Daten aus der alten Installation:

cd /home/ebkus/ebkus_distributionen/EBKuS-4.10.1
python install.py -p ~/ebkus_preconfig/ ~/ebkus_installation/
sudo systemctl restart apache2.service

Bei Problemen mit den Starten/Stoppen von Instanzen hilft evt. ein:

sudo systemctl daemon-reload

bzw. ein Neustart der EBKuS-VM.