Main Content
Vagrant logo

Primeros Pasos con Drupal en Vagrant

Drupal is an international phenomenon. Drupal 8 will feature new multi-lingual solutions; Drupal Camps educate Drupal developers around the world; there will be a major DrupalCon in Latin America in 2015. 
 
Meanwhile, the team at Promet Source is rich in diversity; the office echoes with sounds of Spanish, Russian, Polish, French, English and Pig Latin.  In fact, our team can claim hometowns in Europe, North America, South America and Asia! To celebrate our international diversity which unites because of Drupal, we bring you our first Spanish blog!
 

Primeros Pasos con Drupal en VagrantCaptura de pantalla 2014-04-08 a las 12.51.41.png

"First Steps using Drupal with Vagrant" 

 
A Spanish tutorial on how to get started with Vagrant using a public box that's set up to be used with Drupal.
 
No importa qué súper poderes tengas como desarrollador, siempre habrá algo que se escape de tu control. El proyecto puede andar viento en popa, todo marcha perfecto… y sin embargo, no falta alguien en el equipo que diga “No funciona tu código”, con la correspondiente respuesta “Que raro, funciona perfecto en mi computadora”. O peor, llega el momento de deployar el código a producción… y mil errores aparecen, todos relacionados con el ambiente de servidor.
 
Para evitar estos problemas, en Promet Source utilizamos Vagrant. Una potentísima herramienta que levanta una máquina virtual sin necesidad del entorno visual. De esta manera podemos tener un entorno de desarrollo local que es muy similar al entorno de producción, y evitarnos problemas al momento de deployar el código. Asimismo, todos los miembros del equipo desarrollan en el mismo ambiente y esas diferencias de funciona en una máquina y en otra no, ya son cosas del pasado.
 
Vagrant se puede instalar en Windows, Mac y Linux. Existen ya varias “boxes”; máquinas virtuales preparadas que se pueden descargar de la web. Puedes usar las de Vagrant Cloud o las de Vagrant Boxes.
 
Para este tutorial, vamos a utilizar la siguiente “box” que ya viene preparada para hacer desarrollo en Drupal: https://vagrantcloud.com/walkah/drupal-precise64
 
Requerimientos
  • Primero que nada, asegúrate de tener instalado Virtual Box
  • Luego instala Vagrant
  • Es importante tener GIT instalado o al menos SSH configurado.
 
Mi primera Box
 
Vamos a descargar el box y correrlo por primera vez. Para esto, elige un directorio donde instalaremos la  máquina virtual. Cuando lo hayas hecho, abre una terminal y dirígete al folder creado. Si tienes git instalado, realiza el siguiente comando:
 
git clone git@github.com:walkah/chef-drupal.git
 
Si no lo tienes, ingresa al proyecto de github (https://github.com/walkah/chef-drupal) y descárgalo con el botón en la barra derecha “Download Zip”. Descomprime el archivo en el folder que has decidido usar para este proyecto.
 
Ahora instala el siguiente plugin de Vagrant, primero ingresando al folder que acabas de crear:
 
cd chef-drupal
vagrant plugin install vagrant-omnibus
 
Y finalmente:
 
vagrant up
 
Nota: Si es que te sale un error de que el box no se encuentra, es porque estás usando una versión de Vagrant anterior a la 1.5.x, por lo que debes de abrir el archivo Vagrantfile con un editor de texto y buscar la siguiente línea :
 
 config.vm.box = "walkah/drupal-precise64"
 
Debajo de esta línea, coloca:
 
 
Guarda el archivo y vuelve a intentar con el comando “vagrant up”.
 
Ahora puedes ir a tomarte un café y a relajarte un rato, mientras la máquina virtual es descargada y levantada.
 
Cuando haya terminado el proceso, la box estará lista para ser utilizada.
 
Nota: Si el comando no levanta la máquina virtual, puedes manualmente empezarla en VirtualBox y ver cuáles son los mensajes de error que aparecen. Solucionándolos podrás correr el comando sin problemas.
Usando Drupal con Vagrant
Ahora, puedes colocar el proyecto Drupal dentro de la carpeta /public. Podemos hacerlo descargando el proyecto directamente desde el portal de Drupal, o podemos usar drush para hacerlo directamente desde la máquina en vagrant. Ingresa a la máquina virtual con el comando:
 
vagrant ssh
 
Nota: Si estás usando Windows y te sale un error sobre no tener instalado o configurado SSH: Te recomiendo agregar los binarios de GIT (si no lo tienes instalado, ¿qué esperas?) al PATH de Windows.
 

20140408457.jpg
 
Vamos al directorio público donde alojaremos el proyecto:
 
cd /vagrant/public
drush dl drupal-7.x
 

20140408459.jpg
 
Cambiemos el nombre del directorio a algo más acorde al proyecto.
 
mv drupal-7.x-dev drupal
 
Verás que la carpeta Drupal que montaste se encuentra en /vagrant/public.
 

Captura de pantalla 2014-04-08 a las 12.57.04.png
 
Te preguntarás, ¿cómo acceder a ella desde el navegador de tu computadora? (y fuera de la máquina virtual). Si abres el archivo Vagrantfile, verás que existe una línea:
 
 config.vm.network "private_network", ip: "33.33.33.10"
 
Esto quiere decir que la máquina virtual está configurada para servir el contenido cuando ingresemos a esa dirección IP. Ahora puedes acceder a tu proyecto poniendo ese IP en tu navegador. Por ejemplo, si tu proyecto se encuentra en una carpeta llamada “drupal”:
 
Te mostrará la pantalla de inicio:
 

Captura de pantalla 2014-04-08 a las 12.31.33.png
 
Desde aquí puedes continuar con la instalación como siempre lo has hecho. Sólo recuerda que la base de datos configurada en esta box de Vagrant es:
 
Base de datos: drupal
Usuario: root
Password: root
 

20140408460.jpg
 
Cuando estés listo, puedes salir de Vagrant con el comando:
 
exit
 
Y apagar la máquina con:
 
vagrant halt
 
Cuando regreses a trabajar, puedes continuar con “vagrant up” y ¡listo!
 
Referencias: