[1]Da kurz nach der Veröffentlichung meines Artikels zur Installation von php/Virtualbox diese in Version 4 erschienen ist und die Installation doch etwas anders erfolgt als bei Version 3, habe ich mich dazu entschieden eine gesonderte Installationsanleitung zu verfassen. Für alle die meinen letzten Beitrag nicht gelesen haben: Es handelt sich um eine Virtualisierungslösung mit einem Webinterface.
Vorteile der Version 4:
- lässt sich über Extension-Packs erweitern
- Filesharing zwischen Gast- und Hostsystem
- verbesserte virtuelle Hardwareunterstützung
- Verändern der Größe von VHD/VDI Disks
- und weitere: Changelog [2]
Da einige User Virtualbox 3.2 noch installiert haben, beginnen wir gegebenenfalls mit einem Remove und dem Löschen des alten phpVirtualbox. Das Verzeichnis müsst ihr anpassen, wenn ihr nicht mein Tutorial benutzt habt!
sudo apt-get remove virtualbox-3.2 sudo rm -rf /var/www/vbox
Screenshots gibts am Ende des Artikels. Der Artikel beschreibt die Installation von Virtualbox 4, des Webinterface und des Extension-Packs für die RDP-Unterstützung usw..
Virtualbox Installation
Da wir RDP, also Fernzugriff ohne installierten Server auf dem Gastsystem nutzen wollen reicht Virtualbox OSE, welches in den Standardpaketquellen von Ubuntu vorhanden ist nicht aus.
Um die nicht Opensource-Version zu installieren fügen wir zusätzliche Paketquellen hinzu. Kopiert einfach den kompletten Befehl in die Konsole und bestätigt. Dadurch wird die Virtualbox-Source am Ende der „source.list“ hinzugefügt („lucid“ auf die verwendete Ubuntu Version anpassen).
sudo sh -c 'echo "# VirtualBox repository Lucid deb http://download.virtualbox.org/virtualbox/debian lucid contrib" \ >> /etc/apt/sources.list'
Damit nicht jedes mal den GPG Error angezeigt wird fügen wir noch den Schlüssel hinzu.
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 98AB5139
Updaten der Paketliste und installieren Virtualbox 4:
sudo apt-get update && sudo apt-get install virtualbox-4.1
Da anders als bei VMWare die Guests nicht global sind, sondern dem Benutzer zugeordnet werden, der diese erstellt, legt man noch einen User „vbox“ der Gruppe „vboxusers“ für diesen Zweck an.
sudo groupadd vboxusers sudo useradd -m vbox -G vboxusers
Und erstellen ein Passwort für diesen:
sudo passwd vbox
Will man die Maschinen nicht standardmässig im „home“ Verzeichniss des Users „vbox“ speichern kann man irgendwo einen Ordner erstellen, darf dann aber nicht vergessen für diesen User und die Gruppe volle Berechtigungen zu setzen.
Installation des Extensionpacks
Da einige für uns wichtige Funktionen wie zum Beispiel USB, RDP usw. auf Extensions ausgegliedert wurden, muss man dieses wie hier gezeigt nachinstallieren.
Bevor wir das Extpack herunterladen überprüfen wir die Virtualbox-Versionsnummer, da wir das versionsgleiche Paket installieren müssen.
VBoxManage -v
Die geeigneten Packs findet man im Ordner der jeweiligen Versionsnummer und hat die Endung „.vbox-extpack„: http://download.virtualbox.org/virtualbox/ [3]
Für Version 4.1 laden wir dieses herunter …
sudo wget http://download.virtualbox.org/virtualbox/4.1.0/Oracle_VM_VirtualBox_Extension_Pack-4.1.0-73009.vbox-extpack
und installieren es mit:
sudo VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-4.1.0-73009.vbox-extpack
Habt ihr eine andere Virtualbox 4 Version installiert müsst ihr die Befehle anpassen.
„vboxweb-service“ anpassen und automatisch starten
Der „vboxweb-service“ wird bei der Installation mitgeliefert und dient zur Kommunikation des Webinterfaces mit Virtualbox, daher muss dieser gestartet sein um ein funktionsfähiges phpVirtualbox zu erhalten.
Um den Webservice mit dem zuvor erstellten User zu starten, ist es notwendig die Datei „/etc/default/virtualbox“ zu erstellen. In dieser gibt man den zu verwendenden Benutzer „vbox“ an.
sudo nano /etc/default/virtualbox
Einfach folgende Zeile einfügen, …
VBOXWEB_USER=vbox
… speichern mit “Strg+O” und schließen nano mit “Strg+X”. Weitere Einstellungsmöglichkeiten könnt ihr hier [4] nachlesen, für uns reicht zur Zeit jedoch der User.
Per Hand kann man den Service mit diesem Befehl starten:
sudo service vboxweb-service start
Automatisch beim Systemstart:
sudo update-rc.d vboxweb-service defaults
phpVirtualbox Installation (Webinterface)
Voraussetzung für das Webinterface ist natürlich ein installierter Apache2 mit php. Solltet ihr diesen noch nicht installiert haben kann man dies mit folgendem Befehl machen:
sudo apt-get install apache2-doc apache2-suexec php-pear \ php5-suhosin apache2-mpm-prefork apache2-utils apache2.2-bin \ apache2.2-common libapr1 libaprutil1 libaprutil1-dbd-sqlite3 \ libaprutil1-ldap php5-common apache2 apache2-mpm-prefork \ apache2-utils apache2.2-bin apache2.2-common \ libapache2-mod-php5 libapr1 libaprutil1 \ libaprutil1-dbd-sqlite3 libaprutil1-ldap php5-common php5-mysql
Dann wechselt in das Web-Verzeichnis des Apache und ladet „phpVirtualbox“ herunter.
cd /var/www
Downloaden der aktuellen phpVirtualbox:
sudo wget `wget -q -O - http://phpvirtualbox.googlecode.com/files/LATEST.txt` -O phpvirtualbox-latest.zip
Archiv entpacken und ändern des Ordnernamens auf etwas, das leichter zu merken und eingeben ist:
sudo unzip phpvirtualbox-*.zip sudo rm phpvirtualbox-*.zip sudo mv phpvirtualbox-* vbox
Als nächstes aktivieren und ändern wir die „config.php“.
sudo mv /var/www/vbox/config.php-example /var/www/vbox/config.php sudo nano /var/www/vbox/config.php
In der Konfigurationsdatei geben wir den Benutzernamen und das Passwort des vorhin erstellten Users ein (vbox), speichern mit „Strg+O“ und schließen nano mit „Strg+X“.
/* Username / Password for system user that runs VirutalBox */ var $username = 'vbox'; var $password = 'passwort'; var $location = 'http://127.0.0.1:18083/';
Erster Test und Problemlösungen
Der Vboxweb-Dienst sollte jetzt gestartet sein.
sudo service vboxweb-service start
So erreicht ihr das Webinterface:
http://serverip/vbox
Nun sollte der Loginscreen erscheinen (Bild 1). Der Standardusername ist „admin“ und das Standardpasswort ebenfalls „admin„.Hat alles funktioniert, erscheint nach dem Login das Webinterface wie im Bild 2 und der Punkt Problemlösung kann übersprungen werden.
Problemlösungen
Da ich mich im Zuge der Installation selbst mit einigen Problemen herumschlagen musste gibt es hier Lösungsansätze.
Wird dieser Fehler angezeigt sollte man als erstes überprüfen ob der Vboxweb läuft:
ps -ef | grep vboxwebsrv
Das Ergebnis der Abfrage sollte ähnlich dieser Zeile sein, ansonsten muss man den Service starten:
vbox 30498 1 2 20:14 ? 00:00:00 /usr/lib/virtualbox/vboxwebsrv --background -H localhost -p 18083
Besteht der Fehler trotz gestartetem Dienst, führt diese Befehle aus:
sudo VBoxManage setproperty vrdeauthlibrary default sudo VBoxManage setproperty websrvauthlibrary default
Hat dies noch nicht zum Erfolg geführt, kann man noch versuchen das „.VirtualBox“ Verzeichnis zu löschen und den Dienst neu starten.
sudo rm -rf /home/vbox/.VirtualBox && sudo service vboxweb-service restart
Für weitere Probleme benutzt entweder hier die Kommentarfunktion oder schaut euch auf der phpVirtualbox-Seite [9] um.
!Sicherheit!
Ändert unbedigt das Standardpasswort! Unter „File“ gibt es den Punkt „Change Password„.
Erstellen einer virtuellen Maschine
Da die Screenschots ausführlich genug sind, werde ich den Vorgang nur anhand dieser zeigen.
Der Standardspeicherort ist das Homeverzeichnis des Users „vbox“. Will man das Vdi-File in einem anderen Ordner speichern sollte man darauf achten, dass dort die richtigen Rechte gesetzt sind.
In phpVirtualbox hat man die Möglichkeit den Bildschirm der VM direkt im Browser, im Reiter „Console“ anzeigen zu lassen. RDP muss man dazu für diese Maschine aktivieren.
Bei ausgeschaltetem Zustand klickt auf die Maschine und dann auf „Settings„. Dort wechselt man zu den Einstellungen des Displays und auf den Reiter „Remote Display“ (Bild 16). Hier muss „Server Enabled“ aktiviert sein, die „Authentication Method“ auf „External“ gestellt sein und will man die Console im Webinterface vom Internet aus nutzen, muss das hier angegebene Port am Router weitergeleitet werden. Die Autentifizierung „Extern“ bedeutet, dass wir den am Anfang erstellten Benutzer „vbox“ verwenden (Bild 17).
Somit sollte ich so ziemlich alles behandelt haben. Findet ihr irgendwelche Fehler in der Anleitung hinterlasst bitte ein Kommentar
Viel Spaß mit Virtualbox und phpVirtualbox!