phpvirtualbox ist ein webbasiertes, in PHP geschriebenes VirtualBox-Frontend, mit dem Sie auf entfernte VirtualBox-Instanzen zugreifen und diese steuern können. Es versucht, der VirtualBox-GUI so weit wie möglich zu ähneln, um die Arbeit damit so einfach wie möglich zu machen. Es ist ein netter Ersatz für die VirtualBox-GUI, wenn Sie VirtualBox auf Headless-Servern ausführen (wie im Tutorial VBoxHeadless - Running Virtual Machines with VirtualBox 5.1 on a Headless Ubuntu 16.04 LTS Server). Dieses Tutorial erklärt, wie man phpVirtualBox auf einem Ubuntu 16.04-Server installiert, um eine lokal installierte, kopflose VirtualBox zu verwalten.
1 Vorbemerkung
Ich gehe davon aus, dass auf dem lokalen Ubuntu 16.04 Server bereits eine Headless VirtualBox installiert ist, z.B. wie im Tutorial VBoxHeadless - Running Virtual Machines with VirtualBox 5.1 on a headless Ubuntu 16.04 LTS Server beschrieben.
Ich führe alle Schritte in diesem Tutorial mit Root-Rechten aus, stellen Sie also sicher, dass Sie als Root angemeldet sind:
sudo su
2 Installieren von phpVirtualBox
Erstellen Sie zuerst einen Systembenutzer namens vbox und fügen Sie ihn der vboxusers-Gruppe hinzu:
useradd -m vbox -G vboxusers
Erstellen Sie ein Passwort für den vbox-Benutzer:
passwd vbox
Erstellen Sie die Datei /etc/default/virtualbox und fügen Sie die Zeile VBOXWEB_USER=vbox ein (damit die VirtualBox-SOAP-API mit dem Namen vboxwebsrv als Benutzer vbox ausgeführt wird):
nano /etc/default/virtualbox
VBOXWEB_USER=vbox
Erstellen Sie als Nächstes die Systemstartlinks für vboxwebsrv und starten Sie es:
systemctl enable vboxweb-service
systemctl start vboxweb-service
Wir brauchen einen Webserver mit PHP-Unterstützung, um phpVirtualBox zu bedienen - ich verwende hier Apache2. Installieren Sie Apache und PHP wie folgt:
apt-get -y install apache2 libapache2-mod-php7.0 libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap libapr1 php7.0-common php7.0-mysql php7.0-soap php-pear wget
Apache neu starten:
systemctl restart apache2.service
Ich möchte phpVirtualBox vom virtuellen Standardhost von Apache mit dem Dokumentenstammverzeichnis /var/www/html bereitstellen (ich werde es in /var/www/html/phpvirtualbox installieren) - wenn Sie ein anderes Dokumentenstammverzeichnis haben, müssen Sie die folgenden Schritte anpassen :
cd /var/www/html
wget http://downloads.sourceforge.net/project/phpvirtualbox/phpvirtualbox-5.0-5.zip
Entpacken Sie phpVirtualBox und benennen Sie phpvirtualbox-5.0-5 zur einfacheren Verwendung in phpvirtualbox um:
unzip phpvirtualbox-5.0-5.zip
mv phpvirtualbox-5.0-5 phpvirtualbox
Als nächstes gehen Sie in das Verzeichnis /var/www/phpvirtualbox/...
cd /var/www/html/phpvirtualbox/
... und erstellen Sie die Datei config.php, indem Sie sie aus config.php-example kopieren:
cp config.php-example config.php
Öffnen Sie config.php und geben Sie das Passwort ein, das Sie zuvor für den vbox-Systembenutzer erstellt haben:
nano config.php
[...] /* Username / Password for system user that runs VirtualBox */ var $username = 'vbox'; var $password = 'secret'; [...]
Das war's schon - Sie können jetzt einen Browser öffnen und wie folgt auf phpVirtualBox zugreifen:
http://www.example.com/phpvirtualbox/
oder Per IP:
http://192.168.1.100/phpvirtualbox/