phpvirtualbox es un front-end de VirtualBox basado en la web escrito en PHP que le permite acceder y controlar instancias remotas de VirtualBox. Intenta parecerse a la GUI de VirtualBox tanto como sea posible para que trabajar con ella sea lo más fácil posible. Es un buen reemplazo para la GUI de VirtualBox si ejecuta VirtualBox en servidores sin cabeza (como en el tutorial VBoxHeadless - Ejecución de máquinas virtuales con VirtualBox 5.1 en un servidor Ubuntu 16.04 LTS sin cabeza). Este tutorial explica cómo instalar phpVirtualBox en un servidor Ubuntu 16.04 para administrar un VirtualBox sin periféricos instalado localmente.
1 nota preliminar
Supongo que un VirtualBox sin cabeza ya está instalado en el servidor Ubuntu 16.04 local, p. como se describe en el tutorial VBoxHeadless:ejecución de máquinas virtuales con VirtualBox 5.1 en un servidor Ubuntu 16.04 LTS sin cabeza.
Estoy ejecutando todos los pasos de este tutorial con privilegios de root, así que asegúrese de haber iniciado sesión como root:
sudo su
2 Instalación de phpVirtualBox
Primero, cree un usuario del sistema llamado vbox y agréguelo al grupo de usuarios de vbox:
useradd -m vbox -G vboxusers
Cree una contraseña para el usuario de vbox:
passwd vbox
Cree el archivo /etc/default/virtualbox y coloque la línea VBOXWEB_USER=vbox en él (para que la API SOAP de VirtualBox, que se llama vboxwebsrv, se ejecute como el usuario vbox):
nano /etc/default/virtualbox
VBOXWEB_USER=vbox
A continuación, cree los enlaces de inicio del sistema para vboxwebsrv e inícielo:
systemctl enable vboxweb-service
systemctl start vboxweb-service
Necesitamos un servidor web con soporte PHP para servir phpVirtualBox. Estoy usando Apache2 aquí. Instale Apache y PHP de la siguiente manera:
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
Reiniciar Apache:
systemctl restart apache2.service
Quiero servir phpVirtualBox desde el host virtual predeterminado de Apache con la raíz del documento /var/www/html (lo instalaré en /var/www/html/phpvirtualbox); si tiene una raíz del documento diferente, debe ajustar los siguientes pasos :
cd /var/www/html
wget http://downloads.sourceforge.net/project/phpvirtualbox/phpvirtualbox-5.0-5.zip
Descomprima phpVirtualBox y cambie el nombre de phpvirtualbox-5.0-5 a phpvirtualbox para facilitar su uso:
unzip phpvirtualbox-5.0-5.zip
mv phpvirtualbox-5.0-5 phpvirtualbox
A continuación, vaya al directorio /var/www/phpvirtualbox/...
cd /var/www/html/phpvirtualbox/
... y crea el archivo config.php copiándolo desde config.php-example:
cp config.php-example config.php
Abra config.php y complete la contraseña que creó anteriormente para el usuario del sistema vbox:
nano config.php
[...] /* Username / Password for system user that runs VirtualBox */ var $username = 'vbox'; var $password = 'secret'; [...]
Eso es todo:ahora puede abrir un navegador y acceder a phpVirtualBox de la siguiente manera:
http://www.example.com/phpvirtualbox/
o Por IP:
http://192.168.1.100/phpvirtualbox/