Este es un ejemplo de cómo configurar una aplicación Laravel para desplegarla en los servicios de Alojamiento de Aplicaciones de Kinsta desde un repositorio de GitHub.

Laravel es una aplicación habitual basada en PHP, por lo que durante el proceso de despliegue, Kinsta instala automáticamente las dependencias definidas en tu archivo composer.json.

  1. Accede a GitHub y crea un nuevo repositorio a partir de esta plantilla (Utilizar esta plantilla > Crear un nuevo repositorio): Kinsta – Hello World – Laravel.
  2. Laravel requiere que se establezca la variable de entorno APP_KEY. Puedes generar una clave de aplicación tú mismo localmente, o puedes utilizar este generador de claves Laravel online.
  3. En MyKinsta, añade una aplicación con el repositorio Hello World Laravel. En Entorno variables, en Clave 1, introduce APP_KEY, y en Valor 1, pega la clave generada en el Paso 2, selecciona Disponible durante el tiempo de ejecución y Disponible durante el proceso de construcción.
  4. El comando de Inicio puede dejarse en blanco para el proceso web, ya que Kinsta detecta automáticamente el comando necesario durante el primer despliegue.
    Nota: El primer despliegue puede fallar porque necesitas añadir los Buildpacks necesarios.
  5. Para que la aplicación pueda construir los archivos CSS/JS, necesitas añadir dos buildpacks: Node.js y PHP. Haz clic en Configuración > Añadir buildpack, selecciona Node.js > Añadir buildpack. Repite esto para PHP.
    El buildpack que contiene el idioma principal de tu aplicación debe ser el último de la lista de buildpacks. En este ejemplo, PHP es el idioma principal y debe ser el último buildpack de la lista.
  6. Haz clic en Despliegues > Desplegar ahora > elige la rama requerida > Desplegar aplicación.

La aplicación estará disponible en cuanto finalice la construcción, y la página de bienvenida de Kinsta se cargará en la URL de tu aplicación.

Página de bienvenida de Kinsta tras el despliegue de Laravel.
Página de bienvenida de Kinsta tras el despliegue de Laravel.

¿Prefieres ver la versión en vídeo?

Conectar una Base de Datos

Si quieres conectar tu aplicación a una base de datos, empieza por crear una base de datos en el mismo centro de datos en el que está tu aplicación.

  1. Añade una base de datos.
  2. Conecta la base de datos a la aplicación añadiendo una conexión interna y seleccionando la casilla Añadir variables de entorno…. Esto rellenará automáticamente las variables de entorno de la base de datos.
  3. Algunos de los nombres de variables (claves) que utiliza Laravel son diferentes de los que se crean automáticamente en MyKinsta. Edita las claves de las variables según sea necesario para que coincidan con los nombres de las variables definidas en el archivo base de datos.php de Laravel. A continuación se muestran los nombres de las variables (claves) correspondientes a los tipos de bases de datos que soporta Laravel.

Variables de Entorno

MySQL y PostgreSQL

Clave Generada Automáticamente Clave Laravel
DB_HOST DB_HOST
DB_PORT DB_PORT
DB_NAME DB_DATABASE
DB_USER DB_USERNAME
DB_PASSWORD DB_PASSWORD
DB_CONNECTION_URL DB_URL

 


Redis

Clave Generada Automáticamente Clave Laravel
DB_HOST REDIS_HOST
DB_PORT REDIS_PORT
DB_NAME REDIS_DB
DB_USER REDIS_USERNAME
DB_PASSWORD REDIS_PASSWORD
DB_CONNECTION_URL REDIS_URL

Laravel APP_KEY

Laravel requiere que se establezca la variable de entorno APP_KEY. Si esta clave no está establecida, verás una página de error 500 servida por Laravel. Puedes generar tú mismo una clave de aplicación localmente, o puedes utilizar el generador de claves online de Laravel. Una vez que tengas una clave, puedes añadirla como variable de entorno.

Buildpacks

En la mayoría de los casos, querrás que la aplicación construya los archivos CSS/JS, por lo que tendrás que añadir estos dos Buildpacks:

  • Node.js
  • PHP

El buildpack que contiene el idioma principal de tu aplicación debe ser el último de la lista de buildpacks. En este ejemplo, PHP es el idioma principal y debe ser el último buildpack de la lista.

Configuración del Servidor Web

Comando de Inicio

El proceso web por defecto es heroku-php-apache2. Este ejemplo incluye un archivo .htaccess que redirige todas las peticiones a public/index.php para Laravel. Si es necesario, puedes cambiar este comando cuando añadas tu aplicación (Configura tus procesos) o en la página Procesos de la aplicación después de desplegarla. Puedes utilizarlo:

  • heroku-php-apache2 /public
  • php artisan serve --host 0.0.0.0 --port 8080