PHP

Este artículo incluye ejemplos de cómo configurar las siguientes aplicaciones PHP para desplegarlas en los servicios de Alojamiento de Aplicaciones de Kinsta desde un repositorio de GitHub:

Requisitos Previos

  • Las plantillas de inicio rápido de Kinsta se almacenan y gestionan en GitHub; por lo tanto, necesitas una cuenta de GitHub para acceder a ellas.
  • Necesitas crear una cuenta MyKinsta para desplegar la aplicación.

PHP

  1. Accede a GitHub y crea un nuevo repositorio a partir de esta plantilla (Utilizar esta plantilla > Crear un nuevo repositorio): Kinsta – Hello World – PHP.
  2. En MyKinsta, haz clic en Aplicaciones > Añadir aplicación > selecciona GitHub, haz clic en Conectar proveedor git > Autorizar, e inicia sesión en tu cuenta de GitHub.
  3. Elige el repositorio PHP de Hello World y una Ubicación para el centro de datos. Deja el resto de ajustes por defecto y haz clic en Continuar en cada paso.
  4. En el paso Resumen, haz clic en Desplegar ahora.

Durante el despliegue, Kinsta detecta automáticamente el comando de Inicio para el proceso web e instala las dependencias definidas en tu archivo composer.json. La aplicación estará disponible en cuanto finalice el despliegue, 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 correcto de PHP.
Página de bienvenida de Kinsta tras el despliegue correcto de PHP.

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

Configuración del Servidor Web

Kinsta configura automáticamente un servidor web Apache que sirve tu archivo index.php desde el directorio principal del proyecto de la forma habitual. Crea un archivo index.php en la carpeta de tu proyecto como página de inicio predeterminada.

Jigsaw

Este es un ejemplo de cómo configurar un sitio estático con Jigsaw en los servicios de Alojamiento de Aplicaciones de Kinsta desde un repositorio de GitHub.

Jigsaw es un framework de sitios estáticos que utiliza plantillas Blade para crear tus diseños de página y Markdown para construir tu contenido dentro de las plantillas, de modo que puedas producir sitios estáticos sencillos sin conocimientos complejos de programación. Encontrarás más información en el sitio web de Jigsaw.

  1. Accede a GitHub y crea un nuevo repositorio a partir de esta plantilla (Usar esta plantilla > Crear un nuevo repositorio): Kinsta – Jigsaw Starter.
  2. En MyKinsta, haz clic en Aplicaciones > Añadir aplicación > selecciona GitHub, haz clic en Conectar proveedor git > Autorizar, e inicia sesión en tu cuenta de GitHub.
  3. Elige el repositorio de Jigsaw Starter y una Ubicación del centro de datos. Deja el resto de ajustes por defecto y haz clic en Continuar en cada paso.
  4. En el paso Resumen, como debes añadir los Buildpacks necesarios antes de desplegar, haz clic en Desplegar más tarde.
  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.
  6. Haz clic en Despliegues > Desplegar ahora > selecciona la rama deseada > Desplegar aplicación.

Jigsaw se basa en Laravel; es una aplicación normal basada en PHP, así que durante el despliegue, Kinsta detecta automáticamente el comando de Inicio para el proceso web e instala las dependencias definidas en tu archivo composer.json. La aplicación estará disponible en cuanto finalice el despliegue, y se cargará una página Jigsaw predeterminada en la URL de tu aplicación.

Página predeterminada de Jigsaw tras una instalación correcta.
Página predeterminada de Jigsaw tras una instalación correcta.

Buildpacks

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

  • Node JS
  • PHP

Configuración del Servidor Web

Comando de Inicio

Cuando despliegas la aplicación, Kinsta crea automáticamente un proceso web con npm start como comando de Inicio. Si es necesario, puedes cambiarlo dentro de Procesos.

Laravel

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.

  1. Accede a GitHub y crea un nuevo repositorio a partir de esta plantilla (Usar esta plantilla > Crear un nuevo repositorio): Kinsta – Hello World – Laravel.
  2. Laravel requiere que se establezca la variable de entornoAPP_KEY. Puedes generar una clave de aplicación tú mismo localmente, o puedes utilizar este generador online de claves Laravel.
  3. En MyKinsta, haz clic en Aplicaciones > Añadir aplicación > selecciona GitHub, haz clic en Conectar proveedor git > Autorizar, e inicia sesión en tu cuenta de GitHub.
  4. Elige el repositorio Hello World Laravel y una Ubicación del Centro de datos. En Variables de entorno, 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.
  5. Deja los demás ajustes por defecto y haz clic en Continuar en cada paso. En el paso Resumen, haz clic en Desplegar más tarde para añadir los Buildpacks necesarios antes de desplegar.
  6. Para que la aplicación pueda construir los archivos CSS/JS, necesitas añadir dos paquetes de construcción: Node.js y PHP. Haz clic en Configuración > Añadir buildpack, selecciona Node.js > Añadir buildpack. Repite esto para PHP.
  7. Haz clic en Despliegues > Desplegar ahora > selecciona la rama deseada > Desplegar aplicación.

