VirtualBox Server Ubuntu 16.04 :Virtualbox 5.1 headless + Phpvirtualbox 5.0

VirtualBox Server Ubuntu 16.04

Virtualbox headless + phpvirtualbox

Este post forma parte de la página Tutos Ubuntu 16.04 , y viene del anterior post, Asegurar Ubuntu 16.04 Home server y configuración básica..

Nota: Configuraremos un servidor básico para correr Virtualbox, y nunca accederemos a él desde Internet directamente, sino a través de una máquina virtual, para aumentar la seguridad del sistema. Por tanto, la configuración que proponemos es exclusivamente para un entorno doméstico al que de momento no accederemos directamente a través de Internet por el puerto 80.

Instalar virtualbox

Vamos a configurar /etc/apt/sources.list para incluir el repositorio de Oracle:

$ sudo nano /etc/apt/sources.list

Y añadimos la siguiente línea

deb http://download.virtualbox.org/virtualbox/debian xenial contrib

Después ejecutamos:

wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add -

sudo apt-get update

sudo apt-get install linux-headers-$(uname -r) build-essential virtualbox-5.1 dkms

Instalamos el Oracle VM VirtualBox Extension Pack

cd /tmp
wget http://download.virtualbox.org/virtualbox/5.1.26/Oracle_VM_VirtualBox_Extension_Pack-5.1.26-117224.vbox-extpack
sudo VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-5.1.26-117224.vbox-extpack

Nota: cuando actulizéis Virtualbox es importante,

  • apagar todas las máquinas virtuales,
  • detener todos los servicios (desde la consola de webmin) que empiezan por vbox,
  • después ejecutar el apt-get -y distupgrade,
  • y después para actualizar el extension pack podéis usar el siguiente script:
#!/bin/bash
version=$(vboxmanage -v)
echo $version
var1=$(echo $version | cut -d 'r' -f 1)
echo $var1
var2=$(echo $version | cut -d 'r' -f 2)
echo $var2
file="Oracle_VM_VirtualBox_Extension_Pack-$var1-$var2.vbox-extpack"
echo $file
wget http://download.virtualbox.org/virtualbox/$var1/$file -O /tmp/$file
#sudo VBoxManage extpack uninstall "Oracle VM VirtualBox Extension Pack"
sudo VBoxManage extpack install /tmp/$file --replace

Para crearlo:

$ nano upvboxext.sh ## ( e copiais el código )

$ chmod +x upvboxext.sh ## para hacerlo ejecutable.

$ sudo ./upvboxext.sh

Añadir el usuario que utilizará virtualbox.

Como no vamos a entrar por Internet directamente configurar al usuario con permisos sudo (user1) para gestionar vuestras propias máquinas virtuales y darles acceso a todo los archivos. Para otras configuraciones, mirar el siguiente link.

Ejecutamos:

sudo adduser user1 vboxusers

sudo nano /etc/default/virtualbox

e introducimos las línea

VBOXWEB_USER=user1

Después:

systemctl enable vboxweb-service
systemctl start vboxweb-service

Instalación de Apache+PHP 7 con  requerimientos mínimos:

sudo 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

Reiniciamos apache

sudo systemctl restart apache2.service

Instalar Phpvirtualbox

Vamos a instalar Phpvirtualbox como sitio por omisión de Apache, es decir, en el directorio /var/www/html .

Comprobamos que la última versión de Phpvirtualbox es la 5.0.5 y descargamos

cd /tmpwget https://kent.dl.sourceforge.net/project/phpvirtualbox/phpvirtualbox-5.0-5.zipunzip phpvirtualbox-5.0-5.zip
cd phpvirtualbox-5.0-5 sudo mv * /var/www/htmlsudo chown -R www-data:www-data /var/www/htmlcd /var/www/html/sudo cp config.php-example config.phpsudo nano config.php

Se abrirá el editor nano, y debemos introducir el usuario y el password del usuario de virtualbox:

[...]
/* Username / Password for system user that runs VirtualBox */
var $username = 'vbox';
var $password = 'secret';
[...]

Conviene un reinicio:

$ sudo reboot

Ya puedes abrir la página apuntando tu navegador a la dirección ip del servidor. http://192.168.1.X

El usuario es admin, y la password: admin. Entra el menú principal para cambiarlo.

Error de versión de phpvirtualbox.

Por si hace falta, para reiniciar vboxweb ( es un comando útil sobre todo cuando actualizamos) :

$ systemctl restart vboxweb-service

Se produce un error de versión de virtualbox 5.1, con phpvirtualbox 5.0. Para evitarlo, ya que no da ningún otro problema hay que editar el archivo endpoints/api.php (dentro de /var/www/html) y cambiar lo siguiente:

$ sudo nano /car/www/html/endpoints/api.php

// $response['data']['responseData']['phpvboxver'] = @constant('PHPVBOX_VER');
$response['data']['responseData']['phpvboxver'] = "5.1-0";

Reiniciamos los servicios:

sudo systemctl restart apache2.service

systemctl restart vboxweb-service

 

Seguimos próximamente con más posts.