Cada vez que necesitamos desarrollar algo tenemos que hacer uso de los entornos controlados para poder hacer todas las pruebas necesarias sin comprometer el estado de producción.
Hay muchas formas de realizar este trabajo, y una de las más comunes es hacer uso de un programa que nos “levante” un entorno en local al cual accedemos mediante la dirección 127.0.0.1 o localhost.
Estos programas son de mucha utilidad cuando tenemos que probar cosas simples, o que no dependan del servidor real, pero… ¿Qué sucede cuando tenemos unos requisitos específicos o cuando trabajamos en grupos muy grandes haciendo uso de herramientas de control de versiones como Git o SVN? En ese punto todo se complica y tenemos que ayudarnos con herramientas profesionales como las que vamos a ver a continuación.
CREANDO NUESTRO ENTORNO DE DESARROLLO (EN WINDOWS) CON VAGRANT.
¿Qué es Vagrant?
Según la Wikipedia: Vagrant es una herramienta para la creación y configuración de entornos de desarrollo virtualizados.1 Originalmente se desarrolló para VirtualBox y sistemas de configuración tales como Chef, Salt y Puppet. Sin embargo desde la versión 1.1 Vagrant es capaz de trabajar con múltiples proveedores, como VMware, Amazon EC2, LXC, DigitalOcean, etc.2 Aunque Vagrant se ha desarrollado en Ruby se puede usar en multitud de proyectos escritos en otros lenguajes, tales como PHP, Python, Java, C# y JavaScript.3 4
La descripción es bastante adecuada, pero para simplificarlo más podemos decir que Vagrant se va a encargar de emular un servidor real, ya sea CentOS, Ubuntu… con una IP (Local) y con un nombre de dominio de nuestra elección, sobre el cual vamos a poder desarrollar como si de una máquina en un servidor online se tratase.
Esto nos va a permitir operar del siguiente modo.
¿Qué necesitamos?
El software necesario dependerá mucho de las necesidades particulares de cada uno, pero para una configuración básica podemos usar los siguientes programas.
- Virtual box
- Vagrant
- Navegador web de nuestra preferencia
- Editor de texto
Una vez descargado tenemos que crear una configuración para nuestra máquina, para ello tendremos que crear un archivo config.yaml sea cual sea nuestra configuración podemos ayudarnos de la siguiente web: https://puphpet.com
Pero antes de empezar con la creación de la máquina, vamos a definir un lugar para esta en nuestra máquina local. Mi recomendación es que la pongáis en un lugar de rápido acceso como: C:/Dev/ o C:/MyServer ….
Ahora si, vamos a ver cómo funciona la web (puphpet) para ayudarnos a crear nuestro archivo de configuración.
Esta página cuenta con una gran cantidad de opciones, lo básico que tenemos que configurar es una dirección IP (local) disponible en nuestra red, un nombre de dominio (para una correcta identificación recomiendo que uséis dominios .dev), la versión de PHP, y un tipo de BBDD (Mongo, MySQL, Postgre…). Cuando todo este configurado en el último paso descargamos el archivo .zip que contiene la configuración y los archivos necesarios para funcionar.
NOTA: Si tenéis dudas de cómo crear vuestro archivo podéis ver el paso a paso en el vídeo al final de este post.
Con la ubicación definida y el archivo de configuración descargado tendremos la siguiente estructura de carpetas:
Empezamos
Para levantar la máquina tan solo tenemos que abrir una terminal en la ubicación de nuestro archivo vagrantfile y ejecutar el siguiente comando:
1 |
Vagrant up |
*Podemos hacerlo en la terminal de Windows, pero os recomiendo usar otra consola más versátil como la de git, u otra específica para Windows como cmder.
Si no te gusta la consola de Windows no sufras, hay alternativas como cmder Click Para Twittear
La primera vez que ejecutemos el comando es necesario tener conexión a Internet, ya que intentara obtener la imagen del sistema operativo seleccionado durante el proceso de configuración.
Mientras la máquina se inicia (O en cualquier otro momento) será necesario añadir la IP y el nombre de dominio seleccionado al archivo host de Windows, de este modo el navegador resolverá la IP cuando induzcamos el nombre de dominio.
El archivo host lo encontramos en:
1 |
C:/Windows/System32/Drivers/etc |
Añadimos nuestros datos de la siguiente forma:
1 2 3 |
#DirecciónIP nombre_host 192.168.1.55 midesarrollo.dev |
Con los cambios realizados volvemos a guardar el archivo en su ubicación original.
Cuando la ejecución del comando “vagrant up” finalice si todo ha salido correctamente podemos acceder a los archivos que se encuentre en nuestra carpeta www introduciendo la dirección seleccionada en el navegador.
Acceder a nuestra máquina
Como hemos explicado mediante el uso de esta forma podemos realizar desarrollos mas profesionales y pruebas, y eso implica poder configurar nuestro servidor mediante terminal.
Para hacer esto solo tenemos que escribir:
1 |
Vagrant ssh |
Con este comando accedemos a el servidor podemos instalar aplicaciones, ver procesos, o reiniciar servicios.
Solucionar problemas
Puede que al intentar entrar en vuestra página de desarrollo obtengáis un mensaje por defecto de Vagrant, si tenéis un index en la carpeta www y veis este mensaje es porque apache está mal configurado.
Para comprobarlo tendréis que editar el fichero de configuración en:
1 |
Etc/httpd/conf.d |
Y modificar el fichero correspondiente a la conexión http (Puerto 80 o 443 en SSL)
comprobar que la ruta que está usando para servir vuestros archivos es la correcta, y modificarla en caso necesario.
Tras realizar los cambios será necesario reiniciar el servicio con el comando
1 |
Sudo service httpd restart |
Todo listo, por último si queréis usar una máquina ya configurada podéis encontrar un gran número de ellas en esta web: http://www.vagrantbox.es/ hay «boxs» de sistemas que no solo se basan en el desarrollo, sino que podemos hacer uso entre otras de kalilinux o ArchLinux.
Como en otras ocasiones, aquí tenéis el video en el que se ve el paso a paso de este proceso.
Cualquier duda o sugerencia podéis dejar vuestros comentarios!
Saludos.
