Cuantas veces hemos tenido que reinstalar nuestra máquina ya sea Windows, Linux o Mac –porque no nos engañemos todos la reinstalamos, aunque algunos menos veces que otros– y te entra ese sentimiento de pánico, porque conoces todo el trabajo que tienes por delante para dejarlo a tu gusto, con todas las herramientas que utilizabas, configuraciones, etc.
Y si desarrollas para la web, el servidor apache, mysql, php, extensiones, complementos, plugins … un dolor de cabeza.
Para estos desarrolladores que nos tenemos que pelear día sí, día también con nuestros servidores de desarrollo, testing, y producción, existe una herramienta, que si bien no elimina todos los males, los puede minimizar en gran medida, estas son las máquinas virtuales Vagrant.
Muchos estarán temblando al leer máquinas virtuales porque son de esas cosas que cuando van bien son muy útiles, pero cuando no, son un verdadero coñazo dolor de cabeza.
Pues bien, Vagrant lo que nos permite es crear una máquina virtual, pero a partir de unos archivos de configuración, la deja preparada y funcionando con todos los servicios que necesitamos para nuestro trabajo, incluso puede ser un entorno lo más parecido posible al servidor de producción dónde irá alojada nuestra aplicación web.
Las aplicaciones que necesitamos para poder arrancar una máquina Vagrant son:
- Instalar VirtualBox y las extensiones (también se pueden gestionar con Vmware, pero para eso necesitaremos comprar la licencia)
- Instalar Vagrant
Con estas dos aplicaciones ya podemos arrancar nuestra primera máquina. Para comenzar necesitaremos una box. Una box es una imagen de máquina virtual empaquetada para ser utilizada en Vagrant.
Boxes podemos encontrar practicamente cualquier distribución linux, incluso algun Windows 2008 como se puede ver en Vabrantbox.es.
Si es nuestra primera prueba con Vagrant podemos descargarnos una Ubuntu 12.04 LTS en su versión de 32 o 64 bits.
Para descargar una box, abrimos una Terminal y ejecutamos:
vagrant box add precise64 http://files.vagrantup.com/precise64.box
Este proceso tardará un poco ya que tiene que descargarse la imagen de unos 400Mb
El siguiente paso es configurar una carpeta donde se alojará nuestra configuración de máquina virtual, podemos crear una carpeta en nuestra Home de usuario que se llame Vagrant.
Desde la terminal entramos en la carpeta que acabamos de crear y ejecutamos:
vagrant init precise64
“precise64” es el nombre de la box que hemos descargado. Con esto se ha creado un archivo Vagrantfile donde se establece la configuración que tendrá la máquina virtual. Podemos abrir este archivo de texto y revisar qué configuraciones tiene, está todo muy comentado.
Una vez configurada nuestra carpeta para Vagrant, todos los comandos los debemos ejecutar desde esta misma carpeta.
Podemos arrancar la máquina virtual con el comando:
vagrant up
Si todo va bien, tendremos nuestra máquina Vagrant corriendo. Podemos conectarnos por terminal, con el comando:
vagrant ssh
Y para detener la máquina Vagrant:
vagrant halt
Si en algún momento queremos eliminar esta máquina, y empezar de nuevo la podemos destruir con el comando:
vagrant destroy
Y ya podemos empezar la máquina “limpia” nuevamente.
Otros comandos vagrant útiles:
Listado de las boxes que tenemos descargadas en nuestro sistema:
vagrant box list
Suspender la máquina Vagrant
vagrant suspend
Recargar la máquina virtual, por si hemos hecho algún cambio en la configuración:
vagrant reload
Ver el estado de la máquina virtual
vagrant status
Hasta aquí tenemos una máquina virtual corriendo en nuestro sistema, pero no tiene ningún servicio activo, así que por ahora no es muy útil esta máquina para trabajar.
En el próximo post explicaré como hacer un archivo de configuración que instale todos los servicios para desarrollo web.
2 respuestas a «Máquinas virtuales Vagrant y VirtualBox»
gracias
De nada Juan, un placer 😉