Instalación y Configuración Laravel Homestead (Linux/ Mac)

Por: Francisco Ventura

En el Post anterior hablamos sobre que era Laravel Homestead y todas sus ventajas, en esta oportunidad hablaré sobre su instalación y todo lo que debemos saber para poner en marcha esta herramienta.

Requisitos de Instalación:

1. Descargar Vagrant, Máquina Virtual, Activar opción de Virtualización:

Para este tutorial utilizaremos Virtual Box (puedes usar vmware) y Vagrant, así que lo primero que debemos hacer es bajarnos ambos instaladores para lo cual podemos ir a las paginas oficiales.

          1. https://www.virtualbox.org/wiki/Downloads.

          2. https://www.vagrantup.com/downloads.html.

Nota: en este punto debes tener activada la opción de virtualización, para esto, debes buscar en la BIOS las opciones de virtualización, depende de cada fabricante, por lo general debes ver un área para habilitar las siguientes opciones: VT-X en el caso de procesadores INTEL, o AMD-V en caso de poseer un procesador AMD. Ya esta opción viene activada por defecto en algunos equipos, por experiencia propia les recomiendo revisar, ya que puede ser una causal de algún error durante la instalación.

2. Descargar Box para Vagrant:

Una vez instalado todo lo mencionado en el paso 1, procedemos a descargar la Box de vagrant que nos provee Laravel.

Nota: este paso puede demorar un poco, ya que va a depender de nuestra velocidad de Internet.

Para comenzar la descarga nos dirigimos a la consola y escribimos el siguiente comando:

  • vagrant box add laravel/homestead.

3. Instalando Homestead:

Para instalar Homestead debemos clonar el repositorio, para lo cual no posicionamos en nuestro directorio HOME y escribimos el siguiente comando:

  • git clone https://github.com/laravel/homestead.git Homestead

Donde “Homestead”, de la última parte del comando, es el directorio donde se descargará los archivos de configuración.

4. Configurando Homestead:

Una vez finalizado el paso donde clonamos el repositorio, se nos creará una carpeta en nuestro directorio principal, la cual para acceder escribimos en consola el siguiente comando:

  • cd ~/Homestead

Una vez dentro del directorio Homestead ejecutamos el comando bash init.sh para que se cree el archivo de configuración Homestead.yaml (este archivo de configuración será creado dentro del directorio de Homestead).

El archivo Homestead.yaml es el archivo de configuración de Homestead. Y en el mismo podemos definir una serie de campos como la IP, memoria, y el provider. Debemos asegurarnos que el mismo esté acorde a nuestras preferencias. Podemos aplicar el siguiente comando para visualizar el contenido del mismo.

      nano Homestead.yaml

  • ip: “192.168.10.10”, es nuestra ip de nuestra máquina virtual
  • memory: 2048, es la cantidad de memoria que le asignamos a la máquina virtual. Pueden bajarla a 1024 si tienen poca memoria, funciona perfecto.
  • cpus: 1, es la cantidad de núcleos de cpu que le asignamos. Para desarrollo 1 cpu es suficiente.
  • authorize y keys, son necesarias para acceder a la máquina virtual mediante ssh, para generar nuestra key SSH, si aun no lo tenemos podemos ejecutar en nuestra consola.

              ssh-keygen -t rsa -C «example@correo» (reemplazar por su correo).

  • Carpeta Compartida

La propiedad folders del archivo Homestead.yaml muestra todas las carpetas que desea compartir con Homestead. A medida que cambien los archivos dentro de estas carpetas, se mantendrán sincronizados entre su máquina local y Homestead. Se pueden configurar tantas carpetas compartidas como sea necesario, estas carpetas las debemos crear en nuestro directorio, para este caso solo configuramos una:

  • Creamos el directorio Code : mkdir Code
  • Folders:
    • – map: ~/Code
    • to: /home/vagrant/Code
  • Configurar los Sitios

Por último, para configurar los sitios, tenemos la propiedad sites, en la cual dentro de map nos permite asignar un dominio fácilmente y apuntarlo a una de nuestras carpetas.

  • Sites:
    • map: Opendireito.test (nombre de nuestro dominio)
    • to: /home/vagrant/Code/opendireito/public

