Búsqueda de sitios web

Instale Oracle VirtualBox y phpVirtualBox en CentOS 7


Todos sabíamos cómo instalar Oracle VirtualBox en sistemas basados en GUI CentOS 6.x y CentOS 7.x. Pero, ¿qué pasa con el servidor mínimo CentOS que no tiene ningún entorno de escritorio GUI? No te preocupes, VirtualBox tiene una herramienta llamada “VBoxHeadless”. VBoxHeadless puede ayudarle a crear y administrar máquinas virtuales sin la necesidad de la GUI de VirtualBox.

En este tutorial, veamos cómo instalar y configurar Oracle VirtualBox en servidores mínimos CentOS 6.x y CentOS 7.x.

Aquí están los detalles de mi caja de prueba:

OS: CentOS 7.1 Server Minimal Installation (No GUI)
IP Address: 192.168.1.150/24

Preparando el servidor CentOS

Antes de instalar VirtualBox, tenemos que realizar un par de tareas.

En primer lugar, actualice su servidor.

yum update -y

Cree un usuario normal independiente (por ejemplo, sk_vuser) para instalar Oracle virtualbox.

useradd sk_vuser
passwd sk_vuser

Cierre sesión y vuelva a iniciar sesión con ese usuario.

Cambie a los privilegios de usuario root mediante el siguiente comando:

su

Ahora, instale los siguientes requisitos previos que necesita Oracle VirtualBox.

yum groupinstall 'Development Tools'
yum install SDL kernel-devel kernel-headers dkms

Reinicie su servidor una vez para que todos los cambios surtan efecto.

Instalación de VirtualBox

Vaya al directorio /etc/yum.repos.d/:

cd /etc/yum.repos.d/

Agregue el último repositorio de Oracle virtualbox a su servidor CentOS. Puede descargar el último repositorio de Oracle virtualbox desde aquí.

wget http://download.virtualbox.org/virtualbox/rpm/el/virtualbox.repo

Agregue la clave pública de virtualbox:

wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc
rpm --import oracle_vbox.asc

Ahora, actualice el repositorio e instale la última versión de Oracle virtualbox.

yum update && yum install VirtualBox-4.3

Después de instalar virtualbox, agregue el usuario de virtualbox sk_vuser al grupo vboxusers.

usermod -G vboxusers sk_vuser

Ahora, ejecute el siguiente comando para verificar si los módulos del kernel de virtualbox están cargados o no.

En CentOS 7.x:

systemctl status vboxdrv

En CentOS 6.x:

/etc/init.d/vboxdrv status

Salida de muestra:

vboxdrv.service - LSB: VirtualBox Linux kernel module
   Loaded: loaded (/etc/rc.d/init.d/vboxdrv)
   Active: active (exited) since Thu 2015-06-11 19:20:09 IST; 19min ago
  Process: 561 ExecStart=/etc/rc.d/init.d/vboxdrv start (code=exited, status=0/SUCCESS)

Jun 11 19:20:04 server1.unixmen.local systemd[1]: Starting LSB: VirtualBox Linux kernel module...
Jun 11 19:20:09 server1.unixmen.local vboxdrv[561]: Starting VirtualBox kernel modules [  OK  ]
Jun 11 19:20:09 server1.unixmen.local systemd[1]: Started LSB: VirtualBox Linux kernel module.

Si no está cargado, ejecute el siguiente comando para cargarlos:

/etc/init.d/vboxdrv setup

Instalar el paquete de extensión Oracle VirtualBox

A partir de VirtualBox 4.0, debemos instalar el paquete de extensión que nos ayudará a administrar y conectar nuestras consolas invitadas remotas a través de la interfaz web. Este paquete de extensión proporciona las siguientes funcionalidades a los invitados de VirtualBox.

  • El dispositivo virtual USB 2.0 (EHCI)
  • Compatibilidad con el protocolo de escritorio remoto de VirtualBox (VRDP)
  • Transferencia de cámara web del host
  • ROM de arranque Intel PXE
  • Soporte experimental para transferencia PCI en hosts Linux

El paquete de extensión de VirtualBox debe ser la misma versión que el paquete base de VirtualBox. Descargue el paquete de extensión para VirtualBox 4.3 desde aquí.

wget http://download.virtualbox.org/virtualbox/4.3.28/Oracle_VM_VirtualBox_Extension_Pack-4.3.28-100309.vbox-extpack

Luego, instale el paquete de extensión como se muestra a continuación.

sudo VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-4.3.28-100309.vbox-extpack

Salida de muestra:

0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Successfully installed "Oracle VM VirtualBox Extension Pack".

