Laravel Toolkit
Résumé: Laravel Toolkit est une extension gratuite de Plesk que vous pouvez utiliser pour simplifier les tâches routinières liées à l’hébergement d’applications Laravel.
Dans cette section, vous découvrirez comment téléverser, configurer et exécuter des applications Laravel dans Plesk. Attention, cette section s’adresse à vous si votre application est prête ou si vous planifiez sa création. Toutefois, il ne s’agit pas d’un guide pour créer des applications Laravel.
Prérequis
Avant de pouvoir héberger des applications Laravel, vous devez installer l’extension gratuite Laravel Toolkit sur le serveur Plesk :
- Si vous êtes l’administrateur de Plesk, installez l’extension depuis le Catalogue des extensions.
- Si vous n’êtes pas administrateur, contactez votre hébergeur et demandez-lui d’installer l’extension pour vous.
Once the extension is installed, you are ready to begin. You will see the Laravel button in the drawer on the left side of the screen, and also the Laravel button on the Install Application drawer on the domain cards of all your domains.
Téléverser votre application
Avant de configurer et d’exécuter votre application, vous devez la téléverser sur le serveur Plesk et l’enregistrer dans Laravel Toolkit. Pour cela, utilisez l’une des trois méthodes suivantes :
- Créer un squelette Laravel. Si votre application est stockée dans un dossier ou un fichier compressé sur votre ordinateur ou si vous voulez créer votre application de A à Z, Laravel Toolkit doit créer la structure du répertoire nécessaire ainsi qu’un dépôt Git.
- Installer depuis un dépôt Git distant. Si votre application est stockée dans un dépôt distant, vous pouvez la déployer sur le serveur Plesk.
- Rechercher une application existante. Si vous avez déjà téléversé votre application sur Plesk, vous pouvez l’enregistrer dans Laravel Toolkit en utilisant l’analyse.
Note: Pour créer un squelette Laravel ou l’installer depuis un dépôt Git distant, l’extension Git doit être installée sur le serveur Plesk.
Créer un squelette Laravel
- Connectez-vous à Plesk.
- Go to Websites & Domains, find the domain that will host your application, and then click Install Application > Laravel.
- Sélectionnez « Installer le squelette » et cliquez sur Installer l’application.
- Lorsque le squelette est installé, vous devez téléverser les fichiers de votre application sur Plesk (par exemple via FTP ou via le Gestionnaire de fichiers) et remplacer les fichiers par défaut si nécessaire.
Installer depuis un dépôt Git distant
- Connectez-vous à Plesk.
- Go to Websites & Domains, find the domain that will host your application, and then click Install Application > Laravel.
- Sélectionnez « Installer depuis un dépôt distant ».
- Saisissez ou copiez l’URL du dépôt distant contenant les fichiers de votre application.
- Si le dépôt distant requiert une authentification, ajoutez-y la clé publique que vous voyez sur cette page.
- Cliquez sur Installer l’application.
Analyser pour trouver une application existante
- Connectez-vous à Plesk.
- Allez dans Sites Web & Domaines. Cherchez le domaine sur lequel vous hébergerez votre application, puis ouvrez l’onglet « Hébergement et DNS ».
- Cliquez sur Paramètres d’hébergement.
- Modifiez la valeur dans « Racine du document » pour que celle-ci corresponde au répertoire public de votre application (par défaut
/httpdocs/public
) et cliquez sur OK. - Cliquez sur Installer l’application Laravel. Cliquez sur Annuler, puis sur Analyser.
Once you have uploaded or deployed your application’s files and your application has been registered in Laravel Toolkit, the Laravel button will appear on the card of the domain hosting your application.
Vous pouvez désormais passer à l’étape suivante.
Exécuter les commandes Artisan, Composer et Node.js
Pour gérer votre application Laravel, vous devrez sans doute exécuter les commandes Artisan, Composer et/ou Node.js. Laravel Toolkit permet de les exécuter facilement depuis l’interface Plesk sans accès shell.
Si vous ne savez pas si votre application a besoin d’exécuter les commandes Artisan, Composer et/ou Node.js pour fonctionner correctement, consultez la personne ou l’entreprise qui vous a fourni l’application.
Note: Pour pouvoir exécuter les commandes Node.js, vous devez installer l’extension Node.js gratuite sur le serveur Plesk.
Exécuter une commande Artisan, Composer ou Node.js
-
Go to Websites & Domains, find the domain hosting your application, and then click Laravel.
-
Go to the corresponding tab, type in the command you want to run or select one from the list, and then press the Enter key or click the
button.
Note: Lorsque vous exécutez des commandes Node.js, vous devrez peut-être spécifier la version de Node.js et/ou le gestionnaire de pack pour que la commande ait l’effet voulu. Si vous ne savez pas si vous devez spécifier la version, consultez la personne ou l’entreprise qui vous a fourni l’application.
Voir les fichiers journaux de votre application
Pendant que Laravel fonctionne, les entrées sont consignées dans un fichier journal distinct. Vous pouvez voir le contenu de ce fichier depuis l’interface Laravel Toolkit afin de surveiller votre application et de résoudre plus facilement les problèmes lorsqu’il y en a.
Voir le journal de votre application
- Connectez-vous à Plesk.
- Go to Websites & Domains, find the domain hosting your application, and then click Laravel.
- Cliquez sur Journaux.
Cela ouvrira l”Explorateur de journaux du domaine. Seules les entrées du journal Laravel sont affichées.
Voir les tâches planifiées de votre application
Avec Laravel, vous pouvez planifier des tâches dans le code de l’application au lieu d’utiliser un planificateur externe comme cron. Laravel Toolkit vous permet de voir toutes les tâches configurées actuellement directement depuis l’interface de Laravel. Vous pouvez également activer et désactiver les tâches planifiées de Laravel.
Note: Vous ne pouvez ni ajouter, ni supprimer, ni modifier de tâches planifiées Laravel depuis l’interface Laravel Toolkit. Découvrez comment planifier des tâches depuis le code de l’application
Voir les tâches planifiées de votre application
- Connectez-vous à Plesk.
- Go to Websites & Domains, find the domain hosting your application, and then click Laravel.
- Allez dans l’onglet « Tâches planifiées » (cet onglet est visible uniquement lorsqu’une ou plusieurs tâches planifiées sont configurées).
Note: Pour activer ou désactiver les tâches planifiées de votre application, vous devez d’abord réaliser une opération spécifique, selon que vous utilisez Plesk pour Linux ou Plesk pour Windows. Vous devrez le faire pour chaque domaine qui héberge une application Laravel pour laquelle vous voulez exécuter une tâche planifiée.
Enabling scheduled tasks management
- Connectez-vous à Plesk.
- Enable the « Scheduler management » permission (found on the « Permissions » tab) for the subscription to which the domain hosting your application belongs.
- (Plesk for Linux) Go to Websites & Domains, find the domain hosting your application, go to the « Hosting & DNS » tab, and then click Web Hosting Access.
- (Plesk for Linux) Under « Access to the server over SSH », select any option other than « Forbidden », and then click OK.
Vous pouvez désormais activer ou désactiver les tâches planifiées de votre application.
Activer les tâches planifiées de votre application
- Connectez-vous à Plesk.
- Go to Websites & Domains, find the domain hosting your application, and then click Laravel.
- Faites glissez le bouton Tâches planifiées pour qu’il indique « Activé ».
Les tâches planifiées sont désormais activées pour votre application Laravel.
Modifier les variables d’environnement
Votre application peut avoir besoin d’une ou plusieurs variables d’environnement pour fonctionner correctement ou encore fonctionner différemment selon les variables définies. Si vous ne savez pas quelles sont les variables d’environnement requises pour que votre application fonctionne correctement, consultez la personne ou l’entreprise qui vous a fourni l’application.
Modifier les variables d’environnement
- Connectez-vous à Plesk.
- Go to Websites & Domains, find the domain hosting your application, and then click Laravel.
- Cliquez sur le bouton Modifier à côté de « Variables d’environnement (.env) ».
- Modifiez les variables d’environnement si nécessaire et cliquez sur Mettre à jour.
Les variables d’environnement mises à jour sont désormais en vigueur.
Mettre votre application en mode Maintenance
Pour éviter aux visiteurs de votre site web de voir des erreurs lorsque vous travaillez sur votre application ou lorsque vous la mettez à jour, vous pouvez utiliser le mode Maintenance. Quand votre application est en mode Maintenance, les visiteurs de votre site web voient une page avec l’erreur « 503 SERVICE NON DISPONIBLE ».
Mettre votre application en mode maintenance
- Connectez-vous à Plesk.
- Go to Websites & Domains, find the domain hosting your application, and then click Laravel.
- Cliquez sur le bouton Mode Maintenance pour le passer sur « Activé ».
Votre application Laravel est désormais en mode Maintenance.
Note: N’oubliez pas de désactiver le mode Maintenance une fois que vous avez terminé votre travail ou la mise à jour de l’application.
Mettre à jour votre application
Vous devez vous assurer de propager les modifications du code de l’application sur le serveur Plesk, que les fichiers de votre application Laravel soient stockés dans un dépôt Git local ou distant. Vous pouvez déployer les modifications manuellement ou automatiquement.
Si vous avez besoin de contrôler précisément le moment de la mise à jour de votre application, nous vous recommandons d’opter pour la mise à jour manuelle. Ainsi, les modifications effectuées dans le code de l’application dans le dépôt sont propagées sur le serveur Plesk lorsque vous le décidez. L’inconvénient de cette approche est que vous devez effectuer des opérations manuelles à chaque fois que l’application nécessite une mise à jour.
Mettre à jour manuellement votre application
- Connectez-vous à Plesk.
- Go to Websites & Domains, find the domain hosting your application, and then click Laravel.
- Allez dans l’onglet « Déploiement ». Dans « Mode de déploiement », sélectionnez le bouton radio « Manuel ».
- Dans « Scénario de déploiement », décochez les cases qui correspondent aux étapes que vous ne voulez pas exécuter pendant le déploiement et cliquez sur Déployer.
Une fois que Laravel Toolkit a exécuté toutes les étapes du déploiement, votre application et ses dépendances seront à jour.
Si vous voulez propager automatiquement sur le serveur Plesk les modifications apportées au code de l’application, la méthode diffère selon si le code de l’application est stocké dans un répertoire Git local ou distant.
Mettre à jour automatiquement votre application (dépôt local)
- Connectez-vous à Plesk.
- Go to Websites & Domains, find the domain hosting your application, and then click Laravel.
- Allez dans l’onglet « Déploiement ». Sous « Mode de déploiement », sélectionnez le bouton radio « Automatique ».
- Sous « Scénario de déploiement », décochez les cases qui correspondent aux étapes que vous ne voulez pas exécuter pendant le déploiement.
À présent, à chaque fois qu’un commit est poussé vers la branche master
du dépôt local qui stocke le code de votre application, celle-ci et ses dépendances seront mises à jour.
Mettre à jour automatiquement votre application (dépôt distant)
- Connectez-vous à Plesk.
- Go to Websites & Domains, find the domain hosting your application, and then click Laravel.
- Copiez l’URL webhook que vous voyez ici et ajoutez-la au dépôt distant. Pour en savoir plus, consultez la documentation du fournisseur de votre dépôt.
- Allez dans l’onglet « Déploiement ». Sous « Mode de déploiement », sélectionnez le bouton radio « Automatique ».
- Sous « Scénario de déploiement », décochez les cases qui correspondent aux étapes que vous ne voulez pas exécuter pendant le déploiement.
À présent, à chaque fois que l’événement qui déclenche votre webhook se produit dans le dépôt distant qui stocke le code de l’application, celle-ci et ses dépendances seront mises à jour.
Configurer un script de déploiement
Pour que votre application fonctionne correctement, vous devez exécuter certaines commandes sur le serveur pendant le déploiement. Vous pouvez développer un script pour éviter d’exécuter manuellement ces commandes. Ce script sera exécuté à chaque mise à jour de l’application.
Si vous ne savez pas si votre application a besoin d’exécuter des commandes lors du déploiement pour fonctionner correctement, consultez la personne ou l’entreprise qui vous a fourni l’application.
Note: Dans Plesk pour Linux, vous devez activer l’accès SSH avant de pouvoir modifier le script de déploiement depuis l’interface Laravel. Vous ne devrez le faire qu’une seule fois.
Activer la possibilité de modifier le script de déploiement dans Plesk pour Linux
- Connectez-vous à Plesk.
- Allez dans Sites Web & Domaines et trouvez le domaine qui héberge votre application. Ensuite, allez sur l’onglet « Hébergement et DNS » et cliquez sur Accès à l’hébergement Web.
- Dans « Accéder au serveur via SSH », sélectionnez une option différente de « Interdit » et cliquez sur OK.
Vous pouvez désormais modifier le script de déploiement depuis l’interface Laravel Toolkit.
Modifier le script de déploiement
- Connectez-vous à Plesk.
- Go to Websites & Domains, find the domain hosting your application, and then click Laravel.
- Allez dans l’onglet « Déploiement » et cliquez sur Modifier le script.
- Saisissez ou collez votre script de déploiement et cliquez sur Mettre à jour.
Le script de déploiement est désormais effectif et sera exécuté à chaque mise à jour de votre application.
Managing Queues
Queues in Laravel make it possible to process time-consuming tasks, such as parsing an uploaded file, asynchronously in the background. If your application supports queues, you can enable them in Plesk to configure the queue worker process.
To use queues, you need to enable them for your subscription, and also to create a database for the queue worker to use. This is a one time procedure.
Laravel queues can use a variety of queue backends. However, in this guide we will only cover using a MySQL database as backend. This is the simplest way to enable queues in Plesk, and it should be sufficient for most users. Other backends may provide advantages, such as improved access times, but they require expertise to implement and maintain, and may also incur additional costs.
Enabling queues
-
Log in to Plesk, and then locate the domain hosting your application.
-
Enable scheduled tasks for your application. This is necessary for queues to function.
-
In your application’s Git project repository, add the following line to the « require » section of the
composer.json
file:"plesk/ext-laravel-integration": "^7.0"
Note: In each section of the
composer.json
file, every line except the last one must end with a comma.If you use a local Git repository, do not make this change via File Manager. Instead, commit changes to the repository. This is to avoid the changes being overwritten the next time you deploy your application.
-
Click Laravel, go to the « Deployment » tab, and then click Deploy. This will result in changes being made to the contents of the
composer.lock
file. Commit those changes to the repository to avoid the changes being overwritten the next time you deploy your application. -
After committing the changes, click Deploy once again.
-
(Optional) Return to the domain card, go to Databases, and then click Add Database.
Note: If your Laravel application is already using a MySQL database, you can use that database to enable queues. In that case, skip this step, and also the following step.
-
(Optional) Create a MySQL or MariaDB database, and a database user.
-
Return to the domain card, click Laravel, and then click the Edit button next to « Environment variables (.env) ».
-
Add the following lines to the
.env
file, replacing the placeholders with the information about the database you want to use (either the one just created, or the one already being used by your Laravel application):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>
and then click « Update ».
-
Go to the « Artisan » tab, and then run the following commands, in this order:
queue:table
migrate
-
Go to the « Dashboard » tab, take your Laravel application out of maintenance mode, and then click the Queue toggle button so that it shows « Enabled ».
Queues are now enabled for your Laravel application.
To make the queue worker process use server resources more efficiently, there is a number of settings you can configure in Plesk. They mostly deal with conditions under which the queue worker process may exit, freeing the memory it has been using.
Configuring the queue worker process
-
Log in to Plesk, and then locate the domain hosting your application.
-
Click Laravel, and then go to the « Queue » tab.
-
(Optional) Select the « Stop Worker When Empty » checkbox to configure the worker process to stop when there are no jobs in the queue. If you do, the worker process will start every 60 seconds, process all jobs currently in the queue, and then exit.
If you do not select the « Stop Worker When Empty » checkbox, the worker process will remain running even when there are no jobs in the queue.
-
(Optional) Set a custom « Timeout » value to configure the worker process to exit with an error if job has been running for a length of time exceeding the configured value. Make sure that the « Timeout » value allows enough time for a typical job created by your Laravel application to finish.
If you do not set a custom « Timeout » value, the worker process will not exit even if an individual job has been in the queue being processed for a long time (for example, because the job has become stuck).
Prudence: Setting too low a value may result in jobs failing because of insufficient time to process (for example, when uploading a large file). If you start experiencing failed jobs after setting a custom « Timeout » value, consider increasing it or returning the parameter to its default value (« 0 », indicating no limit on job processing time).
-
(Optional) Set a custom « Max Jobs » value to configure the worker process to exit once it has processed a certain number of jobs.
If you do not set a custom « Max Jobs » value, the worker process will not stop, even if it has processed a large number of jobs.
-
(Optional) Set a custom « Max Time » value to configure the worker process to exit once it has been running for the specified number of seconds (the worker process will not exit while in the middle of processing a job).
If you do not set a custom « Max Time » value, the worker process will keep running even if it has been running for a long time.
The queue worker process has been configured and should now use server resources more efficiently.
Jobs may fail due to any number of circumstances. Plesk keeps track of failed jobs, which you can restart or dismiss.
Viewing, restarting, and dismissing failed jobs
- Log in to Plesk, and then locate the domain hosting your application.
- Click Laravel, go to the « Queue » tab, and then click Show failed jobs to see the list of failed jobs.
- (Optional) Select one or more failed jobs, and then click Retry to restart them.
- (Optional) Select one or more failed jobs, and then click Delete to remove them from the list.
- (Optional) Click Flush to remove all failed jobs from the list.
Failed jobs have now been restarted and/or dismissed.