Instalar Laravel y Homestead

instalar laravel y homestead
Escrito por: Cesar F. Miranda Salcedo
enero 20, 2021

En este artículo vas a aprender a instalar Laravel y a usar Homestead para nuestros desarrollos locales.

Laravel utiliza Composer para gestionar sus dependencias. Entonces, antes de usarlo, asegúrate de tener Composer instalado en tu máquina.

Instalando Laravel con Composer

Si ya tienes instalado PHP y Composer en tu máquina puedes usar el siguiente comando para crear un nuevo proyecto de Laravel:

composer create-project laravel/laravel myApp

El comando creará tu proyecto con la versión más reciente de Laravel, si por alguna razón necesitas instalar una versión diferente a la actual, puedes hacer uso de –prefer-dist y especificando la versión que quieras instalar.

composer create-project –prefer-dist laravel/laravel myApp “5.8.*”

Usando el instalador de Laravel

Otra opción es descargar el instalador con el siguiente comando.

composer global require laravel/installer

Una vez instalado, con el comando laravel new crearemos una nueva instalación en el directorio de tu elección. Por ejemplo, laravel new myApp creará un directorio que se llama myApp con todas las dependencias de Laravel instaladas.

Asegúrate de colocar el directorio bin de Composer en su $PATH para que su sistema pueda localizar el ejecutable de laravel. Este directorio existe en diferentes ubicaciones según el sistema operativo; sin embargo, algunas ubicaciones comunes incluyen:

  • MacOS: $HOME/.composer/vendor/bin
  • Windows: %USERPROFILE%\AppData\Roaming\Composer\vendor\bin
  • GNU / Linux Distributions: $HOME/.config/composer/vendor/bin or $HOME/.composer/vendor/bin

Antes de instalar Homestead

Antes de hacer la instalación necesitamos descargar e instalar VirtualBox. y después instalar Vagrant. El orden en las instalaciones es importante, así que recuerda:

  1. Instalar VirtualBox
  2. Instalar Vagrant

Homestead funciona en VirtualBox o cualquier otro proveedor que se mencione en la documentación, que utilice Vagrant.

Laravel además, tiene un plugin para usar Vagrant con el proveedor VMware, en caso de que hayas comprado el software. En esta caso vamos a trabajar con VirtualBox.

Terminada la instalación de los programas, integra el “box” laravel / homestead a tu instalación de Vagrant ejecutando el siguiente comando en la terminal:

vagrant box add laravel/homestead

si el comando falla, asegúrese de que su instalación esté actualizada.

Instalando Laravel Homestead

Homestead es un proyecto de Laravel que nos permite crear máquinas virtuales preparadas para ejecutar aplicaciones de Laravel, no vas a necesitar instalar PHP, un servidor web, una base de datos o cualquier otro software de servidor.

En la máquina virtual vamos a tener todo lo que necesitemos, por ejemplo: Nginx, PHP, MySQL, PostgreSQL, Redis, Memcached, Node y todos los demás programas para crear un entorno de desarrollo preparado para crear aplicaciones de Laravel.

Homestead se ejecuta en cualquier sistema Windows, macOS o Linux.

Para instalarlo como dependencia de nuestro proyecto es necesario correr el siguiente comando:

composer require laravel/homestead

Una vez que tenemos Homestead instalado como una dependencia en nuestro proyecto, es momento de configurar nuestra máquina virtual, eso se logra con el siguiente comando.

php vendor/bin/homestead make

Con este comando se crea un archivo con nombre Homestead.yaml y un archivo Vagrantfile dentro de la carpeta de tu proyecto.

Este es el aspecto de un archivo de configuración Homestead.yaml

ip: 192.168.10.10
memory: 2048
cpus: 2
provider: virtualbox
authorize: ~/.ssh/id_rsa.pub
keys:
    - ~/.ssh/id_rsa
folders:
    -
        map: 'ROUTE_TO_YOUR_APP/myApp'
        to: /home/vagrant/code
sites:
    -
        map: homestead.test
        to: /home/vagrant/code/public
databases:
    - homestead
features:
    -
        mariadb: false
    -
        ohmyzsh: false
    -
        webdriver: false
name: myapp
hostname: myapp

Configurando Homestead

