Come distribuire Laravel su un server privato virtuale nel 2024

Laravel è un framework per applicazioni web PHP open-source. I suoi toolkit, librerie e funzionalità aiutano a migliorare l’efficienza dello sviluppo poiché gli utenti non hanno bisogno di programmare tutte le funzionalità da zero.

Questo popolare framework ha una grande community di sviluppatori, migliorando il supporto e la disponibilità di risorse. Tuttavia, i nuovi utenti potrebbero non essere sicuri su come implementare Laravel a causa delle sue varie dipendenze e comandi.

In questa guida, spiegheremo come implementare il framework su un server privato virtuale (VPS) Ubuntu. Questa guida alla distribuzione di Laravel esplorerà anche diversi suggerimenti che aiutano a semplificare il processo.

Prerequisiti per la distribuzione di Laravel

Prima di iniziare con Laravel, acquista un piano di hosting vps. Quando scegli il miglior piano e fornitore di hosting VPS per il tuo progetto, considera questi aspetti:

  • Compatibilità. Il tuo VPS deve supportare il sistema operativo scelto, il server web, Laravel, l’ultima versione di PHP e altre dipendenze per funzionare correttamente.
  • Accesso. Il server host deve fornire accesso root completo tramite una connessione shell sicura (SSH) per consentire una distribuzione di Laravel senza problemi e sicura.
  • Prestazione. L’ambiente di hosting VPS ideale dovrebbe fornire sufficiente larghezza di banda e risorse del server per garantire che l’applicazione Laravel funzioni in modo ottimale.
  • Funzionalità aggiuntive. Alcuni fornitori di web hosting hanno funzionalità che aiutano a semplificare il processo di distribuzione dell’applicazione, come un pannello di controllo e un installatore con un solo clic.

Le soluzioni VPS di Hostinger sono compatibili con varie distribuzioni Linux, software e framework, incluso Laravel.

Inoltre, gli utenti di Hostinger possono configurare il loro server con un solo clic tramite hPanel utilizzando il template del sistema operativo. Viene preconfezionato con vari software e le relative dipendenze per semplificare il processo di implementazione. 

Il pulsante del terminale browser nel menu di panoramica VPS di hPanel

Inoltre, tutti i nostri piani VPS offrono accesso root completo per evitare problemi legati ai permessi. Gli utenti possono anche utilizzare il nostro terminale del browser integrato per connettersi al loro server remoto. È più conveniente di un client SSH poiché puoi eseguire comandi Linux direttamente dal tuo browser web.

A partire da 5,49€/mese, la nostra soluzione VPS offre fino a 400 GB di spazio di archiviazione NVMe, 8 TB di larghezza di banda, 32 GB di RAM e 8 core vCPU, adatta per progetti aziendali su larga scala. Tutti i nostri piani includono anche una garanzia di rimborso di 30 giorni.

Come distribuire Laravel su Hostinger

Per gli utenti di Hostinger, il modo più semplice per implementare un progetto Laravel in un VPS è utilizzare un template di sistema operativo. Questo metodo è accessibile tramite il browser web, quindi è ideale per i principianti non familiari con l’interfaccia a riga di comando.

Important!Esegui il backup del tuo VPS prima di installare un template di sistema operativo poiché cancellerà definitivamente tutti i dati del tuo server.

Ecco i passaggi per installare Laravel sul VPS di Hostinger utilizzando un template:

  1. Accedi a hPanel e fai clic su VPS nel menu in alto.
  2. Seleziona il piano di hosting VPS su cui desideri installare Laravel.
  3. Dalla barra laterale, fai clic su Impostazioni SO & PannelloSistema operativo.
  4. Nella sezione Modifica il tuo sistema operativo clicca Applicazioni.
  5. Seleziona Ubuntu 22.04 con Laravel dal menu a discesa. Fai clic su Cambia SO per confermare.
Menu di selezione del modello del sistema operativo su hPanel
  1. Ti verrà mostrata una finestra di conferma sulla cancellazione dei dati. Seleziona la casella dopo aver letto l’avviso e fai clic su Conferma.
  2. Inserisci una nuova password per il pannello di controllo dell’hosting. Clicca Conferma per procedere.

Ecco fatto! Dopo che il processo di installazione è completo, fai clic sull’URL di accesso sotto accesso a Strapi, e dovresti vedere la schermata di benvenuto di Laravel. Il template configurerà anche automaticamente CloudPanel per la distribuzione di un’applicazione.