Cada vez que desees agregar un nuevo sitio, se hace dentro de este archivo, y podrás configurar tantos como desees.

También tenemos una propiedad databases, en la cual podemos crear cuantas Bases de Datos queramos.

  • Databases:
    • homestead
    • opendireito

5. Configurando Nuestro Archivo Hosts:

Indicamos que los dominios Opendireito.test residan a la dirección IP 192.168.10.10 de nuestro servidor Nginx de la máquina virtual.
Como no existen en ningún DNS, debemos incluir entrada en nuestro archivo **hosts*. El mismo reside en diferentes directorios según nuestro sistema operativo:

  • Linux : /etc/hosts
  • MacOs : /private/etc/hosts
  • Windows : C:\Windows\System32>cd \Windows\System32\drivers\etc\hosts
  • Simplemente con tu editor favorito lo abres y agrega lo siguiente
  • 192.168.10.10 Opendireito.test

Grabas. Y así de simple le decimos a nuestra máquina donde debe ir para los nuevos dominios que creamos.

6. Iniciando Nuestra Máquina Virtual:

Luego de haber configurado el archivo Homestead.yaml, configurar los archivo hosts, nos queda iniciar nuestra máquina virtual, primero debemos ubicarnos dentro de la carpeta Homestead y en consola ejecutar:

  • vagrant up

Esto iniciara nuestra máquina virtual según los parámetros que colocamos en los archivo de configuración. Luego de esto, podremos acceder vía SSH dentro de la misma carpeta con el comando:

  • vagrant ssh

Con esto ya podemos trabajar tal cual como si utilizaremos una máquina con Ubuntu con todo ya configurado. Al entrar podemos movernos a la carpeta donde se alojarán nuestros proyectos dentro de la máquina virtual y procedemos a crear los proyectos de prueba:

  • Podemos hacer un ls para ver el contenido de la máquina virtual, aquí veremos la carpeta que creamos en nuestro home llamada “Code” y que luego configuramos en la propiedad folders del archivo de configuración.
  • Accedemos a dicha carpeta (cd Code), una vez ya posicionados procedemos a realizar la instalación de nuestro proyecto con Laravel:

composer create-project –prefer-dist laravel/laravel opendireito

Debemos esperar que se descargue y configure nuestro proyecto.

  • Una vez terminado el proceso de descarga podemos ir al navegador y acceder a nuestro proyecto de la siguiente forma, http://opendireito.test, y veremos la página de inicio de Laravel.

7. ¿Dónde Están los Archivos?

Para trabajar con los archivos de la aplicación, puedes abrir el proyecto con el Editor o IDE de tu preferencia, en la carpeta que hayas indicado en la propiedad folders para este caso en ~/Code, acá se encontrarán las carpetas para los dos proyectos que creamos.

Al editar cualquier cosa, automáticamente estos archivos se sincronizarán con los que tenemos en nuestra máquina virtual.

8. Agregar Nuevos Sitios:

Para agregar nuevos sitios, simplemente edita tu archivo Homestead.yaml como hicimos anteriormente, agregándolo en la propiedad sites, cada vez que se haga esta operación debemos aprovisionar la máquina para que tome estos cambios, esto se realiza ejecutando:

  • vagrant reload –provision

Recuerda que una vez dentro de la máquina virtual podemos ejecutar composer o cualquier comando Linux, como así también instalar nuevos paquete.

Verás que tienes todo lo necesario para desarrollar con Laravel o cualquier otro framework de php o de otros lenguajes como Ruby ó Python. Necesitarás arrancar la máquina virtual con vagrant up, abrir una consola y loguearte a la máquina con vagrant shh. Luego ejecutas los comandos php artisan que necesites o administras la base de datos con mysql. Y en tu escritorio usa tu editor o IDE favorito sobre el directorio que compartiste. En mi caso uso Sublime Text el cual recomiendo, es una cuestión de gustos.

En próximas entradas explicaré como configurar phpmyadmin para administrar nuestras bases de datos, cualquier duda puedes dejarla en los comentarios y con gusto te ayudaré.

¡¡Hasta una próxima!!

 

Comparte este artículo con tus amigos