VirtualBox-Desktops mit phpVirtualBox per Web-Interface administrieren
Mit phpVirtualBox können Sie virtuelle Maschinen, die mit Oracle VM VirtualBox laufen, über eine Web-Oberfläche administrieren, starten und stoppen.
Die Benutzung von Oracle VM VirtualBox für Desktop-Virtualisierung ist nicht ungewöhnlich. Wussten Sie aber, dass Sie VirtualBox-Desktops via Web administrieren können?
Natürlich lassen sich mit der Virtualisierungs-Software virtuelle Maschinen (VM) auf einem Desktop betreiben. Allerdings muss nicht jede Instanz auf diesem Wege laufen. Viele Implementierungen von VirtualBox laufen auf einem Computer und Clients verbinden sich von einem anderen Rechner. Dabei sind die virtuellen Maschinen komplett headless, also ohne einen Bildschirm. Allerdings kann sich das Arbeiten mit VirtualBox von einem anderen Rechner aus schwierig gestalten. Deswegen haben Drittanbieter diverse Methoden entwickelt, wie Sie auf das Interface von VirtualBox via Browser und Web zugreifen können.
Das erfolgreichste und auch vollständigste dieser Projekte ist phpVirtualBox von Ian Moore. Es imitiert die komplette Oberfläche von VirtualBox und ist in PHP geschrieben. Damit können Sie remote auf virtuelle Maschinen zugreifen, die mit VirtualBox laufen. Das funktioniert unter Zuhilfenahme des Remote Desktop Protocols (RDP).
phpVirtualBox benutzen
Voraussetzungen: Die Technologie phpVirtualBox benötigt zwei Dinge: Zum einen muss VirtualBox auf einem Computer laufen, der über das Netzwerk erreichbar ist. Zum anderen brauchen Sie einen Web-Server, der die phpVirtualBox-Applikation hosten kann. Ein moderner Browser ist natürlich ebenfalls notwendig.
Weitere Infos zu VirtualBox
Eignet sich VirtualBox für die Server-Virtualisierung?
Mit Portable-VirtualBox jedes Betriebssystem von einem USB-Stick laufen lassen
Benutzen Sie phpVirtualBox auf einem System, das bereits einen Web-Server im Betrieb hat, können Sie die phpVirtualBox-Dateien einfach auf diesem Server installieren. Ist das nicht der Fall, hilft die Installation eines einfachen Web-Servers. Die phpVirtualBox-Entwickler empfehlen XAMPP, was ich auch tun würde. Natürlich muss der phpVirtualBox-Server nicht die Maschine sein, auf der VirtualBox läuft. Die beiden Rechner müssen lediglich ungehindert über das Netzwerk kommunizieren können.
Installation: Der Installations-Prozess von phpVirtualBox unterscheidet sich abhängig von der verwendeten Plattform ziemlich. Gleich ist nur, dass Sie auf jeden Fall den Service vboxwebsrv laufen lassen müssen. Über diesen verbinden Sie sich remote zu VirtualBox und dürfen somit die Software administrieren. Weiterhin müssen Sie phpVirtualBox intern so konfigurieren, dass sich angemeldete Anwender damit authentifizieren können. Es sind verschiedene Authentifizierungs-Methoden denkbar. Zum Beispiel würde auch LDAP anstelle von .htaccess funktionieren.
Virtuelle Maschinen starten: Die phpVirtualBox-Oberfläche imitiert das Interface von VirtualBox fast detailgetreu. Haben Sie bereits Erfahrung mit VirtualBox gesammelt, dann sollten Sie ohne Probleme auch mit phpVirtualBox zurechtkommen. Ein Hauptunterschied zeigt sich beim Doppelklick auf eine virtuelle Maschine. Unter phpVirtualBox wird diese nicht automatisch gestartet. Stattdessen öffnen sich die Einstellungen für diese VM.
Wollen Sie eine virtuelle Maschine mithilfe von phpVirtualBox starten, klicken Sie auf den Namen der VM und danach oben Links auf Start. Sobald Sie eine VM starten, in den Schlafmodus schicken oder herunterfahren, erscheint am unteren Ende eine Fortschrittsanzeige. Wollen Sie den derzeit laufenden Prozess abbrechen, klicken Sie rechts neben diesem Fortschrittsbalken auf Cancel.
Wollen Sie sich mit der Konsole dieser virtuellen Maschine verbinden, klicken Sie oben rechts auf die Schaltfläche Console. Möchten Sie diese Konsole in einem eigenen Fenster betrachten, klicken Sie zunächst auf die Schaltfläche Console, verbinden sich dann mit dem Server und klicken im Anschluss auf Detach.
Bevor Sie sich mit einer VM-Konsole via phpVirtualBox verbinden, müssen Sie den „VirtualBox Extension Pack“ für die von Ihnen eingesetzt Version von VirtualBox installieren. Damit aktivieren Sie Funktionen wie Zugriffe von außen via Remote Display. Sollten Sie diesen Schritt auslassen, können Sie mit phpVirtualBox den Desktop der virtuelle Maschine nicht administrieren. Die entsprechenden Maschinen headless zu betreiben, ist natürlich möglich. Durch phpVirtualBox verwaltete Server starten sich übrigens automatisch im Headless-Modus. Weiterhin müssen Sie für jede einzelne Maschine Microsofts Remote Display Protocol (RDP) konfigurieren.
Beachten Sie, dass einige Maschinen Remote Display nicht unbedingt benötigen. Lassen Sie einen Windows-Server in VirtualBox laufen, auf den Sie via RDP zugreifen, brauchen Sie natürlich Remote Display von VirtualBox nicht. Die Ausnahme ist hier, wenn Sie alle Funktionen von VirtualBox inklusive Remote Display in der phpVirtualBox-Oberfläche verwenden möchten.
Weitere Tipps für die Benutzung von VirtualBox
Möchten Sie VirtualBox über eine Web-Schnittstelle verwalten, gibt es allerdings ein paar Vorbehalte und Einschränkungen
Wenn Sie den Anwendernamen und das Passwort für phpVirtualBox aufsetzen, sollten diese mit dem Anwender identisch sein, der auch VirtualBox laufen lässt. Ich hatte damit selbst meine liebe Not und konnte das nicht zuverlässig umsetzen. Deswegen habe ich die phpVirtualBox-Oberfläche lieber mit .htaccess (unter Apache) geschützt und nicht auf das Login-Verfahren der Software gesetzt. Seiten mit .htaccess zu schützen ist keine Raketenwissenschaft und somit einfach zu realisieren.
Lassen Sie vboxwebsrv unter Windows laufen, leiten Sie den Output auf nul um. Zumindest gilt das für Szenarien, in denen Sie nicht testen. Per Standard würde vboxwebsrv alle Ausgaben und Aktivitäten auf die Konsole schicken. Die Entwickler von phpVirtualBox behaupten, dass sich dieser Umstand in einer produktiven Umgebung negativ auf die Performance auswirken kann.
Weiterhin sollten Sie Flash aktivieren, damit Remote Display auch ganz sicher funktioniert. Möglicherweise ist Flash in Ihrem Unternehmen nicht gestattet oder wird sogar blockiert. Dann könnten Sie es selektiv auf dem Server laufen lassen, der als Host für phpVirtualBox dient.
BOX:
Weitere Infos zu VirtualBox
Eignet sich VirtualBox für die Server-Virtualisierung?
Mit Portable-VirtualBox jedes Betriebssystem von einem USB-Stick laufen lassen