Bien, damas y caballeros, notarán que hicimos mucho trabajo para familiarizarnos con Virtual Box, Vagrant y Laravel Homestead en los episodios recientes. Dejando a un lado los problemas de crecimiento, este enfoque de máquina virtual para crear nuevos sitios es increíble. Una vez que el arranque y la configuración iniciales están fuera del camino, en los días siguientes, la promesa de simplemente escribir vagrant upen su terminal es cierta. Escribe esa línea y todo funciona como por arte de magia. Ciertamente divertido . Ok, tenemos Laravel Homestead funcionando como un encanto, ¿qué vamos a hacer con él? Bueno, la belleza de trabajar con Homestead y Virtual Machines en general, es que puede instalar tantas aplicaciones o sitios web como desee. Ahora mismo estamos trabajando con Larabook en Homestead. En otro momento, es posible que queramos trabajar con WordPress en HomesteadEs posible que esté trabajando en varios proyectos diferentes, y estos nuevos juguetes facilitan tener un entorno de desarrollo local que imita exactamente un entorno de producción real. Como dice la literatura en el propio sitio de Vagrant, ¡ diga adiós a los errores de "funciona en mi máquina"! Con esto en mente, ¿por qué no instalar un gran ejemplo de una aplicación Laravel bien diseñada del gran Jeffrey Way de Laracasts en nuestra VM de desarrollo? Suena divertido, hagámoslo.


Clonar el repositorio de Larabook

Con vagrant, puede instalar una aplicación en la máquina local * o * en la Máquina Virtual, la elección depende de usted. Realmente no importa, ya que los archivos y carpetas se sincronizan bidireccionalmente. En este ejemplo, instalaremos la aplicación de forma local, luego, cuando más adelante abramos la máquina virtual, todo simplemente se sincronizará. Habíamos creado una carpeta local para albergar todas nuestras aplicaciones, C:/localdevasí que ahí es donde continuaremos y colocaremos el repositorio de Larabook así:

Chris @ CHRIS-PC / c / localdev
$ git clone https://github.com/laracasts/larabook.git larabook

Editar sitios en Homestead.yaml

Ahora que tenemos un repositorio local en nuestra máquina host, podemos editar el archivo Homestead.yaml para reflejar un nuevo sitio. No necesitamos agregar una nueva carpeta, ya que colocamos la carpeta larabook dentro de nuestra C:/localdevcarpeta. La sincronización de carpetas se encargará de todo eso por nosotros. Sin embargo, tenemos que realizar una nueva entrada en la propiedad del sitio. Tenga en cuenta que todavía tenemos nuestra instalación predeterminada de Laravel y ahora un segundo par de map/tovalores para dar cuenta de la aplicación larabook.

Sugerencia: los archivos YAML son notoriamente volubles con respecto a cualquier carácter extraño. Asegúrese de no usar pestañas accidentalmente, o su máquina virtual se ahogará cuando intente iniciarla. Utilice solo espacios para formatear el archivo YAML.


Editar archivo de hosts de Windows

Podemos agregar una entrada en el archivo de hosts de Windows con bastante facilidad, simplemente agregue una nueva línea después de la que ya creamos homestead.appRecuerde usar notepad.exe como administrador, o quedará atrapado en el agua.


Mostrar la máquina virtual

Si ya ha hecho todo el trabajo preliminar, esto es tan simple como iniciar Git Bash, luego cd en el directorio que contiene la VM que desea iniciar (en nuestro caso Laravel Homestead), luego escriba vagrant upSi aún no ha hecho el trabajo preliminar para que Homestead se ejecute en su máquina, deberá leer sobre cómo hacer que esto suceda y luego volver a esta publicación. Si está listo para comenzar, simplemente haga esto:

Chris @ CHRIS-PC / c / homestead
vagrant up

Nota: Si todo sale perfecto, todo se iniciará perfectamente y todas las carpetas se sincronizarán de inmediato entre la máquina host y la máquina virtual. Si tiene problemas, a veces corrervagrant provisionle ayudará. También puedesvagrant halt, devagrant upnuevo. Si todo lo demás falla, puede destruir la máquina virtual convagrant destroyy luego volver a abrirla convagrant up.


