Instalando Laravel Homestead
En Laravel si estamos en Windows podemos instalar una maquina virtual(laravel homestead) con Vagrant y una maquina virtual que puede ser por ejemplo virtualbox de Oracle. Obviamente necesitaremos ambos.
Para obtener el virtualbox de oracle puede clickear en la siguiente imagen:
Luego deberemos obtener vagrant.
A continuación de haber instalado estos 2 programas crearemos la virtualbox homestead,
vagrant box add laravel/homestead
si falla nos deberemos de asegurar que nuestro vagrant este al día.
Para instalar nuestro vagrant deberemos correr el siguiente código correr el siguiente código en nuestra terminal.(requiere tener git instalado – me encuentro usando git bash, el cual simula la consola bash).
git clone https://github.com/laravel/homestead.git ~/Homestead
Luego de esto deberíamos hacer checkout a otra rama de el proyecto homestead ya que la rama principal no siempre es estable
cd ~/Homestead
La siguiente es la rama actual de Homestead(puede ver las ramas del proyecto con git show branch)
git checkout v7.17.0
En linux o mac o si usa bash en windows
bash init.sh
En consola de Windows
init.bat
Configurando laravel homestead.
Para configurar nuestro homestead debemos entrar a nuestro archivo Homestead.yaml y hacer las modificaciones necesarias.
A continuación un ejemplo del archivo homestead(carpeta homestead, archivo Homestead.yaml)
ip: "192.168.10.10" memory: 2048 cpus: 1 provider: virtualbox authorize: C:\Users\Agustin\.ssh\id_rsa.pub keys: - C:\Users\Agustin\.ssh\id_rsa folders: - map: C:\xampp\htdocs\pc-mybitacore to: "/home/vagrant/code" sites: - map: "mybitacore.test" to: "/home/vagrant/code/public" databases: -homestead # ports: # - send: 50000 # to: 5000 # - send: 7777 # to: 777 # protocol: udp # blackfire: # - id: foo # token: bar # client-id: foo # client-token: bar # zray: # If you've already freely registered Z-Ray, you can place the token here. # - email: foo@bar.com # token: foo # Don't forget to ensure that you have 'zray: "true"' for your site.
Explicación del archivo Homestead.yaml
Desglosando un poco esto vemos que la primera tanda sirve para especificar datos, de que ip, memoria, cantidad de procesadores y el proveedor en este caso es virtualbox (defecto si es otro se debería cambiar).
ip: "192.168.10.10" memory: 2048 cpus: 1 provider: virtualbox
Segunda parte, especifica nuestra llave ssh, de no tener una deberemos generarla.
authorize: C:\Users\Agustin\.ssh\id_rsa.pub keys:- C:\Users\Agustin\.ssh\id_rsa
Tercera parte, especifica hacia desde donde hacia donde se mapeara la carpeta, y el sitio.
folders:- map: C:\xampp\htdocs\pc-mybitacore
to: "/home/vagrant/code" sites:- map: "mybitacore.test"
to: "/home/vagrant/code/public"
Volvamos sobre la segunda parte digamos que no hemos generado nuestra key y no tenemos ninguna.En ese caso haríamos lo siguiente:
ssh-keygen -t rsa -C "you@homestead"//puede ser cualquier user@homested.
Como vemos la key la creara en la carpeta users\nombre-de-usuario\.ssh en mi caso.
C:\Users\Agustin\.ssh\
En autorize como en key nos referiremos a ese archivo.
También en la tercera parte podemos ver como nos referimos a la carpeta donde esta nuestro proyecto.
folders:- map: C:\xampp\htdocs\pc-mybitacore //donde se encuentra mi proyecto to: "/home/vagrant/code"// donde se vera en la virtual machine. sites: - map: "mybitacore.test" // al ingresar este dominio veremos nuestra página aunque sea en la makina local to: "/home/vagrant/code/public" //carga lo que hay en public.
Finalmente editaremos el archivo hosts de windows para decirle que el dominio corresponde con esa ip.
Vamos a C:\Windows\System32\drivers\etc y modificamos hosts
Aquí vemos como relacionar el dominio con la ip 192.168.10.10
192.168.10.10 mybitacore.test
Corremos Vagrant con el comando vagrant up
y así terminamos con la instalación de Laravel homestead.
También puede que te interese automatizar homestead.