Eso es todo, Oracle VirtualBox y el paquete de extensión se han instalado correctamente en nuestro servidor CentOS 6.5. Comience a usar Oracle VirtualBox en su servidor sin cabeza CentOS. Para crear y administrar máquinas virtuales desde la línea de comandos, consulte el manual oficial.

En su lugar, puede utilizar el cliente GUI de Oracle VirtualBox llamado “phpvirtualbox”. para crear y administrar fácilmente máquinas virtuales a través del navegador web de cualquier sistema de escritorio remoto.

Cree y administre máquinas virtuales desde la línea de comando

Primero, creemos una máquina virtual de servidor Ubuntu 14.04 con 512 MB de RAM y 8 GB de disco duro virtual.

Para hacer eso, ejecute:

VBoxManage createvm --name "Ubuntu 14.04" --register

Salida de muestra:

Virtual machine 'Ubuntu 14.04' is created and registered.
UUID: 6ac096ec-01a8-4f5b-9a84-46f874eb7cfb
Settings file: '/root/VirtualBox VMs/Ubuntu 14.04/Ubuntu 14.04.vbox'

A continuación, asigne el tamaño de la RAM y el modo de la tarjeta de red (Bridge o NAT).

VBoxManage modifyvm "Ubuntu 14.04" --memory 512 --acpi on --boot1 dvd --nic1 bridged --bridgeadapter1 eth0

Asigne el tamaño del disco duro virtual.

VBoxManage createhd --filename Ubuntu_14_04.vdi --size 8000

Resultado de muestra:

0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Disk image created. UUID: 8d48aef4-eb92-4181-aed1-63ccbae0f2b1

Agregar controlador de almacenamiento:

VBoxManage storagectl "Ubuntu 14.04" --name "IDE Controller" --add ide

Adjunte el archivo del disco duro virtual (vdi) al controlador de almacenamiento usando el comando:

VBoxManage storageattach "Ubuntu 14.04" --storagectl "IDE Controller" --port 0 --device 0 --type hdd --medium /home/sk/Ubuntu_14_04.vdi

Ahora, asigne los medios ISO de Ubuntu usando el comando:

VBoxManage storageattach "Ubuntu 14.04 Server" --storagectl "IDE Controller" --port 1 --device 0 --type dvddrive --medium /home/sk/ubuntu-14.04-server-i386.iso

Eso es todo. Se ha creado la nueva máquina virtual.

Para conocer el comando VBoxManage, ejecute:

VBoxManage --help

O consulte la guía oficial.

Ahora, inicie la VM usando el comando:

VBoxHeadless --startvm "Ubuntu 14.04"

Para detener una VM en ejecución, ingrese el siguiente comando:

VBoxManage controlvm "Ubuntu 14.04" poweroff

De manera similar podemos pausar una VM, usando el comando:

VBoxManage controlvm "Ubuntu 14.04" pause

Para restablecer una VM, ingrese:

VBoxManage controlvm "Ubuntu 14.04" reset

Para obtener más información sobre las opciones de VBoxHeadless, ejecute:

VBoxHeadless --help

Salida de muestra:

Oracle VM VirtualBox Headless Interface 4.3.28
(C) 2008-2015 Oracle Corporation
All rights reserved.

Usage:
   -s, -startvm, --startvm <name|uuid>   Start given VM (required argument)
   -v, -vrde, --vrde on|off|config       Enable (default) or disable the VRDE
                                         server or don't change the setting
   -e, -vrdeproperty, --vrdeproperty <name=[value]> Set a VRDE property:
                                         "TCP/Ports" - comma-separated list of ports
                                         the VRDE server can bind to. Use a dash between
                                         two port numbers to specify a range
                                         "TCP/Address" - interface IP the VRDE server
                                         will bind to
   --settingspw <pw>                     Specify the settings password
   --settingspwfile <file>               Specify a file containing the settings password
   -c, -capture, --capture               Record the VM screen output to a file
   -w, --width                           Frame width when recording
   -h, --height                          Frame height when recording
   -r, --bitrate                         Recording bit rate when recording
   -f, --filename                        File name when recording. The codec used
                                         will be chosen based on the file extension

Para obtener más detalles, consulte el manual oficial.

Crear y administrar puede ser un método un poco difícil y que requiere mucho tiempo para algunos administradores perezosos. Si usted es uno de ellos, existe otra forma de crear y administrar máquinas virtuales sin cabeza desde un navegador web de sistema remoto utilizando una herramienta llamada “phpvirtualbox”.

