Riassunto: Laravel Toolkit è un’estensione gratuita di Plesk che puoi usare per semplificare le attività di routine collegate all’hosting di applicazioni Laravel.

In questa sezione imparerai a caricare, configurare ed eseguire applicazioni Laravel in Plesk. Nota꞉ questa sezione presuppone che tu abbia già un’applicazione pronta o che stia pensando di crearne una. Non si tratta di una guida su come creare applicazioni Laravel.

Prerequisiti

Prima di poter ospitare applicazioni Laravel, l’estensione gratuita Laravel Toolkit deve essere installata sul server Plesk:

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

image laravel drawer

image laravel domain card install

Aggiornare la tua applicazione

Prima di poter configurare ed eseguire la tua applicazione, devi caricarla sul server Plesk e registrarla in Laravel Toolkit. Puoi farlo in tre modi:

  • Crea uno scheletro Laravel. Se la tua applicazione è conservata in una cartella o in un file compresso nel tuo computer, o se stai cercando di creare la tua applicazione da zero, Laravel Toolkit può creare la struttura di directory necessaria e anche un repository Git locale.
  • Installa da un repository Git remoto. Se la tua applicazione è conservata in un repository remoto, puoi implementarla nel server Plesk.
  • Scansiona alla ricerca di un’applicazione esistente. Se hai già caricato la tua applicazione su Plesk, puoi registrarla in Laravel Toolkit cercandola con una scansione.

Nota: Per poter creare uno scheletro Laravel o installare da un repository Git remoto, l’estensione gratuita Git deve essere installata sul server Plesk.

Creare uno scheletro Laravel:

  1. Accedi a Plesk.
  2. Andare in Siti Web e Domini, trovare il dominio che ospiterà l’applicazione, quindi fare clic su Crea sito web > Laravel.
  3. Seleziona «Installa scheletro», quindi fai clic su Installa applicazione.
  4. Una volta installato lo scheletro, devi caricare i file della tua applicazione su Plesk (ad esempio, usando FTP o Gestore di file), sostituendo i file predefiniti dove necessario.

Installare da un repository Git remoto:

  1. Accedi a Plesk.
  2. Andare in Siti Web e Domini, trovare il dominio che ospiterà l’applicazione, quindi fare clic su Crea sito web > Laravel.
  3. Seleziona «Installa da repository remoto».
  4. Digita o incolla l’URL del repository remoto che contiene i file della tua applicazione.
  5. Se il repository remoto richiede l’autenticazione, aggiungi al repository la chiave pubblica che vedi su questa pagina.
  6. Fai clic su Installa applicazione.

Analisi per rilevare un’applicazione esistente:

  1. Accedi a Plesk.
  2. Vai a Siti web e domini, trova il dominio che ospiterà la tua applicazione, quindi apri la scheda «Hosting e DNS».
  3. Click Hosting.
  4. Cambia il valore «Root del documento» affinché punti alla directory pubblica della tua applicazione (per impostazione predefinita, /httpdocs/public), quindi fai clic su Salva.
  5. Go back to the «Dashboard» tab, click Create Website > Laravel, click Cancel, and then click Scan.

Una volta caricati o implementati i file dell’applicazione e l’applicazione è stata registrata in Laravel Toolkit, il pulsante Laravel apparirà sulla scheda del dominio che ospita l’applicazione.

image laravel domain card manage

Ora puoi procedere alla fase successiva.

Eseguire comandi Artisan, Composer e Node.js

Per gestire la tua applicazione Laravel, probabilmente dovrai eseguire comandi Artisan, Composer e/o Node.js. Laravel Toolkit rende più facile eseguirli dall’interfaccia di Plesk senza il bisogno di dover accedere alla shell.

Se non hai la certezza di dover eseguire comandi Artisan, Composer e/o Node.js affinché la tua applicazione funzioni correttamente, consulta la persona o l’organizzazione che ti ha fornito l’applicazione.

Nota: Per poter eseguire comandi Node.js, l’estensione gratuita Node.js deve essere installata nel server Plesk.

image laravel run commands