Per farlo, fai clic sull’URL di accesso a CloudPanel e accedi come amministratore. Fai clic sul tuo dominio VPSGestore fileAggiungi nuovoCarica file. Seleziona i file del tuo progetto e fai clic su Apri.

Poiché la distribuzione tramite il pannello di controllo può essere inaffidabile, raccomandiamo l’utilizzo di altri metodi come Git. Ne discuteremo più avanti nella sezione seguente.

Nota che non puoi scegliere un software diverso quando installi Laravel utilizzando il template VPS. Se preferisci un altro sistema operativo o il tuo progetto richiede software aggiuntivo, prendi in considerazione il metodo manuale.

Come implementare manualmente un progetto Laravel

In questa sezione, spiegheremo i passaggi per la distribuzione manuale di Laravel su un hosting VPS che esegue Ubuntu 22.04. A seconda della distro e della versione di Linux, i comandi possono variare.

1. Prepara il server per Laravel

Inizia la distribuzione installando le dipendenze per preparare l’ambiente di hosting. Puoi utilizzare un’applicazione SSH come PuTTY, Terminal o il terminale del browser di Hostinger.

Accedi al tuo server utilizzando l’utente root . Sul VPS di Hostinger, accedi alle credenziali andando su hPanel VPS nel menu in alto. Quindi, vai al tuo piano VPS e vai a Panoramica → la scheda accesso SSH.

Credenziali di accesso VPS SSH su hPanel

Invece di root, consigliamo di creare un nuovo account con privilegi di superutente per evitare l’esecuzione accidentale di comandi distruttivi.!——-

I requisiti di Laravel includono un server web, database, database PHP e Composer. Avrai anche bisogno di altri software come Git per inviare i file dell’applicazione dal tuo computer locale alla macchina remota. Ecco i passaggi:

  1. Aggiorna il tuo repository del gestore di pacchetti APT utilizzando questo comando:
sudo apt update && sudo apt upgrade
  1. Installa il server web. In questa guida, utilizzeremo Apache:
sudo apt install -y apache2
  1. Esegui questo comando per configurare PHP e le sue estensioni:
sudo apt install -y php php-cli php-fpm php-mysql php-xml php-mbstring
  1. Configura un database. Installeremo MySQL utilizzando il seguente comando:
sudo apt install -y mysql-server
  1. Installa Composer per gestire le dipendenze di Laravel utilizzando questo comando:
sudo apt install -y composer
  1. Inserisci questo comando per configurare il sistema di controllo versione Git:
sudo apt install -y git

Se non vuoi configurare manualmente il server di produzione, acquista Laravel Forge. A partire da 11,99€/mese, questa piattaforma fornisce un’area centralizzata per l’installazione e la gestione di tutte le applicazioni necessarie per il tuo progetto.

2. Distribuisci l’applicazione

Crea un host virtuale per il tuo progetto Laravel configurando un file di configurazione del server web utilizzando l’editor di testo nano. Per Apache, esegui il seguente comando:

sudo nano /etc/apache2/sites-available/laravel.conf

All’interno del file, scrivi la seguente configurazione. Assicurati di sostituire i segnaposto della directory con il percorso effettivo e thedomain.com con l’indirizzo IP del tuo server:

<VirtualHost *:80>

   ServerName thedomain.it

ServerAdmin webmaster@thedomain.com

   DocumentRoot /var/www/html/test-laravel/public

   <Directory /var/www/html/test-laravel/public>

      AllowOverride All

   </Directory>

   ErrorLog ${APACHE_LOG_DIR}/error.log

   CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

Important! Il contenuto del file di configurazione apparirà diverso se utilizzi un altro server web come NGINX.

Distribuisci il codice del progetto dell’applicazione Laravel dal tuo repository Git eseguendo questi comandi in serie. Sostituisci l’URL con il link effettivo:

cd /var/www/html
sudo git clone https://github.com/your_username/test-laravel.git

Per implementare i file del progetto, puoi utilizzare metodi come l’utilità rsync o un’applicazione di protocollo di trasferimento file sicuro (SFTP). Tuttavia, consigliamo il controllo delle versioni nel deployment di Laravel per comodità e sicurezza.

Passa al percorso della directory del tuo progetto ed esegui composer install per configurare le dipendenze:

cd test-laravel
sudo composer install

Se il Terminal restituisce messaggi di errore, prova a eseguire il comando composer update. Inoltre, aggiungi l’opzione –ignore-platform-req=ext-curl per vedere se il problema si risolve.

3. Configura il file .env

Quando crei un’applicazione Laravel, Composer genererà un template di file .env.example . Conserva configurazioni specifiche per l’ambiente, determinando varie variabili per le tue applicazioni, come le informazioni del database.

Per configurare un file .env per il tuo progetto Laravel, copia il template qui sotto e aprilo utilizzando nano:

sudo cp .env.example .env
sudo nano .env

La configurazione di questo file utilizza la sintassi CHIAVE=VALORE . Ad esempio, la seguente voce determina la password dell’utente del database Laravel:

DB_PASSWORD=la_tua_password

Per cambiare la configurazione, elimina il valore e sostituiscilo con uno nuovo. Premi Ctrl + X, Y, e Enter per salvare le modifiche.

Contenuto del file env di Laravel su nano

Per impostazione predefinita, Laravel imposterà DB_USERNAME come root e lascerà vuoto DB_PASSWORD. Tuttavia, potrebbe causare un errore quando si esegue PHP artisan, l’utilità della riga di comando del framework, per la migrazione del database.

Per risolverlo, cambia la password di root predefinita e aggiorna il valore di DB_PASSWORD di conseguenza. Inoltre, consigliamo di creare un database non predefinito e utenti specifici per il tuo progetto attuale per una gestione più semplice.

4. Esegui l’applicazione

Per avviare la tua applicazione Laravel, rendi la cartella del progetto eseguibile modificando i permessi e la proprietà:

sudo chown -R www-data /var/www/html/test-laravel
sudo chmod -R 755 /var/www/html/test-laravel/storage

Esegui PHP artisan per generare la chiave dell’applicazione e avviare la migrazione del database. Ecco i comandi:

sudo php artisan key:generate
sudo php artisan migrate

Ogni volta che modifichi lo schema del database, aggiorna i file di migrazione per mantenere una configurazione coerente per la tua app.

Disabilita il file di configurazione predefinito dell’host virtuale su Apache utilizzando il seguente comando:

sudo a2dissite 000-default.conf

Abilita il nuovo host virtuale e il modulo di riscrittura utilizzando questi comandi:

sudo a2ensite laravel.conf
sudo a2enmod rewrite

Riavvia Apache utilizzando il comando systemctl :

sudo systemctl restart apache2

Una volta completato il processo di distribuzione, inserisci l’indirizzo IP del tuo VPS o il nome del dominio in un browser web per controllare se l’applicazione funziona correttamente. Se i file sono vuoti, dovresti vedere la pagina di benvenuto di Laravel.

Pagina di benvenuto Laravel

Consigli e trucchi per la distribuzione di Laravel

In questa sezione, discuteremo diverse migliori pratiche per la distribuzione di Laravel per aiutarti a semplificare il processo.

Utilizza la configurazione della cache in Laravel

Il framework Laravel ti permette di memorizzare dati frequentemente accessibili come cache. Riduce il tempo necessario per recuperare le informazioni e scarica le query del database, migliorando le prestazioni della tua applicazione web.

Fornisce anche vari backend di caching e driver. Gli utenti possono scegliere quello che meglio si adatta alle loro esigenze e configurarlo facilmente attraverso la chiave CACHE_DRIVER del file .env.

Impostazioni di configurazione dei driver nel file env Laravel

Se non specifichi il driver della cache, Laravel utilizzerà file come predefinito. In alternativa, puoi impostarlo su array, database, redis o memcached.

Per abilitare la cache, aggiungi il metodo alla codebase della tua applicazione. Ad esempio, scrivi Cache::put() per memorizzare dati per una durata specificata:

Cache::put(‘key’, ‘value’, $minutes);

Nel frattempo, utilizza il metodo Cache:rememberForever() per memorizzare la cache a tempo indeterminato:

Cache::rememberForever( ‘key’, function);

Questo framework fornisce molti metodi di caching per diversi scopi, come il recupero, la rimozione o l’incremento dei dati memorizzati.

Per gestire la cache, puoi eseguire i comandi PHP artisan nella directory di lavoro del tuo progetto. Ad esempio, inserisci il seguente per rimuovere i dati memorizzati:

php artisan cache:clear