Establecer opciones de configuración en la aplicación

Necesitaremos establecer algunas opciones de configuración en la aplicación Larabook. Primero, larabook/app/config/app.phpestablecemos el valor de la clave URL en http://larabook.dev . También queremos crear credenciales de base de datos .env.local.phpasí:


Crear la base de datos

En su máquina local, debe tener algún tipo de aplicación que pueda conectarse al servidor mysql en la máquina virtual homestead. En nuestro caso, usamos MySQL Workbench para crear una nueva base de datos. Tenga en cuenta que MySQL Workbench llama a bases de datos, esquemas. En MySQL Workbench, primero creará una conexión. El nombre de host es 127.0.0.1 , el puerto a utilizar es 33060 , el nombre de usuario es homestead y la contraseña es secreta . Puede aplicar estas credenciales con la misma facilidad a una herramienta diferente como phpMyAdmin, SequelPro o cualquier GUI que disfrute. Por supuesto que también podrías usarvagrant sshpara conectarse a la máquina virtual desde el terminal e interactuar con la base de datos desde el terminal VM si lo desea. Aquí están nuestras configuraciones de conexión para MySQL Workbench.
laravel homestead mysql workbench

Finalmente, cree la base de datos de larabook y estará listo.


SSH en Homestead y ejecutar migraciones

vagrant@homestead:~/Code/larabook$ php artisan migrate
La tabla de migración se creó correctamente.
Migrado
: 2014_06_29_203726_create_users_table
Migrado
: 2014_07_15_173108_create_statuses_table
Migrado: 2014_07_29_184354_create_follows_table Migrado: 2014_08_18_182429_create_password_reminders_table_reaments29
vagrant@homestead:~/Code/larabook$

Configurar la aplicación para enviar correo electrónico

Laravel hace que enviar correos electrónicos sea tan fácil como un pastel y funciona como un campeón incluso desde máquinas virtuales en su entorno de desarrollo local. En este ejemplo usaremos SMTP con SendGrid. Es tan fácil como simplemente completar los campos necesarios en larabook/app/config/mail.phplos valores asociados con cualquier servicio SMTP que utilice. Estos son los campos para completar:


Prueba Larabook

Si siguió todos los pasos hasta ahora, ¡está listo para probar este tonto! Visitamos http://larabook.dev en el navegador y listo. Tenga en cuenta que creamos un usuario, recibimos un correo electrónico de bienvenida, publicamos un par de estados e hicimos un comentario o dos. ¡Todo funciona perfecto!
larabook instalado


¿Cuál es el beneficio?

Así que quizás se esté preguntando, ¿para qué diablos se ejecuta Larabook en mi máquina de desarrollo local? Tal vez tengas aspiraciones de ser el próximo Mark Zuckerburger y esperabas que los usuarios se registraran en tu nueva creación. Bueno, en realidad, no creo que para eso esté destinada esta aplicación. Sin embargo, los beneficios que proporciona es tener una aplicación Laravel completamente funcional y bien diseñada que puede inspeccionar y poner los neumáticos. Casi todo el código fuente se puede utilizar como un fantástico punto de partida para una aplicación diferente que tal vez desee crear. ¿Necesita gestionar la autorización de usuario? Mensajes Flash? ¿Enviar correo electrónico? ¿Se restablece la contraseña? Controladores limpios? ¿Seguimiento social y comentarios? Lo tienes, todo está aquí en esta aplicación de ejemplo. Puedes elegir, mezclar y combinar,

Conclusión

Este ejemplo del mundo real de instalar Larabook en Laravel Homestead nos ha enseñado muchas cosas. Ahora sabemos cómo abrir máquinas virtuales, agregar cajas vagabundas, ssh en VM, crear una aplicación web de desarrollo y también aprendimos cómo agregar más de una aplicación a nuestra caja Laravel Homestead. ¿Tiene 10 aplicaciones en las que está trabajando actualmente? No hay problema, siga los pasos aquí y simplemente lave, enjuague y repita.