Eseguire un comando Artisan, Composer o Node.js:

  1. Accedi a Plesk.

  2. Andare in Siti Web e Domini, trovare il dominio che ospita l’applicazione, quindi fare clic su Laravel.

  3. Vai alla scheda corrispondente, digita il comando che vuoi eseguire o selezionane uno dalla lista, quindi premi il tasto Invio o fai clic sul pulsante image ui lib start.

    Nota: Quando esegui i comandi Node.js, potresti dover specificare una particolare versione di Node.js e/o gestore di pacchetti affinché il comando abbia l’effetto desiderato. Se non sei sicuro di cosa scegliere, consulta la persona o l’organizzazione che ti ha fornito l’applicazione.

Vedere i file di registro della tua applicazione

Mentre è in funzione, la tua applicazione Laravel scrive il proprio registro in un file separato. Puoi vederne il contenuto direttamente dall’interfaccia di Laravel Toolkit per rendere più facile il monitoraggio della tua applicazione e la risoluzione di qualsiasi problema che potresti incontrare.

image laravel view logs

Vedere il registro della tua applicazione:

  1. Accedi a Plesk.
  2. Andare in Siti Web e Domini, trovare il dominio che ospita l’applicazione, quindi fare clic su Laravel.
  3. Fai clic su Registri.

Si aprirà il dominio del browser di log che mostra solo le voci dal registro di Laravel.

Vedere le attività pianificate della tua applicazione

Con Laravel, puoi pianificare le attività nel codice dell’applicazione invece di usare un pianificatore esterno, come cron. Con Laravel Toolkit, puoi vedere tutte le attività pianificate attualmente configurate direttamente dall’interfaccia di Laravel Toolkit, e puoi anche abilitare o disabilitare le attività pianificate di Laravel.

Nota: Non puoi aggiungere, rimuovere o modificare le attività Laravel pianificate dall’interfaccia del Laravel Toolkit. Impara come programmare le attività nel codice dell’applicazione

image laravel view scheduled tasks

Vedere le attività pianificate della tua applicazione:

  1. Accedi a Plesk.
  2. Andare in Siti Web e Domini, trovare il dominio che ospita l’applicazione, quindi fare clic su Laravel.
  3. Vai nella scheda «Attività pianificate» (la scheda è visibile solo quando ci sono una o più attività pianificate).

Nota: Per poter abilitare o disabilitare le attività pianificate della tua applicazione, devi prima eseguire un’operazione particolare, a seconda che tu stia usando Plesk per Linux o Plesk per Windows. Devi farlo per ogni dominio ospitante un’applicazione Laravel del quale vuoi eseguire le attività pianificate.

Attivare la gestione delle attività pianificate:

  1. Accedi a Plesk.
  2. Attivare il permesso «Gestione pianificatore» (si trova nella scheda «Permessi») per l’abbonamento al quale appartiene il dominio che ospita l’applicazione.
  3. (Plesk per Linux) Andare in Siti Web e Domini, trovare il dominio che ospita l’applicazione, andare alla scheda «Hosting e DNS», quindi fare clic su Hosting.
  4. (Plesk per Linux) In «Accesso SSH», selezionare un’opzione diversa da «Non permesso», quindi fare clic su Salva.

Ora puoi abilitare o disabilitare le attività pianificate della tua applicazione.

Abilitare le attività pianificate della tua applicazione:

  1. Accedi a Plesk.
  2. Andare in Siti Web e Domini, trovare il dominio che ospita l’applicazione, quindi fare clic su Laravel.
  3. Fai clic sul pulsante Attività pianificate affinché indichi «Abilitato».

Le attività pianificate sono ora abilitate per la tua applicazione Laravel.

Modificare le variabili d’ambiente

L’applicazione potrebbe aver bisogno di una o più variabili d’ambiente personalizzate per funzionare correttamente, oppure potrebbe cambiare il proprio comportamento in base alle variabili di ambiente impostate. Se non sai se l’applicazione necessiti di variabili d’ambiente per funzionare correttamente o meno, consulta la persona o l’organizzazione che ti ha fornito l’applicazione.

Modificare le variabili d’ambiente:

  1. Accedi a Plesk.
  2. Andare in Siti Web e Domini, trovare il dominio che ospita l’applicazione, quindi fare clic su Laravel.
  3. Fai clic sul pulsante Modifica vicino a «Variabili d’ambiente (.env)».
  4. Modifica le variabili d’ambiente dove necessario, quindi fai clic su Aggiorna.

Le variabili d’ambiente aggiornate hanno ora effetto.

Mettere la tua applicazione in modalità di manutenzione

Per evitare che i visitatori del sito web vedano errori mentre si lavora o si aggiorna l’applicazione, è possibile metterla in modalità di manutenzione. Quando l’applicazione è in modalità di manutenzione, i visitatori del sito web vedranno una pagina con l’errore «503 SERVIZIO NON DISPONIBILE».

Mettere la tua applicazione in modalità di manutenzione:

  1. Accedi a Plesk.
  2. Andare in Siti Web e Domini, trovare il dominio che ospita l’applicazione, quindi fare clic su Laravel.
  3. Fai clic sul pulsante Modalità di manutenzione affinché indichi «Abilitato».

La tua applicazione Laravel è in modalità di manutenzione.

Nota: Non dimenticare di togliere l’applicazione dalla modalità di manutenzione una volta terminato il lavoro o l’aggiornamento.

Aggiornare la tua applicazione

Sia che i file dell’applicazione Laravel siano ospitati in un repository Git locale che remoto, è necessario assicurarsi che le modifiche apportate al codice dell’applicazione vengano propagate al server Plesk. Puoi implementare le modifiche manualmente o automaticamente.

Se hai bisogno di un controllo preciso sul momento in cui la tua applicazione viene aggiornata, ti consigliamo di aggiornarla manualmente. In questo modo, nessuna modifica apportata al codice dell’applicazione nel repository viene propagata al server Plesk finché non si è pronti a farlo. Lo svantaggio di questo approccio è che è necessario eseguire azioni manuali ogni volta che l’applicazione deve essere aggiornata.

Aggiornare la tua applicazione manualmente:

  1. Accedi a Plesk.
  2. Andare in Siti Web e Domini, trovare il dominio che ospita l’applicazione, quindi fare clic su Laravel.
  3. Vai alla scheda «Implementazione» e, sotto «Modalità d’implementazione», seleziona il pulsante di opzione «Manuale».
  4. Sotto «Scenario dell’implementazione», deseleziona le caselle di controllo corrispondenti ai passaggi che non si desidera eseguire durante l’implementazione, quindi fai clic su Implementa.

Una volta che il Laravel Toolkit ha eseguito tutti i passaggi dell’implementazione, l’applicazione e le sue dipendenze saranno aggiornate.

Se desideri che le modifiche apportate al codice dell’applicazione vengano propagate automaticamente al server Plesk, il metodo varia a seconda che il codice dell’applicazione sia memorizzato in un repository Git locale o remoto.

Aggiornare l’applicazione automaticamente (repository locale):

  1. Accedi a Plesk.
  2. Andare in Siti Web e Domini, trovare il dominio che ospita l’applicazione, quindi fare clic su Laravel.
  3. Vai alla scheda «Implementazione» e, sotto «Modalità d’implementazione», seleziona il pulsante di opzione «Automatico».
  4. Sotto «Scenario dell’implementazione», deseleziona le caselle di controllo corrispondenti ai passaggi che non si desidera eseguire durante l’implementazione.

Ora, ogni volta che un commit viene mandato alla ramificazione master del repository locale che contiene il codice dell’applicazione, l’applicazione e le sue dipendenze saranno aggiornate.

Aggiornare la tua applicazione automaticamente (repository remoto):

  1. Accedi a Plesk.
  2. Andare in Siti Web e Domini, trovare il dominio che ospita l’applicazione, quindi fare clic su Laravel.
  3. Copia l’URL del webhook che vedi qui, quindi aggiungilo al repository remoto. Per istruzioni specifiche, consultare la documentazione del fornitore del repository.
  4. Vai alla scheda «Implementazione» e, sotto «Modalità d’implementazione», seleziona il pulsante di opzione «Automatico».
  5. Sotto «Scenario dell’implementazione», deseleziona le caselle di controllo corrispondenti ai passaggi che non si desidera eseguire durante l’implementazione.

Ora, ogni volta che l’evento che attiva il webhook si verifica nel repository remoto che contiene il codice dell’applicazione, l’applicazione e le sue dipendenze saranno aggiornate.

Configurare uno script d’implementazione

Durante l’implementazione, la tua applicazione potrebbe richiedere l’esecuzione di certi comandi sul server per funzionare correttamente. Per evitare di dover eseguire i comandi manualmente, puoi configurare uno script di implementazione che verrà eseguito ogni volta che l’applicazione viene aggiornata.

Se non hai la certezza che la tua applicazione necessiti l’esecuzione di comandi durante l’implementazione per funzionare correttamente, consulta la persona o l’organizzazione che ti ha fornito l’applicazione.

Nota: In Plesk per Linux, devi abilitare l’accesso SSH prima di poter modificare lo script d’implementazione dall’interfaccia di Laravel Toolkit. Devi farlo una sola volta.

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

  1. Accedi a Plesk.
  2. Vai in Siti web e domini, trova il dominio che ospita la tua applicazione, va alla scheda «Hosting e DNS», quindi fai clic su Hosting.
  3. In «Accesso SSH», selezionare un’opzione diversa da «Non permesso», quindi fare clic su Salva.

Ora puoi modificare lo script d’implementazione dall’interfaccia di Laravel Toolkit.

Modificare lo script d’implementazione:

  1. Accedi a Plesk.
  2. Andare in Siti Web e Domini, trovare il dominio che ospita l’applicazione, quindi fare clic su Laravel.
  3. Apri la scheda «Implementazione» e fai clic su Modifica script.
  4. Digita o incolla nel tuo script d’implementazione, quindi fai clic su Aggiorna.

Lo script d’implementazione ha ora effetto e verrà eseguito ogni volta che aggiorni la tua applicazione.

Gestione delle code

In Laravel, le code consentono di elaborare in background e in maniera asincrona le attività lente, come l’analisi dei file caricati. Se l’applicazione supporta le code, è possibile attivarle in Plesk per configurare il processo di queue worker.

Per usare le code, bisogna abilitarle per il proprio abbonamento, e creare un database utilizzabile dal queue worker. Questa è una procedura una tantum.

Le code di Laravel possono utilizzare una serie di queue backend. Tuttavia, in questa guida tratteremo solo l’uso di un database MySQL/MariaDB come backend. È il modo più semplice per abilitare le code in Plesk, e dovrebbe essere sufficiente per la maggioranza degli utenti. Altri backend potrebbero offrire benefici particolari, come tempi di accesso migliori, ma implementarli e mantenerli richiede un certo know-how ed eventuali costi aggiuntivi.

Attivare le code:

  1. Accedere a Plesk e trovare il dominio che ospita l’applicazione.

  2. Abilitare le attività pianificate per l’applicazione. Questo è necessario per il funzionamento delle code.

  3. Nell’archivio Git del progetto dell’applicazione, aggiungere la seguente riga nella sezione «require» del file composer.json:

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

    Nota: In ogni sezione del file composer.json, tutte le righe tranne l’ultima devono terminare con una virgola.

    Se si utilizza un archivio Git locale, non apportare questa modifica tramite il Gestore di file. Al contrario, apportare le modifiche all’archivio. Questo per evitare che le modifiche vengano sovrascritte la volta successiva che si implementa l’applicazione.

  4. Fare clic su Laravel, andare nella scheda «Implementazione», quindi fare clic su Distribuisci. Questo apporterà le modifiche al contenuto del file composer.lock. Apporta tali modifiche all’archivio per evitare che vengano sovrascritte la volta successiva che si distribuisce l’applicazione.

  5. Dopo aver apportato le modifiche, fare clic di nuovo su Distribuisci.

  6. (Opzionale) Tornare alla scheda del dominio, andare in Database, quindi fare clic su Aggiungi database.

    Nota: Se l’applicazione Laravel utilizza già un database MySQL/MariaDB, è possibile usare tale database per abilitare le code. In tal caso, saltare questo passaggio e quello successivo.

  7. (Opzionale) Creare un database MySQL o MariaDB, e un utente del database.

  8. Tornare alla scheda del dominio, cliccare su Laravel, quindi fare clic sul pulsante Modifica vicino a «Variabili ambientali (.env)».

  9. Aggiungere le seguenti righe al file .env, sostituendo i segnaposti con le informazioni riguardanti il database che si vuole usare (quello appena creato o uno già utilizzato dall’applicazione 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>
    

    quindi fare clic su «Aggiorna».

  10. Mettere l’applicazione Laravel in modalità manutenzione.

  11. Andare nella scheda «Artisan», quindi eseguire i seguenti comandi, in quest’ordine:

    queue:table

    migrate

  12. Andare nella scheda «Dashboard», togliere l’applicazione Laravel dalla modalità manutenzione, quindi fare clic sul pulsante Coda in modo che indichi «Abilitato».

Le code sono ora abilitate per l’applicazione Laravel.

Per far sì che il processo queue worker utilizzi le risorse del server in maniera più efficiente, è possibile configurare diverse impostazioni di Plesk. Riguardano principalmente le condizioni in base alle quali il processo queue worker può chiudersi, liberando la memoria utilizzata.

image laravel queue worker settings

Configurare il processo queue worker:

  1. Accedere a Plesk e trovare il dominio che ospita l’applicazione.

  2. Fare clic su Laravel, quindi andare nella scheda «Coda».

  3. (Opzionale) Selezionare la casella «Arresta il worker se vuoto» per configurare il processo worker in modo che si chiuda se non ci sono job in coda. In tal caso, il processo worker si avvierà ogni 60 secondi, elaborerà tutti i job in coda, quindi si chiuderà.

    Se non si seleziona la casella «Arresta il worker se vuoto», il processo worker rimarrà in funzione anche se non ci sono job in coda.

  4. (Opzionale) Impostare un valore «Timeout» personalizzato per configurare il processo worker affinché si chiuda con un errore se il job è stato eseguito per un periodo superiore al valore configurato. Assicurarsi che il valore «Timeout» conceda tempo sufficiente al completamento di un tipico job creato dall’applicazione Laravel.

    Se non si imposta un valore «Timeout» personalizzato, il processo worker non si chiuderà anche se un singolo job nella coda è stato elaborato per un periodo prolungato (ad esempio, perché il job si è bloccato).

    Attenzione: Impostare un valore troppo basso potrebbe far sì che i job falliscano poiché il tempo a disposizione per l’elaborazione è insufficiente (ad esempio, quando si carica un file di grosse dimensioni). Se iniziano a verificarsi job falliti dopo aver impostato un valore «Timeout» personalizzato, si consideri la possibilità di aumentare o ripristinare il parametro al suo valore predefinito («0», equivalente a nessun limite alla durata dell’elaborazione del job).

  5. (Opzionale) Impostare un valore «Job massimi» personalizzato per configurare il processo worker affinché si chiuda una volta elaborato un certo numero di job.

    Se non si imposta un valore «Job massimi» personalizzato, il processo worker non si fermerà, anche se ha elaborato un grosso numero di job.

  6. (Opzionale) Impostare un valore «Tempo massimo» personalizzato per configurare il processo worker affinché si chiuda dopo che è rimasto in funzione per un determinato numero di secondi (il processo worker non si chiuderà mentre sta elaborando un job).

    Se non si imposta un valore «Tempo massimo» personalizzato, il processo worker rimarrà in funzione anche se è rimasto in funzione per un periodo prolungato.

Il processo queue worker è stato configurato e ora dovrebbe utilizzare le risorse del server in maniera più efficiente.

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

image laravel failed jobs

Visualizzare, riavviare e scartare i job falliti:

  1. Accedere a Plesk e trovare il dominio che ospita l’applicazione.
  2. Fare clic su Laravel, andare nella scheda «Coda», quindi fare clic su Mostra job falliti per vedere la lista dei job falliti.
  3. (Opzionale) Selezionare uno o più job falliti, quindi fare clic su Riprovare per riavviarli.
  4. (Opzionale) Selezionare uno o più job falliti, quindi fare clic su Elimina per rimuoverli dalla lista.
  5. (Opzionale) Fare clic su Svuota per rimuovere tutti i job falliti dalla lista.

I job falliti sono stati riavviati e/o scartati.