Students Save 30%! Learn & create with unlimited courses & creative assets Students Save 30%! Save Now
Advertisement
  1. Code
  2. Laravel
Code

Desplegar Aplicaciones PHP Usando Laravel Forge

by
Difficulty:BeginnerLength:LongLanguages:

Spanish (Español) translation by Jean Perez (you can also view the original English article)

Los desarrolladores amor para automatizar cosas, para todos los procesos entre el desarrollo y producción, están deseosos de tener un script que facilita su flujo de trabajo. También es el caso de implementación.

El proceso de empujar la versión final y de desplegar la aplicación debe ser tan fácil como presionar un Despliegue ahora botón, pero no es lo que sucede la mayor parte del tiempo. Terminamos invirtiendo nuestro tiempo y recursos en la configuración del servidor, configurar el entorno, mover archivos que creíamos no eran relevantes para estructuras de producción y así sucesivamente.

Algunos de nosotros prefieren enviar archivos al servidor manualmente mediante FTP o tener el código en un repositorio de GitHub, mientras que otros prefieren una herramienta para facilitar el proceso de implementación. Una tal herramienta que facilita la implementación de PHP es Laravel Forge.

No dejes que el nombre de marca Laravel engañarle. Aparte de Laravel, puede utilizar el servicio para alojar WordPress, Sinfonía, Statamic o cualquier otro proyecto de la web como es PHP. Personalmente, me gusta Laravel Forge para su simplicidad y facilidad de acostumbrarse.

En este tutorial, voy a llevarte a través de los pasos para enganchar Laravel fragua con AWS y explorar lo que tiene que ofrecer.

Resumen

Laravel Forge le permite girar hasta servidores en nube y manejar procesos de despliegue usando Git y algunos de los proveedores de servidor popular disponibles. El proceso se explica a continuación:

En primer lugar, usted necesitará conectarse AWS o cualquier otro proveedor de la nube a tu cuenta de fragua. A continuación, enlace el control de código fuente como GitHub a Forge. Ahora podrás crear servidores. Instalar el repositorio de control de fuente en el servidor. Por último, pulse el botón deploy. Fácil, ¿verdad?

Servidores de provisioning con Laravel Forge vienen enviados con la siguiente pila:

  • Ubuntu 16.06
  • Nginx
  • PHP 7.2/7.1/7.0/5.6
  • MySQL/MariaDB/Postgres
  • Redis
  • Memcached

Una vez creado el servidor, puede configurar más cosas.

Cuando usted se registra, puede elegir entre los distintos planes que ofrecen. Opté por el plan básico de $12/ mes; sin embargo, que obtenga una prueba gratuita con acceso a todo en la lista durante cinco días.

Una vez has iniciado sesión, usted verá algo como esto a continuación.

Screenshot of Laravel Forge main screen once youre logged in

Se puede elegir entre océano Digital, AWS, Linode y Vultr para el proveedor de servicios. Como alternativa, puede utilizar fragua con una VPC personalizado demasiado. En cuanto al control de código fuente, Forge soporta GitHub, GitLab y Bitbucket. En este tutorial, voy a discutir los fundamentos de la configuración de AWS para trabajar con fragua y GitHub para control de código fuente. Una vez que haya terminado, usted será capaz de crear y proporcionar cualquier número de servidores.

Si está utilizando otro proveedor de servicios en la lista, puede saltarse este paso y ponerse al día con nosotros más tarde, una vez hemos configurado AWS y Laravel Forge.

Configurar Laravel Forge y AWS

Para Forge y AWS, aquí son los pasos que debe seguir.

1. Inicie una Sesión en Laravel Forge

Inicie sesión Laravel Forge y escoge AWS como el proveedor de servicios. Se te pedirá un identificador de clave de acceso (llave) y una clave de acceso secreto (secreto). Usted tendrá que crear un usuario específico de IAM con una política que provee acceso suficiente a Laravel Forge. IAM es de Amazon permisos de asignación a cada usuario por lo que se puede denegar el acceso si algo va mal.

2. Crear un Nuevo Usuario IAM

Ingrese a la consola AWS y crear un nuevo usuario IAM.

Create an IAM user on AWS with programmatic access

Dar al usuario un nombre significativo y seleccione la casilla que dice Acceso Mediante Programación.

3. Elija la Política Correcta

Establezca el permiso adecuado para el usuario IAM laravel-forge. Crear un nuevo grupo de usuario porque los grupos de usuarios son ideales para la gestión de permisos. Ahora la pregunta natural es: "¿Qué políticas el fragua usuario tenga acceso a?" Aunque usted podría proporcionar con AdministratorAccess, usted no debe.

Create a user group with the right permissions

Si usted necesita fragua para crear y aprovisionar servidores en su nombre, usted necesitará agregar dos políticas:

  1. AmazonEC2FullAccess
  2. AmazonVPCFullAccess

4. Guardar las Credenciales y Confirmar

Confirmar la cuenta IAM y en la página siguiente encontrarás la clave de acceso y el código secreto.