Utilizza strumenti di distribuzione automatica Laravel

L’automazione della distribuzione di Laravel aiuta a risparmiare tempo e fatica, poiché senza di essa, il processo comporta molti passaggi. Ci sono vari strumenti e piattaforme per questo compito.

Puoi utilizzare servizi di integrazione continua/distribuzione continua (CI/CD) come GitHub Actions o software come Jenkins. Ti permettono di automatizzare un pipeline di distribuzione personalizzato di Laravel.

Per impostare l’automazione in GitHub Actions, crea un file .yml nella directory del tuo progetto. Definisci il flusso di lavoro e il suo evento di attivazione, come ad esempio l’invio delle modifiche al ramo principale. Quindi, scrivi le attività, i passaggi e le variabili di ambiente.

Ad esempio, puoi fare in modo che ogni volta che un utente invia nuove modifiche al codice nel ramo principale, il file .yml eseguirà automaticamente il comando PHP artisan per generare la chiave dell’applicazione e riavviare il tuo server web.

Utilizza l’AI Assistant di Hostinger VPS per un implementazione più semplice

Hostinger fornisce un VPS AI Assistant gratuito che aiuta a migliorare l’efficienza della tua distribuzione. Puoi imparare come implementare un progetto Laravel su Hostinger e generare rapidamente istruzioni e comandi per qualsiasi compito utilizzando prompt AI per la gestione di VPS.

Ad esempio, dì all’AI Assistant, “Voglio distribuire un’applicazione Laravel sul mio server Ubuntu utilizzando Git. Spiega i passaggi e genera i comandi per questo compito.” Ti fornirà una risposta completa, e puoi seguire la guida e copiare-incollare i comandi generati.

VPS AI Assistant di Hostinger spiega i passaggi e i comandi per la distribuzione di Laravel

Puoi anche utilizzare l’AI Assistant per facilitare la risoluzione dei problemi durante il processo di distribuzione di Laravel. Ad esempio, “Sto implementando un’applicazione Laravel su un server Ubuntu. Tuttavia, ho riscontrato un errore durante l’esecuzione del comando PHP artisan per migrare il database. Spiega le possibili cause e soluzioni.”

Per accedere a questa funzione, apri la tua pagina di configurazione VPS in hPanel e seleziona il AI Assistant dalla barra laterale.

Important!Come con qualsiasi strumento di intelligenza artificiale, ti consigliamo di testare sempre i passaggi e i comandi generati in un ambiente di sviluppo prima, per evitare incidenti che potrebbero danneggiare il tuo server live.

Utilizza una corretta gestione delle dipendenze

Composer permette agli sviluppatori di definire le dipendenze della loro app nel file composer.json. Oltre a semplificare il processo di installazione, migliora anche la stabilità dell’ambiente e l’efficienza del controllo delle versioni.

Esegui il comando composer update per recuperare tutte le patch di dipendenza specificate nel file. Tuttavia, assicurati di rivedere le nuove versioni prima di farlo per evitare problemi di incompatibilità o aggiornamenti distruttivi.

Per accedere al file, vai alla directory root del tuo progetto Laravel. Di solito, si trova all’interno del percorso var/www/html/test-laravel .

Contenuto del file di configurazione JSON del compositore su nano

Il file composer.json si applica solo a un ambiente specifico. Per garantire una struttura di progetto pulita ed efficiente, mantieni una documentazione dettagliata della configurazione delle dipendenze di ogni applicazione o componente.

Aggiornare regolarmente le dipendenze del progetto garantisce di ricevere le ultime patch di sicurezza e correzioni di bug. Aiuta anche a evitare problemi di incompatibilità e conflitti di versione che potrebbero danneggiare la funzionalità della tua applicazione.

Ottimizza le prestazioni di Laravel

L’ottimizzazione delle prestazioni di Laravel aiuta a migliorare la reattività e lo sviluppo dell’applicazione. Se gestisci servizi rivolti ai consumatori, può anche aiutare a migliorare l’esperienza utente e la percezione del brand.