Puede utilizar el cliente GUI de Oracle VirtualBox llamado “phpvirtualbox” para crear y administrar fácilmente máquinas virtuales a través de un navegador web desde cualquier sistema de escritorio remoto.

¿Qué es phpVirtualBox?

phpVirtualBox es un cliente basado en web de código abierto escrito con PHP. Se puede utilizar para gestionar y administrar instancias sin cabeza de Oracle VirtualBox.

Instalar phpVirtualBox

Antes de instalar phpVirtualBox, debemos instalar el servidor web Apache y PHP. Para instalar Apache, PHP consulte los siguientes enlaces.

  • Instale el servidor LAMP en CentOS 6.5
  • Instalar la pila LAMP en CentOS 7

Además, instale la extensión php-soap que phpVirtualBox requiere para funcionar bien.

yum install php-soap

Reinicie el servidor web para que los cambios surtan efecto.

En CentOS 7.x:

systemctl restart httpd

En CentOS 6.x:

service httpd restart

Ahora, descargue la última versión del sitio oficial de phpVirtualBox.

wget http://sourceforge.net/projects/phpvirtualbox/files/phpvirtualbox-4.3-3.zip

Extraiga el archivo zip usando el siguiente comando:

unzip phpvirtualbox-4.3-3.zip

Mueva la carpeta extraída a su carpeta raíz de Apache.

mv phpvirtualbox-4.3-3 /var/www/html/phpvirtualbox

Configurar phpVirtualBox

Edite el archivo phpVirtualBox config.php:

cp /var/www/html/phpvirtualbox/config.php-example /var/www/html/phpvirtualbox/config.php
vi /var/www/html/phpvirtualbox/config.php

Cambie el nombre de usuario/contraseña del usuario del sistema que ejecuta VirtualBox. En nuestro caso, el nombre de usuario/contraseña es sk_vuser/centos.

[...]
var $username = 'sk_vuser';
var $password = 'centos';
[...]

Guarde y cierre el archivo.

Crea un archivo llamado /etc/default/virtualbox:

vi /etc/default/virtualbox

Agregue la siguiente línea:

VBOXWEB_USER=sk_vuser

Ahora, inicie vboxweb-service y haga que se inicie automáticamente en cada reinicio.

/etc/init.d/vboxweb-service start
chkconfig vboxweb-service on

No quiero jugar con iptables y SElinux. Entonces, simplemente los desactivé a ambos.

En CentOS 7.x:

systemctl disable firewalld
systemctl stop firewalld

En CentOS 6.x:

service iptables stop
chkconfig iptables off

Deshabilitar SELinux:

vi /etc/sysconfig/selinux

Establezca SELINUX=deshabilitado.

[...]
SELINUX=disabled
[...]

Reinicie su sistema una vez para que todos los cambios surtan efecto.

Acceder a la consola web phpVirtualBox

Ahora, vaya a cualquier sistema cliente que tenga instalado un entorno de escritorio GUI e intente acceder a la URL http://ip-address-of-virtualbox-headless-server/phpvirtualbox desde el navegador web.

Ahora, intente nuevamente con la misma URL mencionada anteriormente. Debería aparecer la siguiente pantalla. Ingrese el nombre de usuario/contraseña.

El nombre de usuario/contraseña predeterminado es admin/admin.

Ahora, serás redirigido al panel principal de phpVirtualBox.

Desde aquí, puede crear, modificar, eliminar y administrar máquinas virtuales.

Creando una máquina virtual de muestra

Creemos una máquina virtual de muestra para instalar Ubuntu 14.04.

Haga clic en el botón Nuevo en la esquina superior izquierda. Ingrese el nombre de la máquina virtual.

Establezca el tamaño de la memoria para la máquina virtual.

Seleccione la opción "Crear un disco duro virtual ahora".

Seleccione el tipo de archivo del disco duro.

Elija si el nuevo archivo del disco duro virtual debe crecer a medida que se utiliza (asignado dinámicamente) o si debe crearse en su tamaño máximo (tamaño fijo).

Ingrese el tamaño del disco duro virtual.

Eso es todo. La máquina virtual ha sido creada. Comience a instalar el sistema operativo y use la máquina virtual.

La herramienta phpVirtualBox definitivamente ayudará a los administradores de sistemas que solo tienen un servidor CentOS sin cabeza, y además la instalación no es tan difícil. Por lo tanto, puede ejecutar fácilmente tantas máquinas virtuales como admita su hardware desde su servidor CentOS sin cabeza.

Referencias:

  • Oracle VirtualBox
  • Cómo forjar
  • phpVirtualBox

¡Salud!