Installation / Konfiguration von VirtualBox und phpVirtualBox

VirtualBox ist eine Virtualisierungssoftware mit der virtuelle Rechner erstellt werden können um z.B. andere Betriebssysteme zu testen oder Systeme aus Sicherheitsgründen von einander zu trennen.

 Grundlagen

Installation

Konfiguration

Virtualisierung Installation VirtualBox Konfiguration Virtualbox (CLI)
Installation phpVirtualBox Konfiguration phpVirtualbox
Konfiguration Gemeinsame Ordner
Auf Gastsystem zugreifen
Terminal Befehle
Bildschirmauflösungen d. Gastsystems
———————————————- ———————————————- ———————————————-

Virtualisierung

Unter Virtualisierung versteht man die Emulierung von Hardware. Dabei wird durch die Virtualisierungssoftware auf dem Hostssystem die gesamte Hardware zum Betrieb eines Betriebssystems bereitgestellt. Die Gastsysteme („VMs“) verhalten sich dabei wie „echte“ Rechner. Durch Virtualisierung kann ein Großteil an Hardware eingespart werden.

Installation VirtualBox

Voraussetzung ist eine Debian 11|12, Apache und PHP Installation. Die Installation kann über manuell heruntergeladene Packe aus dem phpVirtualbox Archiv oder mit Hilfe der Virtualbox Repositories erfolgen. Die Installation über Repositories von Virtualbox wird im Folgenden kurz beschrieben :

  1. Virtualbox Repository hinzufügen ( Debian / Ubuntu / APT basierte Distributionen ):
  2. Virtualbox Repository Signatur laden und registrieren
  3. Aktuellste Virtualbox Version installieren :
  4. Virtualbox Extensionpack laden und installieren :
  5. Virtualboxwebservice Init Script kopieren und ggf. Startverzögerung einstellen ( nur bei Debain 11 nötig ) :

Zurück zur Übersicht


Installation phpVirtualBox

  1. phpVirtualbox herunterladen und entpacken
  2. phpVirtualbox Konfigurationsdatei für Apache Webserver kopieren und anpassen :

Zurück zur Übersicht


Konfiguration phpVirtualbox

  1. Benutzer für phpVirtualbox anlegen
    phpVirtualbox sollte aus Sicherheitsgründen unter einem eigenen Benutzer betrieben werden, da das Userpasswort für den Virtualbox User im Klartext gespeichert wird.
  2. Anlegen und zuweisen eines Virtualboxnutzers :

    phpVirtualbox für User konfigurieren ( manuelles editieren der /var/www/phpvirtualbox/config.php Datei – Sonderzeichen mit \ maskieren)

    folgende Variablen in /var/www/phpvirtualbox-master/config.php Datei anpassen ( manuelles editieren )

    phpVirtualBox für User konfigurieren ( automatisches editieren )
  3. phpvirtualbox für apache aktivieren

  4. Verbinden mit phpVirtualbox Server
  • phpVirtualbox ist nun unter dem Link : http://IP-DES-VIRTUALBOXSERVERS/phpvirtualbox erreichbar. Dies ist der Virtualbox Manager wie er auf einem Lokalen System gestartet wird. Der Standard-Benutzername und Kennwort lautet : admin/admin. Hier sollte umgehend ein sicheres Passwort gewählt werden
  • Mit Remmina oder vergleichbaren Remotedesktop Clienten kann sich direkt auf eine durch den Virtualbox Manager gestartete Virtuelle Maschine eingeloggt werden. Jeder Virtuellen Maschine muss dabei ein eigener Port zugewiesen werden.
  1. Virtualbox Guest Additions

    Das phpvirtualbox Webinterface bietet keine Möglichkeit die VirtualBox Guest Additions über das virtuelle Laufwerk des Clients zu installieren. Die VirtualBox Guest Additions.iso Datei kann HIER heruntergeladen werden (Auf Version achten), alternativ befindet sich das ISO Image der installierten VirtualBox Version unter /usr/share/virtualbox/VBoxGuestAdditions.iso.

Zurück zur Übersicht


Konfiguration Shared Folder

Freigegebene Ordner befinden sich physisch auf dem Host und werden für den Gast über einen speziellen Dateisystemtreiber in den Guest Addons bereitgestellt. Für Windows-Gäste werden freigegebene Ordner als Pseudo-Netzwerk-Redirector implementiert. Für Linux- und Oracle Solaris-Gäste stellen die Guest Addons ein virtuelles Dateisystem bereit. Der Virtuabox Benutzer auf dem Host sowie der Gast Benutzer in der VM müssen der Gruppe “vboxsf” hinzugefügt werden.

Es gibt mehrere Möglichkeiten, freigegebene Ordner für eine virtuelle Maschine einzurichten:

      • GUI => Unter Geräte im VM Menu befindet sich die Option „Freigegebene Ordner“
      • CLI => VBoxManage sharedfolder add “VM name” –name “sharename” –hostpath “/path/on/host” ( –transient (temporär) )