El archivo de configuración contiene los datos de la máquina virtual de Homestead, contiene la siguiente información:

ip. Es de utilidad para entrar a la máquina virtual mediante el navegador. Si pretendes correr más de una máquina al mismo tiempo, procura que tengan direcciones ip diferentes.

Memory. Cantidad de memoria que le vamos a asignar, puedes incrementar o decrementar la cantidad de RAM.

Cpus. Cantidad de procesadores a usar.

Provider. Indica qué proveedor de Vagrant se debe utilizar: virtualbox, vmware_fusion, vmware_workstation, parallels o hyperv.

Folders. Aquí se muestran las carpetas que queremos compartir con Homestead. A medida que se modifiquen los archivos dentro de estas carpetas, se mantendrán sincronizados entre su máquina local y el entorno virtual de Homestead. Puede configurar tantas carpetas compartidas como sea necesario.

folders:
    - map: ~/code/project1
      to: /home/vagrant/project1
    - map: ~/code/project2
      to: /home/vagrant/project2

Como sugerencia cambiar code, por el nombre de tu proyecto en folders y sites.

Sites. Aquí configuramos el host virtual o virtualhost. Lo usaremos para poder entrar a nuestro proyecto desde el navegador con un nombre de dominio. Este dominio solo está disponible en tu ordenador (local) y tendrás que configurar el archivo “hosts” para asociar la ip del servidor al nombre del dominio virtual.

sites:
    - map: homestead.test
      to: /home/vagrant/project1/public

Nota: La configuración del archivo hosts depende del sistema operativo en el que estes trabajando.

Edita el archivo hosts y agrega el dominio virtual junto con la ip que tienes un tu archivo.

192.168.10.10      homestead.test

Databases. Base de datos a la cual se conectará homestead.

Nota: Revisa con cuidado las rutas de mapeo, es fácil cometer algún error.

Creando la llave SSH

Vagrant para crear nuestra máquina virtual de Homestead necesita hacer uso de unas llaves SSH, que nos permitirán hacer conexiones con el servidor virtual.

Es posible que en nuestro sistema no se encuentren este tipo de llaves, entonces las creamos con este comando.

ssh-keygen -t rsa -b 4096

Después de ingresar el comando te hace unas preguntas, que tienes que contestar de la siguiente forma:

Enter file in which to save the key (/Users/YOUR_USER/.ssh/id_rsa): Deja el nombre predeterminado, solo presiona la tecla enter.

Si el archivo ya existe te preguntará si quieres sobre escribirlo, escribiendo la letra (y/n) y después la tecla enter.

Enter passphrase (empty for no passphrase): déjalo vacío para no usar contraseña.

Enter same passphrase again: déjalo vacío para no usar contraseña

Para nuestro entorno local no es necesario ingresar contraseñas, pero si lo deseas lo puedes hacer.

Una vez creada la clave, necesitamos conocer la ruta dónde se ha creado, la tendremos que usar para configurar el archivo Homestead.yaml.

La ruta de la clave va en las propiedades authorize y keys:

authorize: ~/.ssh/id_rsa.pub
keys:
    - ~/.ssh/id_rsa

Si elegiste las opciones predeterminadas al momento de crear la llave, no vas a tener que modificar nada del archivo. Al contrario, si las guardaste en otro lugar, entonces vas a tener que indicarlo aquí.

Levantando la máquina virtual

Una vez configurado el archivo, es momento de “levantar” la máquina virtual con el siguiente comando:

vagrant up

El comando vagrant up puede demorar en ejecutarse la primera vez, ya que descarga y configura la máquina virtual, en parte la rapidez va a depender de tu conexión a internet. Así que puede demorar en levantar el proyecto, pero después iniciar la máquina será mucho más rápido.

Cuando termine, podemos hacer una prueba accediendo al navegador web, ingresando la dirección IP que pusimos en el archivo Homestead.yaml

Con esto terminamos y acabamos de crear un nuevo proyecto en Laravel y hemos integrado y configurado Homestead.

¿Necesitas ayuda?

Plectro Lab es una Agencia de desarrollo web con amplia experiencia desarrollando sitios web, aplicación móviles, redacción de contenido y SEO.

Quiero más información

También te podría interesar…

0 Comments

Submit a Comment

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *