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.

VirtualBox + PhpVirtualBox Ubuntu Server 12.04

imgvirtualbox1

Nota: Versión actualizada a Ubuntu 16.04 aquí.

Objetivo:

Ejecutar máquinas virtuales en un servidor ubuntu 12.04 LTS, sin interfaz gráfica, para acceder a ellas de forma remota.

 

Instalación de VirtualBox Headless.

 

Añadimos la clave de apt de virtualbox

wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | sudo apt-key add -

 

Editamos el archivo de fuentes de apt

sudo nano /etc/apt/sources.list

 

Y añadimos el repositorio a apt de VirtualBox, añadiendo la siguiente línea

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

Actualizamos e instalamos VirtualBox y otros paquetes:

sudo apt-get update
sudo apt-get install build-essential virtualbox-4.2 dkms

 

Descargamos e instalamos el “extension pack” para tener acceso a funciones como el USB 2.0, y el servidor rdp que necesitamos para instalar phpvirtualbox. La última versión la podemos encontrar en http://www.virtualbox.org/wiki/Downloads. En el momento actual :

cd /tmp
wget http://dlc.sun.com.edgesuite.net/virtualbox/4.2.16/Oracle_VM_VirtualBox_Extension_Pack-4.2.16-86992.vbox-extpack
sudo VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-4.2.16-86992.vbox-extpack

 

Y finalmente añadimos nuestro usuario al grupo VirtualBox

sudo adduser user vboxusers

 

Instalar phpvirtualbox.

La página del proyecto es http://sourceforge.net/projects/phpvirtualbox/

Actuamos como root

sudo su

 

Añadimos nuestro usuario habitual al acceso web de VirtualBox editando …

nano /etc/default/virtualbox

Y añadimos la línea

VBOXWEB_USER=User

En User ponemos nuestro usuario

Ahora creamos los enlaces de inicio del vboxwebsrv

update-rc.d vboxweb-service defaults
/etc/init.d/vboxweb-service start

 

Añadimos unos cuantos paquetes para el servidor Apache + PHP

apt-get install apache2-mpm-prefork apache2-utils apache2.2-bin apache2.2-common apache2 apache2-doc apache2-suexec libapache2-mod-php5 libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap libapr1 php5-common php5-mysql php5-suhosin php-pear wget unzip

Reiniciamos apache

sudo service apache2 restart

 

Descargamos y descomprimimos la última versión de phpvirtualbox en el directorio /var/www

cd /var/www
wget http://surfnet.dl.sourceforge.net/project/phpvirtualbox/phpvirtualbox-4.2-7.zip
unzip phpvirtualbox-4.2-7.zip
mv phpvirtualbox-4.2-7 phpvirtualbox
rm phpvirtualbox-4.2-7.zip

Ahora entramos dentro del directorio de phpvirtualbox y hacemos copia de seguridad del archivo de configuración.

cd /var/www/phpvirtualbox/

 

cp config.php-example config.php

 

Modificamos config.php

nano config.php

Y modificamos las siguientes líneas. Introducimos usuario y contraseña de nuestro usuario.

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

 

Y ya podemos acceder al interface de phpvirtualbox tecleando

http://ip_servidor/phpvirtualbox.

 

El usuario es “admin”, y el password “admin”. Por tanto lo primero que tenemos que hacer es cambiarlo. En File, Chage Password.

A partir de aquí el uso es similar al cliente gtk de virtual box.

Si la máquina virtual que instaláis es linux, os recomiendo que después de instalar los «guest tools», instaléis xrdp en español.

 

Gracias a:

http://www.howtoforge.com/managing-a-headless-virtualbox-installation-with-phpvirtualbox-ubuntu-12.04

 

http://www.howtoforge.com/vboxheadless-running-virtual-machines-with-virtualbox-4.1-on-a-headless-ubuntu-12.04-server