Tutorial: VirtualBox auf einem Ubuntu Server 14.04 installieren und per Browser über das Netzwerk steuern

url

VirtualBox ist eine fantastische Software zum experimentieren. Innerhalb von wenigen Minuten kann man beliebige Betriebssysteme in einer virtuellen Maschine installieren und unkompliziert neue Software oder neue Konfigurationen ausprobieren. Was die wenigsten wissen, ist dass es auch möglich ist VirtualBox auf einem zentralen Linux-Server zu installieren und per Browser mit Hilfe von phpVirtualBox über das Netzwerk zu steuern. So können zentrale Testmaschinen aufgesetzt werden und es muss sich nicht jeder Mitarbeiter eigene virtuelle Maschinen installieren.

In diesem Tutorial zeigen wir Ihnen, wie Sie VirtualBox und phpVirtualBox auf einem Ubuntu Server 14.04 installieren und konfigurieren. Das ganze natürlich ohne einen Monitor anzuschließen.

Wir starten mit einem nackten Ubuntu 14.04 Serversystem, auf dem wir lediglich einen openssh Server installiert haben um die Installation per SSH durchführen zu können. Alle Befehle führen wir als “root”-User aus.

Virtualbox-4.3 installieren

Um VirtualBox zu installieren, fügen wir zuerst die entsprechenden Paketquellen hinzu. Nach die Paketquellen aktualisiert wurden, können wir VirtualBox 4.3 installieren.

echo 'deb http://download.virtualbox.org/virtualbox/debian trusty contrib' > /etc/apt/sources.list.d/virtualbox.list
wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | sudo apt-key add -
apt-get update
apt-get install virtualbox-4.3

Virtualbox Extension Pack installieren

Es folgt die Installation des VirtualBox Extension Pack, welches eine bessere Unterstützung der Hardware und zusätzliche Features für die virtuellen Maschinen hinzufügt. Sie sollten diesen Schritt nicht übergehen, da phpVirtualBox davon ausgeht, dass das Extension Pack installiert ist.

cd /tmp
wget http://download.virtualbox.org/virtualbox/4.3.28/Oracle_VM_VirtualBox_Extension_Pack-4.3.28-100309.vbox-extpack
VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-4.3.28-100309.vbox-extpack
rm Oracle_VM_VirtualBox_Extension_Pack-4.3.28-100309.vbox-extpack

Regelmäßig erscheinen neue Versionen von VirtualBox und dem Expension Pack. Sollte die Datei nicht mehr verfügbar sein, sollten Sie auf der Seite von virtualbox.org nach dem aktuellen Downloadlink suchen.

Virtualbox User anlegen

VirtualBox muss von einem Systembenutzer ausgeführt werden. Wir empfehlen für VirtualBox einen eigenen Systembenutzer “vbox” anzulegen.

useradd -d /home/vbox -m -g vboxusers -s /bin/bash vbox
passwd vbox

Geben Sie ein Passwort für den Benutzer vbox ein. Wir verwenden im weiteren Tutorial das Passwort “vbox”.

echo 'VBOXWEB_USER=vbox' >> /etc/default/virtualbox
update-rc.d vboxweb-service defaults
/etc/init.d/vboxweb-service start

phpvirtualbox 4.3.3 installieren

Nun ist VirtualBox installiert und gestartet. Theoretisch könnten Sie nun über die Kommandozeile oder Bash das gesamte System steuern. Doch es geht eben noch viel einfacher per Browser. phpVirtualBox macht es möglich. Doch zuerst installieren wir den Webserver “nginx”.

apt-get install nginx php5-common php5-mysql php5-fpm php-pear unzip
/etc/init.d/nginx start

Danach sollten Sie über den Aufruf Ihrer IP im Browser die nginx Startseite sehen können. Nun aktivieren wir noch den php support und dann installieren wir phpVirtualBox.

nano /etc/nginx/sites-available/default

Ändern Sie die Datei folgendermaßen ab:

server {
        listen   80; ## listen for ipv4; this line is default and implied
        listen   [::]:80 default ipv6only=on; ## listen for ipv6

        root /usr/share/nginx/www/phpvirtualbox-4.3-3;
        # wenn phpvirtualbox nicht direkt unter der IP erreichbar sein soll, dann nutzen Sie die folgende Zeile
        # root /usr/share/nginx/www;
        index index.php index.html index.htm;

        # Make site accessible from http://localhost/
        server_name _;

        location / {
                # First attempt to serve request as file, then
                # as directory, then fall back to index.html
                try_files $uri $uri/ /index.html;
                # Uncomment to enable naxsi on this location
                # include /etc/nginx/naxsi.rules
        }

        location /doc/ {
                alias /usr/share/doc/;
                autoindex on;
                allow 127.0.0.1;
                deny all;
        }

        # Only for nginx-naxsi : process denied requests
        #location /RequestDenied {
                # For example, return an error code
                #return 418;
        #}

        #error_page 404 /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page 500 502 503 504 /50x.html;
        location = /50x.html {
                root /usr/share/nginx/www;
        }

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        location ~ \.php$ {
                try_files $uri =404;
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                fastcgi_pass unix:/var/run/php5-fpm.sock;
                fastcgi_index index.php;
                include fastcgi_params;
        }

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        location ~ /\.ht {
                deny all;
        }
}

Nun können Sie die Konfiguration von nginx neu laden und mit der Installation von phpVirtualBox beginnen.

cd /usr/share/nginx/html
wget http://downloads.sourceforge.net/project/phpvirtualbox/phpvirtualbox-4.3-3.zip
unzip phpvirtualbox-4.3-3.zip
cd phpvirtualbox-4.3-3
cp config.php-example config.php
nano config.php

Fügen Sie in der Konfigurationsdatei den Benutzername und das Passwort des vbox Users hinzu und setzen Sie die noauth Variable um ohne Login auf die Webseite von virtualbox zu gelangen.

/* Username / Password for system user that runs VirtualBox */
var $username = 'vbox';
var $password = 'yourpassword';
var $noAuth = true;

Ab sofort erreichen Sie phpVirtualBox über Ihren Browser durch die Eingabe der IP-Adresse des Servers.

phpvirtualbox

Wie kriegt man die iso Dateien in virtualbox?

Die Installation von VirtualBox und phpVirtualBox ist nun abgeschlossen. Sie können nun theoretisch virtuelle Maschinen anlegen und installieren. Sie werden jedoch schnell merken, dass noch eine wichtige Kleinigkeit fehlt. Für die Installation von virtuellen Maschinen benötigen Sie iso-Dateien, welche aber natürlich lokal auf dem Server vorliegen müssen.

Um nicht umständlich die iso-Dateien per Kommandozeile auf dem Server runterladen zu müssen, empfehlen wir die Installation von Samba und das nutzen eines Netzlaufwerkes. So kriegen Sie schnell und unkompliziert die iso Dateien auf den Server.

mkdir /vbox-isos
chown vbox:vboxusers /vbox-isos
chmod 755 /vbox-isos
apt-get install samba
nano /etc/samba/smb.conf

Fügen Sie die folgenden Zeilen am Ender der Konfiguration von Samba hinzu. So erhalten Sie ein Netzlaufwerk, in das Sie die iso Dateien kopieren können.

[vbox-isos]
   path = /vbox-isos
   comment = virtualbox iso files
   available = yes
   browseable = yes
   writable = yes
   guest ok = yes
   create mask = 0660
   directory mask = 0770
   force group = vboxusers
   force user = vbox

Als letztes starten Sie Dienste von Samba neu um das Netzlaufwerk verfügbar zu machen.

sudo restart smbd
sudo restart nmdb

Fazit

Das war’s! Die iso-Dateien können nun bequem per Samba auf den Server kopiert werden und die virtuellen Maschinen über http://IHRE-IP installiert werden. Wir wünschen viel Spaß beim experiementieren.

geschrieben von

Christoph Dyllick-Brenzinger

Christoph ist Gründer und Chefentwickler von datamate. Er ist ein absoluter Linux-Fan und hat schon früh seine Leidenschaft für Technik und Programmierung entdeckt. Seine langjährige Erfahrung als Unternehmensberater spürt man regelmäßig, wenn er nach optimalen Lösungen für die Kunden sucht. Wenn er nicht gerade den Tennisplatz unsicher macht oder bei Overwatch sein Liga-Ranking verbessert, verbringt Christoph seine Freizeit mit seiner Frau und seinen drei Kindern.