Newly generated Access key and secret

Dirígete a la página de Laravel Forge y pégalos allí. Eso es todo.

5. Vincular Tu Cuenta de GitHub a Forge

Conectar tu cuenta de GitHub/Bitbucket a fragua si no has hecho ya. Fragua de agregará una clave pública a su cuenta al crear un servidor. Si desea agregar un nuevo proveedor de servicio o actualizar el control de código fuente, tienes esas opciones dentro de tu perfil.

Crear un Nuevo Servidor

Ir a la página de Crear Servidor para agregar un nuevo servidor.

Laravel Forges interface for adding a new server

Elegir t2.micro con 1GB de RAM si estás en nivel libre de AWS. En cuanto a los otros ajustes, voy a ir con los valores por defecto. Esto incluye MySQL para la base de datos y PHP versión 7.2. Puede personalizar el nombre de la base de datos más adelante. Para mantener las cosas simples, he decidido no usar un equilibrador de carga. Si te estás preguntando acerca de la receta de la postproducción, he cubierto hacia el final de este tutorial.

Pueden tomar hasta cinco minutos para el servidor que se cree. Se le dará las credenciales para el acceso a sudo. Guárdelos en un lugar seguro para que usted puede utilizarlos en el futuro. A ver que cosas funcionan como se esperaba, vaya a la dirección IP del servidor y usted debería ver la salida de phpinfo() en tu pantalla.

Interfaz de Administración de Servidor

La interfaz que se ve después de crear un servidor es la consola de administración de servidor.

Server management dashboard

Puede hacer un montón de cosas, tales como:

  • Dirección de obra
  • Añadir llaves SSH
  • configuración de base de datos
  • actualización de configuración de PHP
  • programar una tarea
  • a partir de un demonio
  • gestión de red y configurar firewall
  • aplicación monitoreo con Blackfire o Papertail
  • configuración de meta

Eso es un montón de características en allí. He cubierto los más importantes de este tutorial. Vamos a empezar con la dirección de obra. Según los documentos de la forja:

Sitios representan cada "dominio" en el servidor. El sitio "default" se incluye con cada servidor recién asignado; sin embargo, debe eliminarlo y crear un nuevo sitio con un nombre de dominio válido cuando esté listo para lanzar su sitio de producción.

Como se puede ver, fragua ha configurado un sitio predeterminado para nosotros. Puede crear cualquier número de sitios y ruta a tus subdominios. Con el propósito de este tutorial, voy a pegarlo en el sitio por defecto. El directorio web ocupa /public por defecto. Se trata de cómo deben configurarse para Laravel y más otras aplicaciones web.

Si haces clic en un sitio específico, se verá la interfaz de administración del sitio. Puede gestionar, implementar y configurar sitios individuales desde aquí.

Interfaz de Administración de Sitio

Aquí le damos la interfaz inicialmente como luce.

You can add the Git repo from this screen

Puede instalar desde un repositorio de Git o instalar WordPress. Con el propósito de este tutorial, he creado una muestra Contáctenos aplicación que puede bifurcar en su cuenta. Se puede especificar el nombre del proyecto y de la rama. Una vez que termines, tienes los controles para implementar su aplicación.

Site management dashboard with deployment controls

Le dará un rápido recorrido por las opciones disponibles.

Despliegue Ahora y Despliegue Rápido 

Para implementar, puede implementar manualmente usando el botón Despliegue ahora. Como alternativa, puede habilitar la opción de Despliegue Rápido, que despliega automáticamente el proyecto cuando se pulsa el código en la rama principal del repositorio de GitHub solicitada.

Script de Despliegue

El valor por defecto implementar código de tirones de script desde el repositorio, instala las dependencias, inicia el servidor y las migraciones se ejecuta cada vez que se implementa la aplicación. Aquí está el script de despliegue.

Si usted necesita a retocarlo y añadir algo extra, se puede.

Implementación Disparador URL

Puede usar esto para integrar su aplicación en un servicio de terceros o crear un script de implementación personalizada. Cuando el URL recibe una petición, se activa la secuencia de comandos de implementación.

Actualizar el Repositorio y Rama

Si necesita actualizar la rama o instalar una versión más reciente del mismo proyecto en un repositorio diferente, puede utilizar estas opciones. Si actualiza la rama, que tendrás que actualizar el nombre de rama en el script de implementación demasiado.

Medio Ambiente

Forge genera automáticamente un archivo de medio ambiente de la aplicación. Algunos de los detalles como las credenciales de la base de datos se añaden automáticamente al medio ambiente. Sin embargo, si la aplicación utiliza una API, puede colocar el API key con seguridad en el medio ambiente. Incluso si usted está ejecutando una aplicación de web PHP genérica, puede acceder a las variables ENV utilizando el método de getenv().

Trabajador de Cola

