Friday, December 3, 2010

VirtualBox Webinterface PHPVirtualBox einrichten unter Linux

Wieso Virtualbox?
VMWare, KVM+libvirt, Qemu, was nimmt man nur? Am technologisch "besten" soll libvirt und KVM sein. Aber dafür gibt es kein geeignetes Webinterface. Dagegen ist PHPVirtualbox eine geniale Lösung, die sehr stark dem Desktop-Client nachempfunden ist. Auch ohne Vorkenntnisse sollte man sehr gut damit zurecht kommen. Hier gibt es zum Einstieg ein HOWTO mit einer Schritt für Schritt Anleitung.

Virtualbox unter Ubuntu installieren
Zunächst will Ubuntu wissen woher es Virtualbox bekommt. Ich nehme in diesem Beispiel die LTS Version 10.04 oder "Lucid", das sollte bei anderen Versionen geändert werden.
# Quellen bekannt machen
echo -e "# Virtualbox Quelle für Lucid 10.04
deb http://download.virtualbox.org/virtualbox/debian lucid non-free" \
  >> /etc/apt/sources.list
# Den sicheren Schlüssel hinzufügen
apt-key adv --recv-keys \
  --keyserver keyserver.ubuntu.com 98AB5139

# Paketlisten aktualisieren
apt-get update
# VirtualBox installieren
apt-get install virtualbox-3.2

# Benutzer hinzufügen
useradd -m vbox vboxusers
# Passwort setzen und merken für später
passwd vbox

# Benutzername für Init eintragen und starten
echo "VBOXWEB_USER=vbox" >> /etc/vbox/vbox.cfg
/etc/init.d/vboxdrv start /etc/init.d/vboxweb-service start # VirtualBox Bei jedem Booten starten update-rc.d vboxweb-service defaults
PHPVirtualBox installieren
Zunächst brauchen wir PHP selbst, dann kann auch die Applikation installiert werden.
apt-get install php5
cd /var/www/ # Downloaden und auspacken
wget http://phpvirtualbox.googlecode.com/files/phpvirtualbox-0.5.zip
unzip phpvirtualbox-0.5.zip
rm phpvirtualbox-0.5.zip # apache starten und per default starten
/etc/init.d/apache2 restart
update-rc.d apache2 defaults

Danach ist es noch nötig, die Datei "/var/www/phpvirtualbox-0.5/config.php" anzupassen:
var $username = 'vbox';
var $password = 'GemerktesPasswortVonVorhin';
Das Setup absichern
Datei /var/www/phpvirtualbox-0.5/.htaccess
AuthType Basic
AuthName "Login to phpVirtualBox"
AuthUserFile /var/www/phpvirtualbox-0.5/.htpasswd
Require user vbox
Datei .htpasswd erzeugen, bitte mit sicherem Passwort:
htpasswd -c /var/www/phpvirtualbox-0.5/.htpasswd vbox
Die .htpasswd Absicherung muss dann noch in der Apache Konfiguration für /var/www erlaubt werden:
/etc/apache2/sites-available/default:
<Directory /var/www>
...
AllowOverride None
...
</Directory>
ändern in:
/etc/apache2/sites-available/default:
<Directory /var/www>
...
AllowOverride AuthConfig
...
</Directory>
VMWare Images zu VirtualBox konvertieren
Vmwares disk images im VMDK Format können direkt von VirtualBox verwendet werden, allerdings nicht, wenn sie in mehrere Dateien aufgeteilt sind. Zusammenfügen von Images:
vmware-vdiskmanager -r name-der-alten.vmdk -t 0 neuer-single-vmdk-name.vmdk
Beim Erstellen der neuen Virtual Machines in VirtualBox habe ich auf folgendes geachtet:
- IDE festplatte wählen statt SATA
- Host-only networking

Remote Desktop Verbindung mit VRDP absichern [Update 4.12]
Die remote Desktop Verbindung ist wunderschön zum einrichten von virtuellen Maschinen. Nur leider ist das per Default ohne Passwort. Das entsprechende Kapitel in der Virtualbox Anleitung erklärt, was die verschiedenen Methoden "External" oder "Guest" bedeuten. So richtig befriedigend finde ich diese Sicherungsmethoden aber nicht. Hier sollte Virtualbox noch nachbessern.

Weblinks
PHPVirtualbox Website
Blogeintrag Moving from VMWare to VirtualBox. PHPVirtualBox on Ubuntu.

2 comments:

  1. Hallo Stefan,

    am Anfang fehlt ein ">", da sonst sources.list nur noch _eine_ Quelle beinhaltet.

    Gruß, Sven.

    ReplyDelete
  2. Hallo Sven,

    vielen Dank für den Hinweis. Ich hab' das eigentlich schon von Anfang an mit >> gemeint ;-) Habe es im Artikel korrigiert.

    Gruß,
    Stefan

    ReplyDelete