Instalando y Ejecutando Vagrant Drupal Development en Ubuntu 13.04

Una vez más, explorando en la web, buscando la facilidad y comodidad para la creación de mi primer proyecto en Drupal, encontré algo interesante, una herramienta que además de facilitar el manejo y eficiencia de un proyecto en Drupal, se complementa con la portabilidad y el fácil acceso a la información de los proyectos que pensemos desarrollar.

hay que tener en cuenta que nosotros, como desarrolladores, debemos buscar siempre la comodidad, claridad y eficiencia al momento de la creación de cualquier proyecto.

Vagrant es una máquina virtual, donde se puede realizar pruebas o correr aplicaciones logrando que herramientas como Drupal se ejecuten en entornos virtuales sin afectar tu sistema operativo y por su configuración se puede gestionar su portabilidad. además, brinda la posibilidad de construir entornos únicos para el desarrollo de proyectos, que más adelante se puedan desmontar y reconstruir de acuerdo con nuestras necesidades.

para poder ejecutar Vagrant en mi ordenador, debo instalar VirtualBox cuya función es interpretar los procesos de arranque y ejecución de Vagrant.

VirtualBox, es un software simulador de sistemas operativos. se encarga de gestionar la configuración y arranque de un sistema operativo virtual sin afectar la configuración del sistema operativo central. por ejemplo, si tengo instalado ubuntu 13.04 en mi ordenador, y quiero ejecutar algún programa de Windows como Photoshop, con VirtualBox puedo crear una maquina virtual con sistema operativo Windows agregando las configuraciones necesarias, para poder ejecutar Photoshop virtualmente sin afectar mi sistema operativo. en este caso VirtualBox interpreta a Vagrant como máquina virtual y proporciona los complementos necesarios para que se pueda ejecutar aislado de Ubuntu 13.04.

Mi tarea esta vez fue instalar VirtualBox y Vagrant en Ubuntu 13.04 , veamos el proceso.

Primero te diriges a la página oficial de VirtualBox https://www.virtualbox.org/wiki/Downloads y lo descargas, directamente en un paquete con extensión .deb.

en la página oficial de VirtualBox selecciona la opción Virtualbox 4.3.2 for linux host.

 

debes seleccionar la versión del sistema operativo, y empezará la descarga de VirtualBox.

 

Cuando termine la descarga, das doble click al paquete y se abrirá la ventana del instalador de Ubuntu y comenzará la instalación.

Por supuesto que para poder instalar, te solicitará la contraseña de usuario si tu usuario tiene restricciones.

Por cierto, debes crear una carpeta donde guardarás todos los archivos y paquetes que vayas descargando, esto para llevar un orden más claro al momento de tener acceso a esta información.

Otra manera para descargar VirtualBox es directamente desde el Centro de Software de Ubuntu, en la esquina superior derecha encuentras el cuadro de búsqueda y escribes VirtualBox y aparecerán los resultados y aparece esta opción:

selecciona la opción similar a esta y das click en mas información, y seguidamente presiona instalar.

Esto tarda unos minutos nada más y después, verifica que esté instalado.

para esto vas a la pestaña Instalado y después das click en  Accesorios.

Allí deberá aparecer VirtualBox, la opción  instalar o también la opción desinstalar si ya está instalado.

este fué el proceso para instalar VirtualBox, ahora falta instalar Vagrant, para ello haces lo siguiente:

dirijete a la  página oficial de Vagrant: http://www.vagrantup.com/.

luego das click  en Download.

 

Después seleccionas una de las versiones que vas a utilizar.

En este caso  selecciona  la versión más reciente.
 
Y luego descargas la versión según corresponda el tipo de sistema operativo que tengas, en este caso es un sistema operativo de 32 bits y por ello descargo la opción i686.deb, y de inmediato comienza la descarga de Vagrant.
 
Al finalizar la descarga, encontrarás un paquete en forma de cajita y al darle doble click se abrirá el instalador de ubuntu;  debes seguir las instrucciones de instalación y esperas que finalice la instalación , de igual manera compruebas que está instalado en el centro de software de ubuntu y listo.

Luego de esto, instalas otro paquete que es fundamental en el desarrollo del proyecto.

Necesitas VDD (Vagrant Drupal Development).

El objetivo principal de VDD es proporcionar la facilidad de usar un entorno basado en Linux completamente funcional y altamente personalizable para el desarrollo de Drupal.

Para la descarga te diriges al siguiente link: https://drupal.org/project/vdd.

das click a download GZ, y empezará la descarga del paquete. Al final de la descarga tendrás  un paquete similar a este:

debes tener en cuenta que las carpetas o archivos que descargues de aquí en adelante las debes guardar en una nueva carpeta que sea de fácil acceso.

das click derecho y seleccionas extraer aquí, y saldrá una carpeta llamada vdd.

Con esto culmina la instalación de los paquetes y herramientas que utilizarás en el proceso de la instalación y ejecución de Vagrant.

Para poner en marcha Vagrant en nuestro ordenador, deberás ejecutar una serie de funciones que llevarán a cabo el principal objetivo de este tutorial.

Primero debes abrir una terminal.

antes que nada, las funciones de Vagrant se ejecutan por medio de Comandos con los que podrás ingresar dentro de Vagrant, iniciarlo, detenerlo. destruirlo, entre otros, acá la lista con su descripción.

 

Vagrant box, Este es el comando que se utiliza para administrar (empaquetar, mover, listar o agregar) cajas.

Vagrant Destroy, este comando detiene la máquina Vagrant y destruye los recursos que se crearon durante el proceso de arranque.

Vagrant Halt, con este código se puede apagar la máquina que se encuentra en marcha.

Vagrant Init, Inicializa el directorio donde correrá Vagrant.

Vagrant Package, Este paquete de un entorno VirtualBox se ejecuta actualmente en una caja reutilizable.

Vagrant plugin, este se utiliza para gestionar Plugins.

Vagrant Provision, ejecuta los abastecedores de configuraciones de la Máquina Vagrant.

Vagrant Reload, este comando se usa para que algún cambio en el archivo Vagrantfile surta efecto.

Vagrant Resume, Esto gestiona que se restablezca una máquina Vagrant detenida con anterioridad.

Vagrant Ssh, dará acceso a una shell dentro de la máquina.

Vagrant ssh-config, es para configurar la salida de funciones ssh dentro de la consola.

Vagrant status, mostrará el estado de la(s) máquina(s) que se encuentran ejecutándose.

Vagrant suspend, este comando suspende la(s) máquina(s) que se están ejecutando.

Vagrant Up, es el comando más importante en Vagrant, ya que es cómo se crea cualquier máquina Vagrant. Cualquier persona que use Vagrant deberá utilizar este comando día a día.

ls (comando de linux), lo usaremos para listar el contenido de una carpeta o archivo.

Continuando con el proceso de la creación de la máquina Vagrant se hace lo siguiente:

en este caso hay una carpeta en el escritorio llamada Vagrant.

al abrir la terminal, escribimos ls y pulsamos enter, allí verás la lista de archivos que tienes en esta ubicación, la carpeta donde están los archivos, se llama Vagrant.

Luego ingresa a esa carpeta, teclea cd vagrant, y de inmediato estarás dentro de la carpeta, como se muestra a continuación...

debes volver  a listar los archivos que contiene la carpeta vagrant, esto lo haces con el comando ls.

 

Como verás, allí esta la carpeta llamada vdd, lo que vas a hacer es ingresar a esta carpeta y ver que archivos contiene, y debes hacerlo de la siguiente manera, escribe cd vdd. Y estando dentro de la carpeta vdd ejecutas la función vagrant init, y Vagrant generará un archivo llamado Vagrantfile.

 

Antes de la edición del archivo Vagrantfile, debes instalar el sistema operativo base sobre el cual va a correr el cual es indispensable para el funcionamiento de VDD,

$ vagrant box add precise32http://files.vagrantup.com/precise32.box

lo ejecutas directamente desde la terminal; es decir, lo escribes, pulsas enter y empezará a descargar e instalar.
 

Vagrantfile  es el que puedes  editar de la manera que lo necesites.

En este caso solo hay que editar una pequeña cosa que viene por defecto;  escribe  $ nano Vagrantfile

verás el texto que contiene el archivo Vagrantfile, ahora estos son los cambios que debes hacer:

# Base box

config.vm.box = "base"

