resumen: Laravel Toolkit es una extensión gratuita de Plesk que puede usar para simplificar tareas rutinarias relacionadas con el hosting aplicaciones Laravel.

En este tema detallaremos cómo cargar, configurar y ejecutar aplicaciones Laravel en Plesk. Tenga en cuenta que damos por sentado que ya tiene su aplicación lista o bien tiene previsto crear una nueva. Esto no es una guía sobre cómo crear aplicaciones Laravel.

Requisitos mínimos

Antes de poder alojar aplicaciones Laravel, la extensión Laravel Toolkit gratuita debe estar instalada en el servidor Plesk:

Once the extension is installed, you are ready to begin. You will see the Laravel button in the Navigation Pane, and also in the «Create Website» drawer on the domain cards of all your domains.

image laravel drawer

image laravel domain card install

Carga de su aplicación

Antes de poder configurar y ejecutar su aplicación, deberá cargarla al servidor Plesk y registrarla en Laravel Toolkit. Puede hacerlo de las siguientes formas:

  • Creando un esqueleto de Laravel. Si su aplicación se almacena en una carpeta o archivo comprimido de su equipo o si desea crear su aplicación desde cero, Laravel Toolkit puede crear la estructura de directorios requerida, así como un repositorio Git local.
  • Procediendo con la instalación desde un repositorio Git remoto. Si su aplicación se almacena en un repositorio remoto, puede desplegarla en el servidor Plesk.
  • Detectando una aplicación existente. Si ya ha cargado su aplicación a Plesk, puede registrarla en Laravel Toolkit procediendo con su detección.

Nota: Para crear un esqueleto de Laravel o llevar a cabo una instalación desde un repositorio Git remoto es necesario que la extensión Git esté instalada en el servidor Plesk.

Creación de un esqueleto de Laravel:

  1. Acceso a Plesk.
  2. Vaya a Sitios web y dominios, busque el dominio que alojará su aplicación y haga clic en Crear sitio web > Laravel.
  3. Seleccione «Instalar esqueleto» y haga clic en Instalar aplicación.
  4. Una vez instalado el esqueleto deberá cargar los archivos de su aplicación a Plesk (por ejemplo, mediante FTP o el Administrador de archivos), reemplazando los archivos predeterminados como es necesario.

Instalación mediante un repositorio Git:

  1. Acceso a Plesk.
  2. Vaya a Sitios web y dominios, busque el dominio que alojará su aplicación y haga clic en Crear sitio web > Laravel.
  3. Seleccione «Instalar mediante un repositorio remoto».
  4. Introduzca o pegue la URL del repositorio remoto que contiene los archivos de su aplicación.
  5. Si el repositorio remoto requiere autenticación, añada la clave pública que puede ver en esta página al repositorio.
  6. Haga clic en Instalar aplicación.

Detección de una aplicación existente:

  1. Acceso a Plesk.
  2. Vaya a Sitios web y dominios, encuentre el dominio que alojará su aplicación y abra la pestaña «Hosting y DNS».
  3. Click Hosting.
  4. Cambie el valor de «Raíz de documentos» para que coincida con la ruta al directorio público de su aplicación (que por defecto es /httpdocs/public) y haga clic en Guardar.
  5. Go back to the «Dashboard» tab, click Create Website > Laravel, click Cancel, and then click Scan.

Una vez haya cargado o desplegado los archivos de su aplicación y su aplicación haya sido registrada en Laravel Toolkit, el botón Laravel aparecerá en la tarjeta del dominio que aloja su aplicación.

image laravel domain card manage

Ahora puede ir al próximo paso.

Ejecución de comandos de Node.js, Artisan y Composer

Para ejecutar su aplicación Laravel, probablemente deberá ejecutar comandos de Artisan, Composer y/o Node.js. Laravel Toolkit simplifica su ejecución mediante la interfaz de Plesk sin necesidad de acceso al shell.

Si no está seguro sobre si necesita ejecutar algún comando de Artisan, Composer y/o Node.js para que su aplicación funcione correctamente, consúlteselo a la persona o empresa que le proporcionó la aplicación.

Nota: Para poder ejecutar comandos de Node.js, es necesario haber instalado la extensión gratuita Node.js en el servidor Plesk.

image laravel run commands

Ejecución de un comando Artisan, Composer o Node.js:

  1. Acceso a Plesk.

  2. Vaya a Sitios web y dominios, busque el dominio que aloja su aplicación y haga clic en Laravel.

  3. Vaya a la pestaña correspondiente, introduzca el comando que desea ejecutar o seleccione un comando de la lista y presione la tecla Enter o bien haga clic en el botón image ui lib start.

    Nota: Cuando se ejecutan comandos de Node.js, es posible que deba indicar una versión concreta de Node.js y/o un administrador de paquetes para que el comando tenga el efecto deseado. Si no está seguro sobre lo que escoger, consúlteselo a la persona o empresa que le proporcionó la aplicación.

Visualización de los archivos de registro de su aplicación

Mientras está en ejecución, su aplicación Laravel escribe su registro en un archivo de registro independiente. Puede ver el contenido de dicho archivo directamente mediante la interfaz de Laravel para así simplificar la monitorización de su aplicación y la resolución de cualquier incidencia.

image laravel view logs

Visualización del registro de su aplicación:

  1. Acceso a Plesk.
  2. Vaya a Sitios web y dominios, busque el dominio que aloja su aplicación y haga clic en Laravel.
  3. Haga clic en Registros.

Esto hará que se abra el explorador de registros del dominio, que solo mostrará las entradas de registro del registro de Laravel.

Visualización de las tareas programadas de su aplicación

Laravel le permite programar tareas en el código de la aplicación en vez de usar un programador externo, como puede ser cron. Con Laravel Toolkit puede ver todas las tareas programadas configuradas directamente desde la interfaz de Laravel Toolkit, así como activar o desactivar tareas programadas de Laravel.

Nota: No es posible añadir, eliminar o editar tareas programadas de Laravel desde la interfaz de Laravel Toolkit. Descubra cómo programar tareas en el código de la aplicación

image laravel view scheduled tasks

Visualización de las tareas programadas de su aplicación:

  1. Acceso a Plesk.
  2. Vaya a Sitios web y dominios, busque el dominio que aloja su aplicación y haga clic en Laravel.
  3. Vaya a la pestaña «Tareas programadas» (esta solo es visible cuando se ha configurado un mínimo de una tarea programada).

Nota: Para poder activar o desactivar las tareas programadas de su aplicación, primero es necesario llevar a cabo una operación, que varía en función de si está ejecutando Plesk para Linux o Plesk para Windows. Deberá efectuarla para cada dominio que aloje una aplicación Laravel cuyas tareas programadas desee ejecutar.

Activación de la gestión de tareas programadas:

  1. Acceso a Plesk.
  2. Active el permiso «Administración de tareas programadas» (presente en la pestaña «Permisos») para la suscripción a la que pertenece el dominio que aloja su aplicación.
  3. (Plesk para Linux) Vaya a Sitios web y dominios, localice el dominio que aloja su aplicación, vaya a la pestaña «Hosting y DNS» y haga clic en Hosting.
  4. (Plesk para Linux) Debajo de «Acceso SSH», seleccione cualquier opción que no sea «Prohibido» y haga clic en Guardar.

Ahora puede activar o desactivar las tareas programadas de su aplicación.

Activación de las tareas programadas de su aplicación:

  1. Acceso a Plesk.
  2. Vaya a Sitios web y dominios, busque el dominio que aloja su aplicación y haga clic en Laravel.
  3. Haga clic en el botón de alternancia Tareas programadas para que muestre «Activado».

Ahora las tareas programadas están activadas para su aplicación Laravel.

Edición de variables de entorno

Es posible que su aplicación necesite una o más variables de entorno personalizadas para poderse ejecutar correctamente o bien que cambie su comportamiento en función de las variables de entorno establecidas. Si no está seguro sobre si su aplicación necesita cualquier variable de entorno para ejecutarse correctamente, consúlteselo a la persona o empresa que le proporcionó la aplicación.

Edición de variables de entorno:

  1. Acceso a Plesk.
  2. Vaya a Sitios web y dominios, busque el dominio que aloja su aplicación y haga clic en Laravel.
  3. Haga clic en el botón Editar al lado de «Variables de entorno (.env)».
  4. Edite las variables de entorno y haga clic en Actualizar.

Ahora se aplican las variables de entorno actualizadas.

Cómo pasar su aplicación al modo de mantenimiento

Con el fin de impedir que los visitantes de un sitio web vean errores cuando usted esté usando o actualizando su aplicación, puede poner la aplicación en modo de mantenimiento. Mientras su aplicación se encuentra en este modo, los visitantes del sitio verán una página que muestra el error «503 SERVICE UNAVAILABLE».

Cómo pasar su aplicación al modo de mantenimiento:

  1. Acceso a Plesk.
  2. Vaya a Sitios web y dominios, busque el dominio que aloja su aplicación y haga clic en Laravel.
  3. Haga clic en el botón de alternancia Modo de mantenimiento para que muestre «Activado».

Ahora, su aplicación Laravel se encuentra en modo de mantenimiento.

Nota: No olvide sacar su aplicación de este modo una vez ya no necesite usar o actualizar la aplicación.

Actualización de su aplicación

Tanto si los archivos de su aplicación Laravel se almacenan en un repositorio Git local como si se almacenan en un repositorio remoto, debe cerciorarse de que los cambios efectuados en el código de la aplicación se propagan al servidor Plesk. Puede escoger entre desplegar los cambios de forma manual o bien hacerlo de forma automática.

Si necesita disponer de un control preciso cuando se actualice su aplicación, le recomendamos actualizarla de forma manual. De esta forma, los cambios efectuados en el código de la aplicación en el repositorio no se propagarán al servidor Plesk hasta que desee hacerlo. El inconveniente de este enfoque es que debe llevar a cabo acciones manuales cada vez que deba actualizarse la aplicación.

Actualización manual de su aplicación:

  1. Acceso a Plesk.
  2. Vaya a Sitios web y dominios, busque el dominio que aloja su aplicación y haga clic en Laravel.
  3. Vaya a la pestaña «Despliegue» y, debajo de «Modo de despliegue», seleccione el botón de opción «Manual».
  4. Debajo de «Escenario de despliegue», deseleccione las casillas correspondientes a los pasos que no desea efectuar durante el despliegue y haga clic en Desplegar.

Una vez efectuados todos los pasos de despliegue de Laravel Toolkit, se actualizará su aplicación y sus dependencias.

Si desea que los cambios efectuados en el código de la aplicación se propaguen al servidor Plesk de forma automática, el método varía en función de si el código de la aplicación se almacena en un repositorio Git local o remoto.

Actualización automática de su aplicación (repositorio local):

  1. Acceso a Plesk.
  2. Vaya a Sitios web y dominios, busque el dominio que aloja su aplicación y haga clic en Laravel.
  3. Vaya a la pestaña «Despliegue» y, debajo de «Modo de despliegue», seleccione el botón de opción «Automático».
  4. Debajo de «Escenario de despliegue», deseleccione las casillas correspondientes a los pasos que no desea ejecutar durante el despliegue.

Ahora, cada vez que haga push de un commit a la rama master del repositorio local que almacena el código de la aplicación, se actualizará su aplicación y sus dependencias.

Actualización automática de su aplicación (repositorio remoto):

  1. Acceso a Plesk.
  2. Vaya a Sitios web y dominios, busque el dominio que aloja su aplicación y haga clic en Laravel.
  3. Copie la URL del webhook que ve aquí y añádalo al repositorio remoto. Si desea conocer las instrucciones específicas, consulte la documentación del proveedor de su repositorio.
  4. Vaya a la pestaña «Despliegue» y, debajo de «Modo de despliegue», seleccione el botón de opción «Automático».
  5. Debajo de «Escenario de despliegue», deseleccione las casillas correspondientes a los pasos que no desea ejecutar durante el despliegue.

Ahora, cada vez que suceda el evento que desencadena el webhook en el repositorio remoto que almacena el código de la aplicación, se actualizará su aplicación y sus dependencias.

Configuración de un script de despliegue

Es posible que su aplicación requiera que en el servidor se ejecuten determinados comandos durante el despliegue para un correcto funcionamiento. Para evitar la ejecución manual de los comandos, puede configurar un script de despliegue que se ejecutará cada vez que se actualice la aplicación.

Si no está seguro sobre si su aplicación requiere de la ejecución de algún comando durante el despliegue para un correcto funcionamiento, consúlteselo a la persona o empresa que le proporcionó la aplicación.

Nota: En Plesk para Linux es necesario activar el acceso SSH para poder editar el script de despliegue mediante la interfaz de Laravel Toolkit. Esta acción solo debe realizarse una vez.

(Plesk for Linux) Enabling the ability to edit the deployment script:

  1. Acceso a Plesk.
  2. Vaya a Sitios web y dominios, encuentre el dominio que aloja su aplicación, vaya a la pestaña «Hosting y DNS» y haga clic en Hosting.
  3. Debajo de «Acceso SSH», seleccione cualquier opción que no sea «Prohibido» y haga clic en Guardar.

Ahora puede editar el script de despliegue mediante la interfaz de Laravel Toolkit.

Edición del script de despliegue:

  1. Acceso a Plesk.
  2. Vaya a Sitios web y dominios, busque el dominio que aloja su aplicación y haga clic en Laravel.
  3. Vaya a la pestaña «Despliegue» y haga clic en Editar script.
  4. Introduzca o pegue su script de despliegue y haga clic en Actualizar.

Ahora el script de despliegue ya es efectivo y se ejecutará cada vez que actualice su aplicación.

Administración de colas

En Laravel, las colas permiten procesar tareas que requieren de mucho tiempo, como puede ser el caso del análisis de un archivo cargado de forma asincrónica en segundo plano. Si su aplicación soporta el uso de colas, puede activarlas en Plesk para configurar el proceso de trabajo de cola.

Para usar colas, es necesario activarlas para su suscripción, así como crear una base de datos para el trabajo de cola a usar. Se trata de un procedimiento que únicamente debe implementarse una vez.

En Laravel, las colas pueden usar distintos backends de cola. De todos modos, en esta guía sólo detallaremos el uso de una base de datos MySQL/MariaDB como backend. Se trata de la forma más fácil de activar colas en Plesk y debería bastar para la mayor parte de los usuarios. Los demás backends pueden presentar ventajas, como por ejemplo accesos más rápidos, si bien requieren disponer de experiencia en la implementación y el mantenimiento, además de que también pueden acarrear costes adicionales.

Activación de colas:

  1. Acceda a Plesk y encuentre el dominio que aloja su aplicación.

  2. Active las tareas programadas para su aplicación. Esto es imprescindible para un correcto funcionamiento de las colas.

  3. En el repositorio del proyecto Git de su aplicación, añada la siguiente línea a la sección «require» del archivo composer.json:

    "plesk/ext-laravel-integration": "^7.0"
    

    Nota: En cada sección del archivo composer.json, cada línea a excepción de la última debe terminar con una coma.

    Si usa un repositorio Git local, no lleve a cabo este cambio mediante el Administrador de Archivos. En su lugar, efectúe los cambios en el repositorio. De esta forma se evita que los cambios sean sobrescritos la próxima vez que despliegue su aplicación.

  4. Haga clic en Laravel, vaya a la pestaña «Despliegue» y haga clic en Desplegar. Como resultado, los cambios se realizarán en el contenido del archivo composer.lock. Haga commit de estos cambios en el repositorio para así evitar que los cambios sean sobrescritos la próxima vez que despliegue su aplicación.

  5. A continuación, vuelva a hacer clic en Desplegar.

  6. (Opcional) Vuelva a la tarjeta del dominio, vaya a Bases de datos y haga clic en Añadir base de datos.

    Nota: Si su aplicación Laravel ya usa una base de datos MySQL/MariaDB, puede usar dicha base de datos para activar las colas. En este caso, omita este paso y también el siguiente.

  7. (Opcional) Cree una base de datos MySQL o MariaDB y un usuario de base de datos.

  8. Vuelva a la tarjeta del dominio, haga clic en Laravel y haga clic en el botón Editar presente al lado de «Variables de entorno (.env)».

  9. Añada las siguientes líneas al archivo .env, reemplazando los marcadores por la información sobre la base de datos que desee usar (ya sea la que acaba de crear o la que ya está usando su aplicación Laravel):

    DB_CONNECTION=mysql
    DB_HOST=<database server IP address or hostname>
    QUEUE_CONNECTION=database
    DB_DATABASE=<database name>
    DB_USERNAME=<database user name>
    DB_PASSWORD=<database user password>
    

    a continuación, haga clic en «Actualizar».

  10. Ponga su aplicación Laravel en modo de mantenimiento.

  11. Vaya a la pestaña «Artisan» y ejecute los siguientes comandos en este orden:

    queue:table

    migrate

  12. Vaya a la pestaña «Panel de información», saque su aplicación Laravel del modo de mantenimiento y haga clic en el botón de alternancia Cola para que muestre «Activada».

Ahora, las colas para su aplicación Laravel están activadas.

Para que el proceso de trabajo de cola use los recursos del servidor de forma más eficiente, puede configurar distintas opciones en Plesk. La mayor parte de estas están relacionadas con condiciones bajo las que el proceso puede detenerse, liberando así la memoria que haya estado usando.

image laravel queue worker settings

Configuración del proceso de trabajo de cola:

  1. Acceda a Plesk y encuentre el dominio que aloja su aplicación.

  2. Haga clic en Laravel y vaya a la pestaña «Cola».

  3. (Opcional) Seleccione la casilla «Detener trabajo cuando esté vacío» para configurar que el proceso de trabajo se detenga cuando no exista ninguna tarea en la cola. En este caso, el proceso de trabajo se iniciará cada 60 segundos, procesará todas las tareas presentes en la cola y saldrá.

    Si no selecciona la casilla «Detener trabajo cuando esté vacío», el proceso de trabajo permanecerá en ejecución incluso en el caso de que en la cola no exista ninguna tarea.

  4. (Opcional) Establezca un valor personalizado para «Tiempo de espera» para configurar que el proceso de trabajo salga con un error en el caso de que la tarea lleve ejecutándose durante más tiempo que el valor configurado. Compruebe que este valor permite completar una tarea estándar creada por su aplicación Laravel.

    De no establecer ningún valor personalizado para «Tiempo de espera», el proceso no saldrá ni en el caso de que una tarea individual haya estado procesándose en la cola durante mucho tiempo (por ejemplo, porque la tarea se ha bloqueado).

    Prudencia: De establecer un valor demasiado bajo, es posible que las tareas no puedan completarse porque necesiten más tiempo para ser procesadas (por ejemplo, cuando se cargue un archivo de gran tamaño). Si se percata de que las tareas empiezan a experimentar errores tras establecer un valor personalizado para «Tiempo de espera», considere aumentarlo o establecer su valor predeterminado («0», lo que indica la imposición de ningún límite en cuanto al tiempo de procesamiento de las tareas).

  5. (Opcional) Establezca un valor personalizado para «Nº máximo de trabajos» para configurar que el proceso de trabajo salga una vez este haya procesado una determinada cantidad de tareas.

    De no establecer ningún valor personalizado para «Nº máximo de trabajos», el proceso de trabajo no se detendrá ni en el caso de que este haya procesado una gran cantidad de tareas.

  6. (Opcional) Establezca un valor personalizado para «Tiempo máximo» para configurar que el proceso de trabajo salga una vez se haya ejecutado durante los segundos indicados (el proceso de trabajo no saldrá mientras se esté procesando una tarea).

    De no establecer ningún valor personalizado para «Tiempo máximo», el proceso de trabajo permanecerá en ejecución incluso en el caso de que haya estado ejecutándose durante mucho tiempo.

El proceso de trabajo se ha configurado y ahora debería usar los recursos del servidor de forma más eficiente.

Jobs may fail due to many reasons. Plesk keeps track of failed jobs, which you can restart or dismiss.

image laravel failed jobs

Visualización, reinicio y descarte de tareas fallidas:

  1. Acceda a Plesk y encuentre el dominio que aloja su aplicación.
  2. Haga clic en Laravel, vaya a la pestaña «Cola» y haga clic en Mostrar trabajos erróneos para ver la lista de tareas fallidas.
  3. (Opcional) Seleccione una o más tareas fallidas y haga clic en Volver a intentar para reiniciarlas.
  4. (Opcional) Seleccione una o más tareas fallidas y haga clic en Eliminar para eliminarlas de la lista.
  5. (Opcional) Haga clic en Vaciar para eliminar todas las tareas fallidas de la lista.

Ahora las tareas fallidas han sido reiniciadas y/o descartadas.