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:
Josu