Die Freigaben selbst können mit folgenden Optionen konfiguriert werden:

      • Permanente Freigaben ( dauerhafte Freigabe, gespeichert in VM Einstellungen )
      • Temporäre Freigaben ( nur während der laufenden VM aktiv, keine dauerhafte Speicherung )

Symlinks des Hosts ( Linux, Solaris ) können nur nach Aktivierung in den VM Einstellungen vom Gast gelesen werden und sind aus Sicherheitsgründen nicht automatisch aktiv.

Info docs.oracle.com

Zurück zur Übersicht


Auf Gastsystem zugreifen

Für die Grafische Verwaltung des Gastsystems auf dem VM Server bieten sich drei Möglichkeiten.

  • Zum einen kann die Virtuelle Maschine über das phpvirtualbox interface und das rdp Protokoll direkt verwaltet werden. Allerdings ist dabei der Login für alle virtuellen Maschinen gleich, da diese alle unter einem Konto laufen ( vbox s.o. ).
  • Eine weitere Möglichkeit besteht darin, direkt auf die Virtuellen Maschinen via Remotedesktop zuzugreifen. Dazu muss die Virtuelle Netzwerkkarte allerdings als Netzwerkbrücke konfiguriert werden.
  • phpVirtualbox bietet jedoch auch auch die Option, über manuelles Editieren der Konfigurationsdateien für jede virtuelle Maschine ein eigenes Benutzerkonto anzulegen.

Zurück zur Übersicht


Terminal Befehle

  • Verfügbare Virtuelle Maschinen auflisten :
  • Virtuelle Maschine starten :
  • Virtuelle Maschine im Headless Modus starten ( VM wird ohne Displayausgabe gestartet )
  • Detaillierte Informationen zu einer Virtuellen Maschine :
  • Shared Folder erstellen :
  • Symlinks für Shared Folder aktivieren

    Auflistung der Parameter des Virtualbox Managers im Terminal :
  • Virtualbox Headless Control
  • Create/Manage VirtualBox VMs from the Command Line
  • Ausführliche Erklärung der Virtualbox Funktionsweise

 Infosource / Infosource2

Zurück zur Übersicht


Bildschirmauflösungen d. Gastsystems

Die Auflösungen eines Linux Gastsystems lassen sich durch folgenden Befehl auf dem phpVirtualboxserver (temporär) oder Einträge in der /etc/X11/xorg.conf des Gastsystems (dauerhaft) festlegen :

 

Zurück zur Übersicht


 Bekannte Fehlerquellen :

  • VirtualBox lässt sich nach Update nicht starten.
    => Kerneltreiber wurden nicht neu compiliert :
  • Virtualbox Systemd Autostart funktioniert nicht ( Kerneltreiber noch nicht geladen )
    => Dienstneustart über cron (Zeile hinzufügen): @reboot sleep 5 && systemctl restart vboxweb.service
    => Startverzögerung einstellen ( “ExecStartPre=/bin/sleep 5” in “/etc/systemd/system/vboxweb.service” ) :
  • USB Geräte lassen sich nicht an VM durchreichen.
    => Benutzer ist nicht in vboxusers Gruppe
  • Einloggen ins Webinterface meldet Falschen Benutzernamen oder Passwort:
    • in /etc/default/virtualbox festgelegter User ist nicht Mitglied Gruppe vboxusers
    • in /var/www/phpvirtualbox/config.php festgelegter user weicht von user in /etc/default/virtualbox ab
    • default Login => user: admin / pass: admin
  • Remote Desktopverbindung kann nicht hergestellt werden ( VirtualBox Remote Display Extension nicht aktiviert):
    • RDP für einzelne VM aktivieren und für Lan Verbindungen freigeben
    • RDP für alle VMs aktivieren und für Lan Verbindungen freigeben
  • Hardware Uhr des Gastsystem wird nach einer Pause der Virtuallen Maschine nicht aktualisiert.

Sonstige Infos :

Virtualbox Quellcode Ab Version 4.0 wurde VirtualBox als OpenSource freigegeben. Da sowohl die unfreie Version und auch die Open-Source-Version des Herstellers keinen Sourcecode mitliefert, sollte man abwägen, ob die Quellen in die Paketquellen eingetragen werden sollten.

Versionsupdate Ein Update mit Versionssprung (major update) erfordert das Entfernen der niedrigeren/alten/installierten Version. Dabei gehen weder Einstellungen, noch virtuelle Maschinen verloren. Die Gasterweiterungen der Clients nach der Neuinstallation von Virtualbox müssen ebenfalls für die aktualisierte Version angepasst werden.


CC_BY_NC_SAby Speefak | wiki.debian.org | github.com

 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Back To Top