PHP-Virtualbox bedient sich für die Kommunikation mit dem Virtualbox-Host der SOAP-Schnittstelle von Oracle, die den Namen
»vboxwebsrv
«
trägt. In Kombination mit einem lokal installierten Apache2-Webserver mit PHP-5-Unterstützung ist das Team dann komplett. Prinzipiell könnten der Virtualbox-Host und der Apache mit PHP-Virtualbox auch auf zwei getrennten physikalischen Maschinen installiert werden.
Da Oracles
»vboxwebsrv
«
allerdings keine Verschlüsselung vorsieht, erfolgt die Kommunikation und damit die Übertragung des Passworts vom Webserver zum Virtualbox-Host unverschlüsselt. Virtualbox ordnet VMs nicht global dem System, sondern immer dem User zu, der die VM erstellt hat. Daher legen Sie als Erstes einen geeigneten Benutzer und eine Gruppe für diesen an. Hier sollen der Benutzer
»vbox
«
und die Gruppe
»vboxusers
«
heißen. Unter Ubuntu erledigen das die Aufrufe
sudo groupadd vboxusers sudo useradd -m vbox -G vboxusers
Die virtuellen Maschinen werden später in
»/home/vbox/VM
«
angelegt. Abschließend geben Sie dem neuen Benutzer mit
»sudo passwd vbox
«
noch ein Passwort.
Bevor Sie PHP-Virtualbox konfigurieren, müssen Sie zunächst noch den Apache-Server, PHP und einige weitere Pakete installieren und den
»vboxwebsrv
«
einrichten.
Dazu erstellen Sie mit dem Editor Ihrer Wahl die Datei
»/etc/default/virtualbox
«
und tragen hier den Benutzer
»vbox
«
ein:
VBOXWEB_USER=vbox
Danach starten Sie
»vboxwebsrv
«
mit dem Befehl
sudo /etc/init.d/vboxweb-service start
und sorgen mit
sudo update-rc.d vboxweb-service defaults
dafür, dass der Dienst auch nach einem Reboot automatisch startet. Jetzt installieren Sie die benötigten Pakete für PHP-Virtualbox (
Listing 2
). Hat alles geklappt, wechseln Sie ins Verzeichns
»/var/www
«
und laden dort mit dem folgenden Befehl die neueste stabile Version von der PHP-Virtualbox-Projektseite herunter:
Listing 2
Pakete für PHP-Virtualbox
wget http://phpvirtualbox.googlecode.com/files/phpvirtualbox-4.1.17.zip
Nach dem Entpacken mit
sudo unzip phpvirtualbox-*.zip
finden Sie das neue Verzeichnis
»phpvirtualbox-4.1-7
«
in
»/var/www
«
. Der Einfachheit halber ändern Sie den Verzeichnisnamen auf
»phpvirtualbox
«
, um sich später unnötige Tipparbeit zu ersparen.
Zuletzt müssen Sie noch den Benutzernamen und das Passwort in die Konfigurationsdatei von PHP-Virtualbox eintragen. Glücklicherweise liefert der Entwickler gleich eine passende Vorlage mit, die Sie einfach kopieren:
sudo cp /var/www/phpvirtualbox/config.php-example /var/www/phpvirtualbox/config.php
und danach die beiden Zeilen mit den Account-Daten in der Datei
»/var/www/phpvirtualbox/config.php
«
hinzufügen
var $username = 'vbox'; var $password = 'Passwort-des-Users-vbox';
Jetzt können Sie im Webbrowser unter der Adresse
»http://
Hostname
/phpvirtualbox
«
bereits auf PHP-Virtualbox zugreifen.
Bei der ersten Anmeldung melden Sie sich dort mit dem Benutzer
»admin
«
und dem Passwort
»admin
«
an und stellen unter
»File | Preferences | Language
«
als Sprache Deutsch ein.
Als Nächstes legen Sie unter
»Ablage | Globale Einstellungen | Benutzer
«
den Benutzer
»vbox
«
an, weisen ihm administrative Rechte zu und vergeben ein Passwort für die Anmeldung am Webinterface. Den Benutzer
»admin
«
löschen Sie danach am besten gleich oder ändern zumindest dessen Passwort auf ein sicheres. Über die Web-GUI von PHP-Virtualbox können Sie Virtualbox nun vollständig über das Netzwerk steuern, wie Sie es vom nativen Client gewohnt sind. Doch so einfach die Arbeit mit PHP-Virtualbox auch ist, leider sieht die API von Virtualbox keinen automatischen Start und Stopp von VMs beim Systemstart oder Shutdown das gastgebenden Systems vor. Das ist unschön, und wir müssen nochmal in die Werkzeugkiste greifen, um den Betrieb des Virtualbox-Hosts weitestgehend zu automatisieren.