A partir de un trabajador de cola fragua es igual a ejecutar el comando artesanal queue:work. Fragua maneja trabajadores de cola usando un monitor de proceso llamado Supervisor para que el proceso sigue funcionando en forma permanente. Puede crear múltiples colas basadas en prioridad de cola o cualquier otra clasificación que encuentres útil.

SSL

Seguridad SSL para un sitio web era cualquier cosa menos fácil y gratis en el pasado. Forge te permite instalar un certificado existente o puede obtener un certificado de libre de LetsEncrypt. Es rápido y fácil. Si necesita SSL para subdominios comodín, puede Agregar los certificados libres de Cloudflare a Forge.

Volver a la interfaz de Administración de Servidores, contamos con llaves SSH.

Adición de SSH Keys

Aunque la mayoría de las opciones configurables son disponible en el tablero, si es necesario conectarse al servidor, debe hacerlo mediante SSH. SSH es la manera más segura de iniciar sesión en un VPS y proporciona más protección de contraseñas.

Para acceder al servidor vía SSH, debe generar un par de claves si no lo has hecho ya. La clave pública estará accesible para el servidor y la clave privada residirá en su anfitrión. Se puede utilizar la configuración para conectarse a la instancia del servidor.

Adding SSH keys to Forge server

Nota: La clave SSH de la consola de administración de servidor será específica en el servidor. Si desea agregar automáticamente las claves a todos los servidores desde aquí en, puede Agregar desde la configuración de perfil.

Para generar un par de claves, ejecute el siguiente comando.

Se le pedirá un par de preguntas como el archivo donde desea guardar la clave y la contraseña para mayor seguridad. A continuación, agregue la clave SSH para el ssh-agent.

Copiar la clave pública y añadir a la lista de Frorge de llaves SSH.

Configuración de PHP y MySQL

Puede utilizar la interfaz para configurar PHP y MySQL. La base de datos, las opciones disponibles incluyen:

  • Crear nuevas bases de datos.
  • Añadir nuevos usuarios.
  • Actualizar el acceso de los usuarios a una base de datos.
  • Actualizar conocimientos de forja sobre la contraseña.

Asegúrese de que usted rellene los datos actualizados en su archivo .env.

Puede configurar los siguientes ajustes de PHP:

  • Actualizar a la última versión de PHP.
  • Cambiar el tamaño de archivo de carga.
  • Optimizar OPCache para la producción de modo que se almacenará el código PHP compilado en memoria.

Otros Parámetros Importantes

Aquí que he enumerado algunas de las opciones disponibles.

Programar una Tarea

Puede utilizar a programador de fragua para programar tareas repetitivas o ejecutar trabajos de cron. Si necesita enviar un correo electrónico periódicamente, limpiar algo, o ejecutar un script, puede utilizar al programador de tareas. Se crea una tarea predeterminada que se ejecuta composer self-update cada noche. Usted puede tratar de programar uno nuevo con una frecuencia de su elección.

Comenzando un Demonio

Un demonio es un programa que se ejecuta en un proceso en segundo plano. Laravel Forge te permite iniciar un demonio y utiliza Supervisor para asegurarse de que el demonio se queda funcionando. Si el demonio se bloquea por alguna razón, Supervisor arrancará el script automáticamente.

Control de la Aplicación

Laravel Forge tiene incorporado soporte para herramientas que monitorean la aplicación de medidas de desempeño mediante la recopilación de datos sobre los recursos como memoria, tiempo de CPU y las operaciones de E/S. Las herramientas disponibles son Blackfire.io y Papertrail. Para comenzar a perfilar su aplicación, sólo tienes que recuperar las credenciales de la derecha de la Página Web de terceros y eso es todo.

Configurar el Servidor de Red y Firewall

Si necesita actualizar la configuración de firewall, no tienes que ir a la consola AWS para que eso suceda. Puede crear nuevas reglas de firewall desde el panel de control. Si tiene otros servidores de provisioning utilizando el mismo proveedor y región, puede configurar un servidor de red para que pueden comunicarse sin dolor.

Resumen

Laravel Forge es una herramienta increíble que despliegue un pedazo de pastel. Tiene toneladas de características y una interfaz de usuario fácil de usar que te permite crear y aprovisionar servidores e implementación de aplicaciones sin problemas. Una vez que has configurado el proveedor de servicios, las posibilidades son altas que no necesita acceder a la consola AWS para administrar el servidor otra vez.

En este tutorial, he cubierto los conceptos básicos para la configuración de AWS con Laravel fragua y los pasos para un servidor de aprovisionamiento y despliegue de una aplicación. También he discutido casi todas las funciones disponibles en la interfaz de Forge.

Para aquellos de ustedes que son ya sea consiguiendo apenas iniciado con Laravel o buscando para expandir tu conocimiento, sitio o aplicación con extensiones, contamos con una variedad de cosas que puedes estudiar en Envato Market.

¿Tienes alguna experiencia para compartir con la implementación de aplicaciones PHP usando Laravel forja o cualquier otra herramienta de despliegue popular? Háganos saber en los comentarios.

Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.