Tutorial: VirtualBox auf einem Ubuntu Server 14.04 installieren und per Browser über das Netzwerk steuern
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.
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.