phpVirtualBox è un front-end Web based scritto in linguaggio PHP che permette di gestire e monitorare direttamente da remoto le istanze di VirtualBox, nota applicazione open source della Oracle per la virtualizzazione di piattaforme in architetture x86 e a 64bit. Si tratta sostanzialmente di un'implementazione che sfrutta AJAX per simulare l'interfaccia di VirtualBox ed eseguire il mirroring della GUI del programma tramite una UI accessibile via Internet.
L'idea degli sviluppatori è quella di offrire ai sysadmin un ambiente grafico quanto più simile possibile alla user interface nativa di VirtualBox, in questo modo si potrà lavorare in modo più semplice anche attraverso sistemi operativi che non prevedono un GUI di default come per esempio Ubuntu 16.04 LTS Server. L'installazione di phpVirtualBox richiede di operare come utente di root e di creare un nuovo utente denominato "vbox", da inserire nel gruppo "vboxusers", a cui associare una password:
useradd -m vbox -G vboxusers
passwd vbox
Fatto questo si può creare il file virtualbox sul percorso /etc/default/ inserendo in esso la direttiva VBOXWEB_USER=vbox:
nano /etc/default/virtualbox
VBOXWEB_USER=vbox
Il prossimo passaggio è quello relativo relativo all'abilitazione e all'inizializzazione dei servizi per l'API vboxwebsrv:
systemctl enable vboxweb-service
systemctl start vboxweb-service
Posto che nel sistema in uso sia presente un ambiente PHP funzionante su Web server, si può procedere con il download del package di phpVirtualBox nella root di quest'ultimo:
cd /var/www/html
wget http://downloads.sourceforge.net/project/phpvirtualbox/phpvirtualbox-5.0-5.zip
Una volta decompresso l'archivio e spostato il suo contenuto in una nuova cartella chiamata phpvirtualbox:
unzip phpvirtualbox-5.0-5.zip
mv phpvirtualbox-5.0-5 phpvirtualbox
ci si potrà portare all'interno di essa e copiare il file di configurazione d'esempio rinominandolo in config.php:
cd /var/www/html/phpvirtualbox/
cp config.php-example config.php
L'ultimo passaggio richiede di editare il file di configurazione indicando le credenziali per l'accesso al servizio:
/* Username / Password for system user that runs VirtualBox */
var $username = 'vbox';
var $password = 'xxxxxxx';
Se tutto dovesse essere andato per il meglio, l'interfaccia di phpVirtualBox diventerà accessibile via browser:
http://192.168.1.100/phpvirtualbox/
Via phpVirtualBox