- chalblog - http://blog.is-a-geek.org -

Virtualbox 4 mit Webinterface und RDP auf Ubuntu Server 10.04

Virtualbox 4 mit Webinterface und RDP auf Ubuntu Server 10.04 [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:

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.

Virtualbox 4 Webinterface 1 [5]

Bild 1

Virtualbox 4 Webinterface 2 [6]

Bild 2

Problemlösungen

Da ich mich im Zuge der Installation selbst mit einigen Problemen herumschlagen musste gibt es hier Lösungsansätze.

Virtualbox 4 Webinterface 3 [7]

Bild 3

Virtualbox 4 Webinterface 4 [8]

Bild 4

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“.

Virtualbox 4 Webinterface 5 [10]

Bild 5

Virtualbox 4 Webinterface 6 [11]

Bild 6

Erstellen einer virtuellen Maschine

Da die Screenschots ausführlich genug sind, werde ich den Vorgang nur anhand dieser zeigen.

Virtualbox 4 Webinterface 7 [12]

Bild 7

Virtualbox 4 Webinterface 8 [13]

Bild 8

Virtualbox 4 Webinterface 9 [14]

Bild 9

Virtualbox 4 Webinterface 10 [15]

Bild 10

Virtualbox 4 Webinterface 11 [16]

Bild 11

Virtualbox 4 Webinterface 12 [17]

Bild 12

Virtualbox 4 Webinterface 13 [18]

Bild 13

Virtualbox 4 Webinterface 14 [19]

Bild 14

Virtualbox 4 Webinterface 15 [20]

Bild 15

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).

Virtualbox 4 Webinterface 16 [21]

Bild 16

Virtualbox 4 Webinterface 17 [22]

Bild 17

Virtualbox 4 Webinterface 18 [23]

Bild 18

Virtualbox 4 Webinterface 19 [24]

Bild 19

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!