Vagrant, Phpstorm Y El Nuevo Hype De Los Entornos

Vagrant, PHPStorm y el nuevo hype de los entornos

Imagina que tienes a tu disposición una herramienta que te monta entornos de desarrollo y en la que no tienes que configurar nada. Imagina que te olvidas de instalar un Apache, un Mysql y PHP en tu ordenador cada vez que formateas. Imagina que ya no tienes que escribir más buildfiles y que puedes desplegar haciendo click en un botón. Imagina que tienes diferentes sistemas operativos y tecnologías instaladas a golpe de comando. Imagina que trabajas en equipo y todos usais el mismo entorno, el “pues a mi no me funciona” dejaría de existir. Imagina…

Parezco John Lennon copón, pero todo esto que te estas imaginando existe en forma de herramienta. Si alguna vez has sufrido lo anterior se te estará haciendo el culo pepsicola tan solo con imaginar. Hablo de Vagrant.

¿Qué es Vagrant?

Logo de Vagrant

Logo de Vagrant

Pues no es nada más y nada menos que una herramienta que cada vez están utilizando más empresas de software y que sirve para virtualizar entornos de desarrollo de una manera super rápida mediante ficheros de configuración. Estos entornos están configurados para que puedan ser usados con los servicios más populares de virtualización como VirtualBox, VMWare o AWS. Según su página web:

Create and configure lightweight, reproducible, and portable development environments.

El corazón de cada instancia es un ficherito que se llama Vagrantfile en el que defines la configuración mínima de la máquina, el sistema operativo y las herramientas que vamos a necesitar.

Una de las grandes ventajas del uso de Vagrant es su integración con herramientas de suministro como Chef y Puppet las cuales se basan en la creación de recetas o scripts que permiten alterar la configuración, instalar de software y mucho más durante el proceso de levantamiento del ambiente.

¿Cómo empiezo?

Para comenzar a utilizar Vagrant vas a necesitar un software de virtualización. Yo soy muy fan de VirtualBox así que el ejemplo irá por ahí, pero vamos, como hemos dicho más arriba, Vagrant no esta sujeto a un solo software. Para instalar VirtualBox escribimos lo siguiente en una terminal.

sudo apt-get install virtualbox-qt

Una vez haya terminado la instalación nos dirigimos a la página web de descarga de Vagrant y seleccionamos nuestro sistema operativo y arquitectura. En mi caso he elegido Linux de 32 bits, esto hará que se nos descargue un paquete .deb que podemos instalar con el gestor de software de Linux.

El proceso de instalación agregará la variable de entorno vagrant a nuestro PATH para que podamos utilizarlo por comandos y para probar que todo ha ido bien que mejor que mirar la versión instalada.

vagrant -v

Configurando Vagrant en PHPStorm

Una Box es la imagen base de una instancia de máquina virtual en la que ya viene preconfigurado todo lo que podamos necesitar, concepto básico en Vagrant. Actualmente ya hay cientos de Boxes predefinidas por lo que tan solo tendrás que buscarla en este listado e instalarla.

Empezando a configurar Vagrant en PHPStorm

Empezando a configurar Vagrant en PHPStorm

Para configurar Vagrant en PHPStorm tenemos que dirigirnos a Settings > Project Settings > Vagrant y se nos abrirá una ventana en la que tenemos que poner la ruta al ejecutable de Vagrant primero y después el directorio en el que estará alojada nuestra instancia. Si lo dejamos en blanco se entiende que se instalará en el directorio del proyecto.

Haciendo click en el botón de Añadir podemos definir nuestra primera box de Vagrant, por defecto PHPStorm nos proveerá con una Ubuntu Lucid Lynx de 32 bits, que no esta nada mal para comenzar, pero podemos definir cualquier otra box tan solo añadiendo su url.

Ubuntu Lucid Lynx por defecto

Ubuntu Lucid Lynx por defecto

Para iniciar Vagrant tendremos que hacer click en Tools > Vagrant > Init in Project Root. Esto creará nuestro VagrantFile, el fichero de configuración que tendrá los detalles de la máquina virtual como por ejemplo la configuración de la IP Virtual, el mapeo de puertos o la memoria a asignar entre otros…

Inicializando nuestro entorno virtual

Inicializando nuestro entorno virtual

Por último, si queremos levantar nuestra instancia de máquina virtual tenemos dos formas de hacerlo, o teclear lo siguiente en la terminal

vagrant up

o hacer click en Tools > Vagrant > Up.

Arrancando nuestro entorno virtual

Arrancando nuestro entorno virtual

Con esto ya tendremos nuestro entorno virtual levantado pero estará pelado. Posteriormente tendrás que instalar todo aquello que necesites como por ejemplo un servidor y una base de datos, a no ser que encuentres una box que incluya todo esto y mucho mas.

Si escribes en una terminal

vagrant ssh

podrás acceder por ssh al entorno recién creado para ir instalando a mano todos los programas o copiar tu proyecto mediante scp, aunque existen otras maneras de hacer un deploy.

Por otro lado, hay varios servicios como PuPHPet que se encargan, mediante una GUI, de generarte un Vagrantfile con todos los programas que puedas llegar a necesitar, es muy intuitivo, tan solo tienes que ir haciendo click en lo que te interese y dejar que el asistente te vaya guiando por cada uno de los pasos.

Para comenzar con Vagrant, esta primera aproximación no esta nada mal. Dejo para más adelante la creación de boxes personalizadas con PuPHPet y el deploy en entornos de desarrollo virtuales.

¡Hasta que volvamos a olernos!

Gorka Muñoz Andrés

Me llamo Gorka Muñoz y soy un desarrollador melómano. Combino a la perfección la búsqueda de nuevos grupos con la pasión por la tecnología. Desde chiquitito me ha gustado la programación, ahora que soy mayor estoy metido en el mundo del SEO sin olvidarme del /Dev.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *