phpvirtualbox è un front-end VirtualBox basato sul Web scritto in PHP che consente di accedere e controllare le istanze VirtualBox remote. Cerca di assomigliare il più possibile alla GUI di VirtualBox per rendere il lavoro il più semplice possibile. È un buon sostituto per la GUI di VirtualBox se esegui VirtualBox in server senza testa (come nel tutorial VBoxHeadless - Esecuzione di macchine virtuali con VirtualBox 5.1 su un server LTS Ubuntu 16.04 senza testa). Questo tutorial spiega come installare phpVirtualBox su un server Ubuntu 16.04 per gestire un VirtualBox headless installato localmente.
1 Nota preliminare
Presumo che un VirtualBox senza testa sia già installato sul server Ubuntu 16.04 locale, ad es. come descritto nel tutorial VBoxHeadless - Esecuzione di macchine virtuali con VirtualBox 5.1 su un server LTS Ubuntu 16.04 headless.
Sto eseguendo tutti i passaggi di questo tutorial con i privilegi di root, quindi assicurati di aver effettuato l'accesso come root:
sudo su
2 Installazione di phpVirtualBox
Innanzitutto, crea un utente di sistema chiamato vbox e aggiungilo al gruppo vboxusers:
useradd -m vbox -G vboxusers
Crea una password per l'utente vbox:
passwd vbox
Crea il file /etc/default/virtualbox e inserisci la riga VBOXWEB_USER=vbox al suo interno (in modo che l'API SOAP di VirtualBox che si chiama vboxwebsrv venga eseguita come vbox utente):
nano /etc/default/virtualbox
VBOXWEB_USER=vbox
Quindi crea i collegamenti di avvio del sistema per vboxwebsrv e avvialo:
systemctl enable vboxweb-service
systemctl start vboxweb-service
Abbiamo bisogno di un server web con supporto PHP per servire phpVirtualBox - Sto usando Apache2 qui. Installa Apache e PHP come segue:
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
Riavvia Apache:
systemctl restart apache2.service
Voglio servire phpVirtualBox dall'host virtuale predefinito di Apache con la radice del documento /var/www/html (lo installerò in /var/www/html/phpvirtualbox) - se hai una radice del documento diversa, devi regolare i seguenti passaggi :
cd /var/www/html
wget http://downloads.sourceforge.net/project/phpvirtualbox/phpvirtualbox-5.0-5.zip
Decomprimi phpVirtualBox e rinomina phpvirtualbox-5.0-5 in phpvirtualbox per facilità d'uso:
unzip phpvirtualbox-5.0-5.zip
mv phpvirtualbox-5.0-5 phpvirtualbox
Quindi vai alla directory /var/www/phpvirtualbox/...
cd /var/www/html/phpvirtualbox/
... e crea il file config.php copiandolo da config.php-example:
cp config.php-example config.php
Apri config.php e inserisci la password che hai creato in precedenza per l'utente del sistema vbox:
nano config.php
[...] /* Username / Password for system user that runs VirtualBox */ var $username = 'vbox'; var $password = 'secret'; [...]
Questo è già tutto:ora puoi aprire un browser e accedere a phpVirtualBox come segue:
http://www.example.com/phpvirtualbox/
o Per IP:
http://192.168.1.100/phpvirtualbox/