Blog tecnico

Blog técnico

 

 

Creación de una máquina virtual de Debian con VirtualBox

Creación de una máquina virtual de Debian con VirtualBox

VirtualBox

VirtualBox es un software de virtualización gratuito mantenido, en este momento, por Oracle. Próximamente dedicaremos una entrada completa a comentar las ventajas de utilizar máquinas virtuales en el desarrollo de nuestras aplicaciones, pero hoy nos vamos a centrar no en el "por qué", sino en el "cómo".

 

En este tutorial vamos a ver cómo montar una máquina virtual totalmente OpenSource, a partir de VirtualBox (4.3.6) y Debian Wheezy (7.4.0). El tutorial se ha creado utilizando como sistema anfitrión Windows 8, pero todos los pasos son iguales sobre un anfitrión con Ubuntu, por poner un ejemplo de un sistema operativo libre.

 

Vamos a ver los pasos necesarios para crear nuestra máquina virtual:

 

1. Descargar la última versión de VirtualBox para nuestro sistema operativo anfitrión e instalar, mediante el asistente (Siguiente, siguiente....).

 

2. Descargar la última versión de Debian. Es suficiente con descargar la versión corta que requiere conexión a Internet (lo demás podemos ir descargándolo a medida que lo vayamos necesitando). Es el fichero debian-X.X.X-amd64-netinst.iso (a día de hoy, debian-7.4.0-amd64-netinst.iso).

 

3. Abrir VirtualBox y crear una nueva máquina virtual (botón Nueva). Después de asignarle un nombre y las características del S.O. que vamos a instalar, nos preguntará algunas cosas como memoria, tamaño de los discos, etc. Para no complicar el tutorial, dejaremos las opciones por defecto.

 

Nueva máquina virtual

 

4. Utilizar la imagen iso de Debian en nuestra máquina virtual. Una vez creada la máquina, accedemos a Configuración > Almacenamiento y pulsamos sobre Agregar dispositivo CD/DVD. Nos permitirá seleccionar el archivo iso que descargamos en el paso 2.

 

 

5. Arrancar la máquina e instalar Debian con el asistente (Siguiente, siguiente…). Pedirá idioma, contraseña para root, etc. Normalmente no necesitaremos el entorno gráfico para desarrollar, pero sí el servidor de correo y SSH.

 

 

6. Para salir de la máquina es CTRL-DERECHA.

 

7. Una vez instalado el sistema, hay que configurar la red. La parte de configuración de red se explicará completamente en el tutorial “Configuración de red”. Aquí mostramos simplemente un posible contenido para el fichero /etc/network/interfaces que se encargue de habilitar la conexión por dhcp (ip dinámica):

 

auto lo eth0
iface lo inet loopback
 
# The primary network interface
allow-hotplug eth0
iface eth0 inet dhcp

 

Para terminar, hay que configurar la red en VirtualBox, en Configuración > Red. La opción por defecto, NAT, es válida y debemos habilitar el reenvío de puertos para poder conectar con la máquina virtual desde nuestro anfitrión:

 

 

 

Después, para conectar por ssh (desde programas como putty o winscp, por ejemplo), habrá que indicar como nombre del host, localhost y, como puerto, el que hayamos indicado en el puerto anfitrión (en el ejemplo, 2222). Para conectarnos al tomcat, habría que redirigir el 8080, etc.

 

IMPORTANTE: Si utilizamos un sistema operativo anfitrión basado en Linux, como Ubuntu, los puertos del 1 al 1000 están reservados por el sistema operativo, así que tendremos que reenviar a un puerto por encima del 1000 (como en este ejemplo, el 2222).

 

En este punto ya tendremos creada nuestra máquina virtual base con Debian, sobre la que podremos instalar lo que necesitemos: Java, un servidor de aplicaciones, una base de datos, etc.

 

Por último, hay que tener en cuenta que, para copiar las máquinas virtuales de VirtualBox, lo mejor es usar la propia función de clonado que tiene el programa. Seleccionamos Clonación completa (de este modo la nueva máquina es independiente de la primera) y Todo (para copiar también snapshots). En la configuración de red, Avanzadas, debemos marcar la opción de actualizar la dirección MAC para que genere una nueva. Además, al arrancar la nueva máquina (el clon), habrá que borrar este fichero de Debian: /etc/udev/rules.d/70-persistent-net.rules y reiniciar para que funcione la conexión de red entre el anfitrión y el Debian invitado.