Ci sono diversi metodi per ottimizzare le prestazioni di Laravel in un VPS Ubuntu. Ecco alcuni di loro:

  1. Abilita la cache. Laravel fornisce backend di caching e dispositivi per memorizzare dati frequentemente richiesti in memoria temporanea. Aiuta a ridurre il carico del server e le query al database.
  2. Imposta una rete di distribuzione dei contenuti (CDN). Una CDN memorizza nella cache contenuti statici in diversi server in tutto il mondo. Aiuta a garantire che la tua applicazione web funzioni in modo ottimale, indipendentemente dalla posizione del visitatore.
  3. Utilizza queue worker. I queue worker sono processi in background che gestiscono compiti che richiedono molte risorse. Aiutano a scaricare questi processi dal flusso principale dell’applicazione per migliorare le prestazioni.
  4. Applica il caricamento anticipato. Il caricamento anticipato recupera i dati relativi a quello richiesto in una singola query. Aiuta a ridurre il carico poiché il database non ha bisogno di inviare le informazioni individualmente.

Inoltre, monitora sempre le prestazioni della tua applicazione web per assicurarti che funzioni in modo ottimale. Farlo ti permette di individuare rapidamente potenziali problemi che influiscono sull’uptime o sull’usabilità. Hostinger offre una funzione integrata di monitoraggio delle risorse del server accessibile tramite hPanel.

Monitoraggio delle risorse VPS di Hostinger su hPanel

Conclusioni

Laravel è un framework di applicazioni web PHP open-source che aiuta a migliorare l’efficienza dello sviluppo. Per implementarlo sul VPS di Hostinger, vai al menu sistema operativo su hPanel e installa il template Ubuntu 22.04 con Laravel. Quindi, carica il tuo progetto tramite il gestore file di CloudPanel.

In alternativa, gli utenti che cercano maggiore flessibilità possono implementare Laravel manualmente utilizzando i comandi. Ecco i passaggi:

  1. Prepara il nuovo server. Installa Composer, server web Apache, PHP e altri software sull’ambiente di produzione. In alternativa, utilizza Laravel Forge per gestirli su una singola piattaforma.
  2. Distribuisci l’applicazione. Imposta un host virtuale creando un file di configurazione Apache. Invia il codice della tua app da un repository Git al server live.
  3. Configura il file .env. Copia il template  .env.example nella cartella della tua applicazione e modifica la coppia chiave-valore del file  .env  per modificare le sue impostazioni.
  4. Esegui l’applicazione Laravel. Cambia le autorizzazioni e la proprietà della cartella del progetto. Esegui i comandi composer install e PHP artisan, poi disabilita l’host virtuale predefinito di Apache.

Per migliorare l’efficienza del deployment dell’applicazione Laravel, utilizza il VPS AI Assistant di Hostinger, gli strumenti di automazione e il gestore delle dipendenze Composer. Inoltre, configura una CDN, abilita la cache e ottimizza le query del database per migliorare le prestazioni della tua applicazione.

FAQ su come distribuire Laravel

In questa sezione, risponderemo a diverse domande frequenti sulla distribuzione di un progetto Laravel.

Di cosa ho bisogno per implementare un progetto Laravel?

Per implementare le applicazioni Laravel, hai bisogno di un server che esegua un sistema operativo compatibile come Ubuntu. Hai bisogno anche di diverse dipendenze, come un server web, PHP, estensioni PHP, Composer, Git e un database.

È anche possibile utilizzare NGINX o Apache. Nel frattempo, i database popolari per Laravel includono MySQL e MongoDB.

Posso implementare più applicazioni Laravel sullo stesso server?

Sì, è possibile distribuire più applicazioni in un server Laravel con una directory dedicata, dipendenze e ambienti di configurazione.

Per farlo, crea cartelle separate per le applicazioni Laravel all’interno del percorso /var/www/html . Imposta host virtuali dedicati per ogni progetto e copia il file .env in ogni directory.

Posso espandere la mia applicazione Laravel?

Sì. Puoi applicare metodi di espandibilità comuni come la configurazione load balancer, l’aggiornamento delle risorse del server e l’installazione di meccanismi di caching come Redis o Memcached.

Inoltre, questo framework ha un sistema queue integrato che scarica le attività che richiedono molte risorse dal flusso principale. Aiuta a migliorare le prestazioni per il ridimensionamento delle applicazioni Laravel.

Author
L'autore

Michela Z.

Michela si focalizza sul condividere le sue conoscenze di hosting e marketing digitale e sull'aiutare le aziende ad avere successo online, con un particolare interesse per la creazione di siti web e di e-commerce. Nel suo tempo libero le piace sedersi davanti un buon libro e ascoltare musica.