config.vm.box_url = "http://files.vagrantup.com/base.box".

esta línea la vas a modificar de la siguiente manera, donde está escrito base lo cambias por precise32, quedando de la siguiente manera:

# Base box

config.vm.box = "precise32"

config.vm.box_url = "http://files.vagrantup.com/precise32.box".

después de haber realizado ese cambio presionas Ctrl + x, para confirmar, presione yes o sí. Y listo…

además encontrarás otro archivo llamado config.json, este es donde vas a especificar la gestión del o los sitios, el cual trae una dirección IP por defecto, que es a la cual debes ir cuando termine de la instalación, allí verás la interfaz que ofrece el VDD.

para acceder al contenido del archivo debes teclear

$ nano config.json

config.json contiene lo siguiente:

verás la IP donde podrás verificar que la máquina Vagrant esta funcionando correctamente.

ahora es hora de poner en marcha Vagrant...

ahora, teclea vagrant up y pulsa enter.

la máquina empezará a correr, primero aparece texto que dice algo como:

 A Vagrant 1.0.x state file was found for this environment. Vagrant has

gone ahead and auto-upgraded this to the latest format. Everything

should continue working as normal. Beware, however, that older versions

of Vagrant may no longer be used with this environment.

However, in case anything went wrong, the old dotfile was backed up

to the location below. If everything is okay, it is safe to remove

this backup.

después de esto, empieza a correr la maquina Vagrant, esto tarda un tiempo entre 40 minutos aproximadamente (depende se la velocidad de la máquina), claro que se demora todo este tiempo si es la primera vez en inicializarce Vagrant, después de la segunda, este ya no se demora todo este tiempo.

Cuando termine este proceso, la terminal mostrará algo como esto:

Para saber si instaló correctamente te diriges a cualquiera de tus navegadores o navegador y escribes lo siguiente : 192.168.44.44  y tendrá que aparecer algo como esto:

concluyendo, los problemas que tuve durante la instalación de Vagrant  fueron:

instalar Vagrant desde la terminal, en internet encuentras la manera de instalar Vagrant desde la terminal, con el siguiente código:

$ sudo apt-get install vagrant

el problema con esto es que se instala, pero los repositorios no son compatibles con VDD y no deja que Vagrant pueda ejecutarse.

Otro de los problemas, fue no haber instalado el archivo desde la terminal, es decir, lo descargué directamente como paquete .deb y lo instalé con el instalador de paquetes de ubuntu, y después de verificar todo me di cuenta que este había sido un gran error, que hacía que la máquina Vagrant no arrancara como debía;

la solución fue de la siguiente manera, ingresé a la terminal y escribí lo siguiente:

$ vagrant box add precise32http://files.vagrantup.com/precise32.box

y de inmediato empezó a descargar e instalar.

Y cuando ejecuté Vagrant comenzó a ejecutarse normalmente.

El ultimo pero mas importante error fué que fuera de la carpeta vdd, había un archivo Vagrantfile, y era igual al otro archivo con el mismo nombre que está dentro de la carpeta vdd, y no se modificó, ese fue otro error, el archivo por defecto trae una línea de código que dice así:

config.vm.box = "base"

y este debía traer el nombre del archivo precise32, que era el que se iba a ejecutar cuando arrancara Vagrant, era algo como:

# -*- mode: ruby -*-

# vi: set ft=ruby :

Vagrant::Config.run do |config|

# All Vagrant configuration is done here. The most common configuration

# options are documented and commented below. For a complete reference,

# please see the online documentation at vagrantup.com.

# Every Vagrant virtual environment requires a box to build off of.

config.vm.box = "base"

# The url from where the 'config.vm.box' box will be fetched if it

# doesn't already exist on the user's system.

# config.vm.box_url = "http://files.vagrantup.com/base.box"

y lo que debía hacer era cambiar cambiar

config.vm.box = "base"

a config.vm.box = "precise32" .

De igual manera la línea:

# config.vm.box_url = "http://files.vagrantup.com/base.box"

por  # config.vm.box_url = "http://files.vagrantup.com/precise32.box”

De esa manera se corrigieron esos errores y además pude correr mi maquina vagrant.

 

Por: Cesar Durán, Desarrollador en SeeD EM