Laravel es una aplicación normal basada en PHP, por lo que durante el despliegue, Kinsta detecta automáticamente el comando de Inicio para el proceso web e instala las dependencias definidas en tu archivo composer.json. La aplicación estará disponible en cuanto finalice el despliegue, y se cargará una página Jigsaw predeterminada en la URL de tu aplicación.

Página de bienvenida de Kinsta tras el despliegue satisfactorio de Laravel.
Página de bienvenida de Kinsta tras el despliegue satisfactorio 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 database.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áticamenteClave Laravel
DB_HOSTDB_HOST
DB_PORTDB_PORT
DB_NAMEDB_DATABASE
DB_USERDB_USERNAME
DB_PASSWORDDB_PASSWORD
DB_CONNECTION_URLDB_URL

Redis

Clave generada automáticamenteClave Laravel
DB_HOSTREDIS_HOST
DB_PORTREDIS_PORT
DB_NAMEREDIS_DB
DB_USERREDIS_USERNAME
DB_PASSWORDREDIS_PASSWORD
DB_CONNECTION_URLREDIS_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, vas a querer 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 lenguaje principal de tu aplicación debe ser el último de la lista de buildpacks. En este ejemplo, PHP es el lenguaje 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 utilizar:

heroku-php-apache2 /public

o

php artisan serve --host 0.0.0.0 --port 8080

Leaf

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

Leaf es un framework PHP compacto y ligero centrado en la experiencia del desarrollador, la usabilidad y el código de alto rendimiento. Encontrarás más información en el sitio web de Leaf PHP.

  1. Accede a GitHub y crea un nuevo repositorio a partir de esta plantilla (Utilizar esta plantilla > Crear un nuevo repositorio): Kinsta – Hello World – Leaf PHP.
  2. En MyKinsta, haz clic en Aplicaciones > Añadir aplicación > selecciona GitHub, haz clic en Conectar proveedor git > Autorizar, e inicia sesión en tu cuenta de GitHub.
  3. Elige el repositorio Hello World – Leaf PHP y una Ubicación del centro de datos. Deja el resto de ajustes por defecto y haz clic en Continuar en cada paso.
  4. En el paso Resumen, haz clic en Desplegar ahora.

Durante el despliegue, Kinsta detecta automáticamente el comando de Inicio para el proceso web e instala las dependencias definidas en tu archivo composer.json. La aplicación estará disponible en cuanto finalice el despliegue, y la página de Bienvenida de Kinsta se cargará en la URL de tu aplicación.

Página de bienvenida de Kinsta tras la instalación correcta de Leaf PHP.
Página de bienvenida de Kinsta tras la instalación correcta de Leaf PHP.

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

Configuración del Servidor Web

Puerto

Kinsta establece automáticamente la variable de entorno PORT. No debes definirla tú, ni tampoco codificarla en la aplicación.

Comando de Inicio

Al desplegar la aplicación, Kinsta crea automáticamente un proceso web que ejecuta heroku-php-apache2.

Ciclo de Vida del Despliegue

Cada vez que se inicia un despliegue (mediante la creación de una aplicación o el redespliegue debido a un commit entrante), se ejecuta el comando composer install.

Statamic

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

Statamic es un CMS de archivo plano que, por defecto, almacena todos los datos en el repositorio Git. Antes de enviar el código a MyKinsta, se recomienda instalar Statamic localmente para crear y mantener tu sitio. A continuación, crea una cuenta de superusuario, y luego haz commit y push de todos los cambios en el repositorio.

  1. Accede a GitHub y crea un nuevo repositorio a partir de esta plantilla (Usar esta plantilla > Crear un nuevo repositorio): Kinsta – Statamic Boilerplate.
  2. Statamic se basa en Laravel, por lo que la variable de entorno APP_KEY debe estar configurada. Puedes generar una clave de aplicación tú mismo localmente, o puedes utilizar este generador online de claves Laravel.
  3. En MyKinsta, haz clic en Aplicaciones > Añadir aplicación > selecciona GitHub, haz clic en Conectar proveedor git > Autorizar, e inicia sesión en tu cuenta de GitHub.
  4. Elige el repositorio Statamic Starter y una Ubicación del centro de datos. En Variables de entorno:
    1. En Clave 1, introduce APP_KEY, y en Valor 1, pega la clave generada en el Paso 2.
    2. Haz clic en Añadir otra y en Clave 2, introduce APP_KINSTA, y en Valor 2, introduce true.
    3. Selecciona Disponible durante el tiempo de ejecución y Disponible durante el proceso de construcción.
  5. Deja los demás ajustes por defecto y haz clic en Continuar en cada paso. En el paso Resumen, haz clic en Desplegar más tarde para añadir los Buildpacks necesarios antes del despliegue.
  6. Para que la aplicación pueda construir los archivos CSS/JS, necesitas añadir dos paquetes de construcción: Node.js y PHP. Haz clic en Configuración > Añadir buildpack, selecciona Node.js > Añadir buildpack. Repite esto para PHP.
  7. Haz clic en Despliegues > Desplegar ahora > selecciona la rama deseada > Desplegar aplicación.

Statamic se basa en Laravel; es una aplicación normal basada en PHP, así que durante el despliegue, Kinsta detecta automáticamente el comando de Inicio para el proceso web e instala las dependencias definidas en tu archivo composer.json. La aplicación está disponible en cuanto finaliza el despliegue, y la página de bienvenida de Statamic se carga en la URL de tu aplicación.

Página de bienvenida de Statamic tras una instalación correcta.
Página de bienvenida de Statamic tras una instalación correcta.

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

Variables de Entorno

Statamic requiere que se establezcan las siguientes variables 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 lenguaje principal de tu aplicación debe ser el último de la lista de buildpacks. En este ejemplo, PHP es el lenguaje 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 public/. Si es necesario, puedes cambiar este comando al añadir tu aplicación(Configurar tus procesos) o en la página Procesos de la aplicación después de su despliegue.

PHP para Enviar Correos Electrónicos

Este es un ejemplo de cómo configurar una aplicación PHP para enviar correos electrónicos a través de SendGrid en los servicios de Alojamiento de Aplicaciones de Kinsta, desplegada desde un repositorio de GitHub.

Kinsta no soporta de forma nativa el envío de correos electrónicos desde servidores. El envío de correos electrónicos a través de proveedores de correo saliente especializados, como SendGrid o Mailchimp, ofrece más flexibilidad y mayores tasas de éxito para los correos electrónicos transaccionales y de campaña.

  1. Accede a GitHub y crea un nuevo repositorio a partir de esta plantilla (Usar esta plantilla > Crear un nuevo repositorio): Kinsta – Hello World – Envío de Emails con PHP.
  2. En MyKinsta, haz clic en Aplicaciones > Añadir aplicación > selecciona GitHub, haz clic en Conectar proveedor git > Autorizar, e inicia sesión en tu cuenta de GitHub.
  3. Elige el repositorio Hello World Email PHP y una Ubicación para el centro de datos. En Variables de entorno, añade lo siguiente:
    • SENDGRID_API_KEY: La clave API de SendGrid.
    • TEST_EMAIL_TO_ADDRESS: La dirección a la que enviar el correo electrónico de prueba.
    • TEST_EMAIL_FROM_ADDRESS: La dirección desde la que enviar el correo de prueba.
    • TEST_ENDPOINT: El endpoint que se utilizará como desencadenante para enviar el correo electrónico de prueba. Utiliza una cadena aleatoria de al menos 8 caracteres.
  4. Deja los demás ajustes por defecto y haz clic en Continuar en cada paso. En el paso Resumen, haz clic en Desplegar ahora.

La aplicación estará disponible en cuanto finalice el despliegue, y se cargará una página Hello World en la URL de tu aplicación.

Correo electrónico PHP enviando la página Hello World tras una instalación correcta.
Correo electrónico PHP enviando la página Hello World tras una instalación correcta.

Activar un Correo Electrónico

A través de un punto de entrada index.php muy sencillo, se exponen dos puntos endpoints; todos los demás devolverán un 404:

  • /: Una página sencilla que devuelve el mensaje Hello World
  • /${TEST_ENDPOINT}: Una página que activa un correo electrónico de prueba.

Para activar un correo electrónico, busca la URL de tu despliegue en la página Despliegues, añade tu endpoint de prueba a esta URL y visita la página. Por ejemplo, si tu TEST_ENDPOINT está configurado en o34nifnodhni4of y tu último despliegue está en https://example.kinsta.app, puedes activar un correo electrónico de prueba desde https://example.kinsta.app/o34nifnodhni4of en tu navegador.

¿Este artículo te ha resultado útil?