Es ist schon eine Weile her, das an dieser Stelle von VirtualBox in Verbindung mit der Web-Oberfläche phpVirtualBox etwas geschrieben wurde. Da sich die Gelegenheit ergeben hat, dieses Szenario unter Windows 8.1 Pro zu realisieren anbei eine aktualisierte Anleitung.
Eines Vorweg: Die Änderungen gegenüber den bisherigen Anleitungen, zumindest vom Kern, sind minimal. Von daher wurde einiges recycelt. Im Gegensatz zur vorangegangenen Anleitung wurde der Apache Webserver verwendet.
Warum VirtualBox und nicht Hyper-V?
Zugegeben, der ursprüngliche Plan bestand darin, Hyper-V, welches in Windows 8.x integriert ist zu verwenden. Beim Versuch dieses Feature zu installieren kam es aber zu einer Überraschung in der Form, das die CPU SLAT unterstützen muss. “Ironischerweise” ist das nur bei Windows 8.x der Fall. Bei Windows Server 2012 inkl. R2 gibt es diese zwingende Voraussetzung nicht. Letzteres haben wir auf exakt der gleichen Hardware getestet. Das ist ärgerlich, optional wäre das Ganze schöner gewesen.
VirtualBox installieren und konfigurieren
- VirtualBox und das Extension Pack herunterladen und nacheinander installieren.
- In einer Eingabeaufforderung im Ordner “C:\Program Files\Oracle\VirtualBox” folgende Befehle ausführen:
VBoxManage setproperty vrdeauthlibrary default
VBoxManage setproperty websrvauthlibrary default
- In einer Eingabeaufforderung folgenden Befehl ausführen:
mklink /d "C:\Windows\System32\config\systemprofile\.VirtualBox" "C:\Users\BENUTZERNAME\.VirtualBox"
Der Benutzername muss angepasst werden! Es muss der Benutzer(name) verwendet werden, der auch lokal VirtualBox verwendet. Dieser Schritt ist notwendig, damit phpVirtualBox auf die gleichen virtuellen Maschinen und Einstellungen zugreift.
VirtualBox web service einrichten
- RunAsSvc herunterladen und das Archiv nach “C:\Programme\RunAsSvc” entpacken.
- RunAsSvc.exe als Administrator (Rechtsklick “Als Administrator ausführen”) starten und die Angaben wie im Screenshot vornehmen. Anschließend auf die Schaltfläche “OK” klicken.
Der Dienst wird automatisch angelegt und gestartet.
Apache Webserver installieren und konfigurieren
Ob man 32- oder 64-bit verwendet spielt keine Rolle. Zu beachten ist allerdings, das sowohl der Apache Webserver und PHP beide entweder 32- oder 64-bit sind!
- Apache Webserver herunterladen und den Ordner “Apache24” nach “C:\” extrahieren bzw. kopieren.
- In einer Eingabeaufforderung (ab Windows Vista mit erhöhten Rechten) folgenden Befehl ausführen, um den Webserver als Dienst zu installieren:
C:\Apache24\bin\httpd.exe -k install
- Die Datei “C:\Apache24\conf\httpd.conf” editieren und folgende Zeilen am Ende einfügen:
# PHP LoadModule php5_module "C:/PHP/php5apache2_4.dll" AddHandler application/x-httpd-php .php PHPIniDir "C:/PHP"
PHP installieren und konfigurieren
- PHP für Windows herunterladen und nach “C:\PHP” entpacken.
- Einen Ordner “C:\PHP\logs” anlegen.
- Im Ordner “C:\PHP” die Datei “php.ini-production” zu “php.ini” umkopieren.
- Die Datei “php.ini” editieren und folgende Änderungen vornehmen:
Zeile 574 error_log = C:/PHP/logs/php_errors.log
Zeile 740 extension_dir = "C:/PHP/ext"
Zeile 912 extension=php_soap.dll (Das Kommentarzeichen ";" am Anfang der Zeile entfernen.)
Zeile 931 date.timezone = Europe/Berlin
Wichtig: Den Apache Webserver einmal durchstarten, andernfalls werden die Änderungen nicht übernommen.
phpVirtualBox installieren und konfigurieren
- phpVirtualBox herunterladen und nach “C:\Apache24\htdocs\vbox” entpacken.
Anmerkung: Der Einfachheit halber verwende ich als Ordnername “vbox”. Also ich entpacke phpVirtualBox zum Ziel und benenne den Ordner um.
- Die Datei “config.php-example” in “config.php” umbenennen (oder kopieren und umbenennen) und mit WordPad oder einem anderen Editor (Nicht Notepad!) editieren:
Zeile 12 und 13: Die Anmeldedaten des Windows-Benutzers eintragen, mit dem die virtuellen Maschinen verwaltet werden sollen. var $username = 'BENUTZERNAME'; var $password = 'KENNWORT';
Zeile 22 var $language = 'de'; (Im Auslieferzustand "en".)
Die erste Anmeldung
- Über einen Browser die Adresse “http://IP-ODER-COMPUTERNAME/vbox” aufrufen.
- Die erste Anmeldung an phpVirtualBox erfolgt mit folgenden Daten:
Benutzername: admin Passwort: admin
Nach erfolgreicher Anmeldung sollte man das Kennwort unter “Datei – Passwort ändern” ändern! Zur Sicherheit nochmals Ab- und erneut Anmelden und schon kann es los gehen.
Details zur ersten Anmeldung und ggf. dem Zurücksetzen des Kennworts finden sich hier:
phpVirtualBox – Wiki – Logging in the first time
Die Windows-Firewall konfigurieren
Soll auf phpVirtualBox von außerhalb des Computers, das kann das eigene LAN oder z.B. via VPN der Fall sein, so muss die Windows-Firewall angepasst werden. Der Apache Webserver legt für sich Regeln automatisch an. Möchte man keinen externen Zugang haben, so sollte man diese Regeln einschränken oder deaktivieren.
Damit auf die virtuelle Maschine, genauer gesagt deren Konsole zugegriffen werden kann, muss die Datei VBoxHeadless.exe aus dem Ordner “C:\Programme\Oracle\VirtualBox” in der Windows-Firewall zugelassen sein.
Verheiratet, Vater von zwei Kindern, eines an der Hand, eines im Herzen. Schon immer Technik-Freund, seit 2001 in der IT tätig und seit über 10 Jahren begeisterter Blogger. Mit meiner Firma IT-Service Weber kümmern wir uns um alle IT-Belange von gewerblichen Kunden und unterstützen zusätzlich sowohl Partner als auch Kollegen.
Hallo Andy!
Vielen Dank für deine Anleitung!
Hat bisher super geklappt.
Ich nutze diesen Server auf meinem Windows Server 2008 Enterprise x64. Als Webserver nutze ich XAMPP und es läuft auch super. Nur eine Sache will nicht klappen ….
Und zwar will ich meine bestehenden Virtuellen Systeme einbinden, und bekomme das mit der Eingabeaufforderung nicht auf die Reihe.
Irgendwas scheine ich wohl falsch zu machen.
Vielleicht können sie da noch mal etwas Tiefer drauf eingehen.
Ansonsten SUPER ARBEIT!
Grüsse, Patrick
Hallo Patrick,
ich vermute es ist gemeint das man im Web-Interface nicht die virtuellen Maschinen siehst, die im “normalen” VirtualBox angelegt wurden?
Beim Befehl
mklink /d "C:WindowsSystem32configsystemprofile.VirtualBox" "C:UsersBENUTZERNAME.VirtualBox"
muss “BENUTZERNAME” durch den Namen ersetzt werden, der lokal ebenfalls VirtualBox verwendet. Es muss der Benutzername und nicht der angezeigte Name verwendet werden.
Angenommen bei Windows wird “Administrator” verwendet, dann muss dort “Administrator” stehen,
wird der Benutzter “Test” verwendet, dann muss dort “Test” stehen, usw.
Viel einfacher isses doch so:
mklink /d “%SystemRoot%System32configsystemprofile.VirtualBox” “%USERPROFILE%.VirtualBox”
Führt beides zum Ziel 😉
Hey Andy,
erstmal danke für deine tolle Anleitung. Hättest du auch eine Anregung für mich, wie ich bestimmte virtuelle Maschinen nach einem Neustart des Host-Rechners automatisch wieder gestartet bekomme?
Habe es mit folgendem Batch Skript versucht:
@echo off
cd /D “C:Program FilesOracleVirtualBox”
VBoxManage.exe startvm “vm1” –type headless
VBoxManage.exe startvm “vm2” –type headless
VBoxManage.exe startvm “vm3” –type headless
Zum Test habe ich dieses Skript mal ausgeführt und die virtuellen Maschinen scheinen auch zu starten. Nur werden sie im phpvirtualbox als ausgeschaltet angezeigt. Hast du da eine Idee?
Grüße surol
Werden die Befehle bzw. das Skript mit dem gleichen Benutzer ausgeführt, der in phpVirtualBox eingetragen ist?
Könnte mir vorstellen, das es daran “hängt”.
Allerdings bin ich kein Fan von autom. VM start, zu oft schon schlechte Erfahrungen gemacht wenn z.B. Windows Updates laufen und mehrere Neustarts vom Host folgen und dann die VMs “durcheinander” geraten.
Was mir da gerade noch einfällt: Vermutlich startet phpVirtualBox die VMs über einen anderen Weg, das “VBoxManage.exe” und von daher bekommt das System nicht mit, ob VMs laufen.
Dürfte das Gleiche sein, wie wenn man in der regulären VBox-GUI eine VM startet, das bekommt phpVirtualBox auch nicht mit, umgekehrt das Gleiche.