Laravel Homestead y Vagrant, creando un entorno de desarrollo

¿Qué es Laravel Homestead y Vagrant?

Es un paquete que permite crear y configurar nuestro entorno de desarrollo profesional. Junto con Vagrant podremos crear un entorno de desarrollo ligero y muy apegado al entorno de producción, capaz de copiarlo y transportarlo con el menor esfuerzo.

En otras palabras, es un entorno virtualizado que se adapta mejor a la compatibilidad de los proyectos desarrollados con Laravel.
Si bien es cierto, que no es necesario tener homestead y vagrant para desarrollo con Laravel, si es un componente que facilita y mejora el trabajo.

¿Qué se necesita?

  1. Primero que nada, tener instalado VirtualBox y Vagrant. Puedes dirigirte a las páginas oficiales y descargar sus instaladores.
  2. Desde la documentación de homestead nos indica los comandos a ejecutar en la terminal.
  • Agregar The Vagrant Box: > vagrant box add laravel/homestead (Este proceso puede tardar mucho tiempo, todo depende de tu conexión a internet).
En la imagen se aprecia un avance de 1% y faltan 27 minutos (aproximadamente) para terminar.
  • Usando Composer se instalará el paquete Homestead de manera global, no local (es decir, no para un solo proyecto). En terminal: composer global require "laravel/homestead=~2.0"
  • Después de eso se agregan dichos paquetes al PATH para ejecutarlos desde la consola. En OSX se hace editando el bash_profile desde terminal con el comando: nano ~/.bash_profile posterior mente se agrega la siguiente línea al archivo: 
    • export PATH="$HOME/.composer/vendor/bin:$PATH"
    • (Cerrar y abrir la terminal)
    • Ahora los paquetes de composer ya pueden ser ejecutados desde la terminal.
  • Iniciamos homestead con: homestead init
  • Editamos la configuración de homestead con el comando: homestead edit
    • En el archivo de texto que nos abrirá se indica la IP que se usará por defecto, la memoria, procesador y proveedor, así como la key ssh entre otras cosas; Algo importante de este archivo a destacar es la sección de folders, en la cual indicaremos la dirección de la carpeta de los proyectos en nuestra computadora y la dirección de la carpeta de los proyectos en el servidor virtual, en la cual se mantendrá una copia espejo de todos los archivos que coloquemos en nuestra carpeta de proyectos. Lo mismo sucede con la sección databases.
    • Mi archivo quedo así:


  • Como se observa en la imagen anterior también hay una sección llamada sites, en la cual se coloca el alias (map) llamado ejemplo.app y la dirección a la que apunta en el servidor (to); Esto nos ayuda a cambiar la dirección típica de trabajo, como por ejemplo, http://localhost/Ejemplo/public al alias http://ejemplo.app/, pero para que esta operación funcione también debemos dar de alta el alias a la IP del servidor virtual editando nuestro archivo host.
    • En Mac se hace: sudo nano /etc/hosts
    • Agregamos la línea: 192.168.10.10     ejemplo.app
    • Mi archivo queda así:
  • Ahora levantamos homestead con las configuraciones realizadas hasta ahora, la primera vez tardará un poco.
    • Ejecutamos el comando: homestead up
    • Con este comando homestead estará en funcionamiento.
  • Ahora para probar si la máquina virtual ha quedado creada, basta con acceder por SSH con el comando: homestead ssh
    • Ahora debemos entender que después de eso, los comandos que ejecutemos se hacen dentro de la maquina virtual y no en la local. En mi caso se ve así:
Como se puede observar en la imagen, es una instalación linux
Ahora ya esta instalado Homestead en el servidor virtual Vagrant y tiene todo lo necesario para ejecutar tus proyectos Laravel.
Podemos abrir ahora virtualbox y notaremos que se ha creado la maquina virtual.






Fuentes 

Comentarios

Entradas populares de este blog