Come distribuire un'applicazione Laravel con ISPConfig

Procédure

La distribuzione di un'applicazione Laravel su un VPS con ISPConfig si effettua configurando il proprio dominio, il sito web nel pannello di gestione, quindi installando il progetto da riga di comando con un account dedicato. Laravel è un framework web open source in PHP progettato per creare applicazioni web robuste e moderne grazie a un'architettura chiara ed elegante. Questa procedura completa vi guida passo dopo passo fino alla visualizzazione della pagina iniziale protetta in HTTPS, senza dover utilizzare i privilegi root del server.

Le fasi

  1. Creare la registrazione DNS per il vostro dominio o sottodominio

    Andate nella sezione di gestione del vostro dominio, aprite la scheda Zone DNS, quindi create una nuova voce. Scegliete il tipo A, inserite il sottodominio desiderato (ad esempio laravel per laravel.learnlws.fr), digitate l'indirizzo IP del vostro server VPS (es. 203.0.113.10), quindi cliccate su Aggiungi.

    Come distribuire un'applicazione Laravel con ISPConfig
  2. Accedere all'interfaccia ISPConfig dall'area clienti

    Dall'area clienti LWS del vostro VPS, individuate il riquadro Amministrazione del vostro server e cliccate sul pulsante Pannello di amministrazione per connettervi a ISPConfig.

    Come distribuire un'applicazione Laravel con ISPConfig
  3. Aggiungere il sito web con PHP-FPM e Let's Encrypt

    In ISPConfig, navigate nel menu Siti poi cliccate su Add new website. Inserite il vostro dominio completo (es. laravel.learnlws.fr), selezionate l'alias Auto-Subdomain se necessario, spuntate obbligatoriamente le caselle SSL e Let's Encrypt SSL, impostate il campo PHP su PHP-FPM, scegliete una versione recente di PHP, quindi cliccate su Save.

    Come distribuire un'applicazione Laravel con ISPConfig
  4. Creare un utente Shell per il progetto

    Nel menu di sinistra, andate nella sezione Command Line e cliccate su SSH/SFTP-User, poi su Add new SSH-User. Selezionate il vostro sito web, inserite il nome utente (che sarà preceduto da un prefisso automatico come defaultlaravelapp), indicate una password sicura, lasciate il parametro Chroot Shell su None per consentire l'esecuzione globale degli strumenti PHP, poi cliccate su Save.

    Come distribuire un'applicazione Laravel con ISPConfig
  5. Creare il database MySQL e il suo utente

    Nel menu di sinistra sotto Databases, iniziate aggiungendo un utente MySQL tramite Database Users assegnandogli una password robusta. Poi andate in Databases, cliccate su Add new Database, selezionate il vostro sito, nominate il database e collegate l'utente MySQL appena definito prima di confermare.

  6. Connettersi via SSH e distribuire il progetto con Composer

    Aprite il vostro terminale e connettetevi con il vostro utente shell: ssh defaultlaravelapp@203.0.113.10. Verificate che Composer (il gestore di dipendenze standard per PHP) sia disponibile tramite il comando composer -V ; se non è ancora presente, scaricatene l'eseguibile direttamente nel vostro account. Posizionatevi nella directory del vostro hosting e inizializzate il progetto con composer create-project laravel/laravel . (oppure clonate il vostro repository Git prima di eseguire composer install).

  7. Configurare il file .env, generare la chiave e migrare il database

    Modificate il file .env nella radice del vostro progetto Laravel con un editor come nano: definite APP_URL=https://laravel.learnlws.fr e completate i parametri MySQL (DB_HOST=203.0.113.10, DB_DATABASE, DB_USERNAME, DB_PASSWORD). Avviate quindi la generazione della chiave di cifratura con php artisan key:generate, poi eseguite le migrazioni con php artisan migrate per creare le tabelle.

  8. Regolare la cartella pubblica web e i permessi

    Laravel distribuisce il suo punto di ingresso dalla sottocartella public/. In ISPConfig, adattate la direttiva document root Apache del vostro sito web in modo da puntare a questa cartella public/ (oppure collegate la cartella web/ a public/), poi applicate i permessi di scrittura indispensabili sulle cartelle di cache e di log eseguendo chmod -R 775 storage bootstrap/cache.

  9. Verificare il funzionamento nel browser

    Aprite il vostro browser web e inserite l'indirizzo del vostro sito (ad esempio https://laravel.learnlws.fr). La pagina iniziale predefinita di Laravel viene visualizzata con il lucchetto di sicurezza SSL attivo, confermando il successo completo dell'installazione.

Comandi Artisan indispensabili dopo la distribuzione

Dopo l'installazione della vostra applicazione Laravel, diversi comandi della console Artisan facilitano l'esercizio e la manutenzione del progetto.

  • php artisan key:generate — genera la chiave di cifratura univoca indispensabile alla sicurezza dell'applicazione
  • php artisan migrate — applica gli schemi e crea l'insieme delle tabelle nel vostro database MySQL
  • php artisan config:cache — mette in cache i file di configurazione per accelerare le prestazioni in produzione
  • php artisan route:cache — ottimizza il caricamento delle rotte della vostra applicazione per le richieste dei visitatori

Domande frequenti

Perché scegliere l'opzione 'None' per il Chroot Shell dell'utente?

La modalità 'None' consente al vostro utente di eseguire i binari globali del sistema Debian (in particolare PHP CLI, Git e Composer). Un ambiente chroot classico limita gli accessi e bloccherebbe l'esecuzione normale dei comandi Artisan e Composer.

Perché la pagina iniziale mostra un errore 500 dopo la distribuzione?

Un errore HTTP 500 deriva generalmente da una chiave dell'applicazione assente nel file .env (eseguite php artisan key:generate) oppure da permessi insufficienti sulle cartelle storage e bootstrap/cache che devono essere accessibili in scrittura dal server web.

Come fare puntare ISPConfig direttamente alla sottocartella public di Laravel?

Potrete inserire una direttiva Apache personalizzata nelle opzioni del sito web su ISPConfig per ridefinire il DocumentRoot verso /var/www/votresite.com/web/public, oppure sostituire la cartella standard web con un collegamento simbolico che punti alla cartella public del vostro progetto.

È necessario accedere al server con l'account root?

No, l'insieme delle operazioni di gestione dei file, di installazione delle dipendenze Composer, di configurazione .env e dei comandi Artisan si esegue interamente con l'utente shell collegato al sito web creato in ISPConfig.

Il certificato SSL Let's Encrypt non si attiva in ISPConfig, cosa fare?

Assicuratevi che la registrazione DNS di tipo A punti correttamente all'indirizzo IP del vostro VPS e che la propagazione sia terminata. Let's Encrypt verifica l'accessibilità del dominio dall'esterno prima di convalidare ed emettere il certificato.

Link utili

help.lws.net/a/7955
Questo articolo ti è stato utile?

Sì

No

Letto 3 volte

Grazie! Non esitare a porre domande sulla nostra documentazione se desideri maggiori informazioni e aiutarci a migliorarla.

Articoli simili

Una domanda su questo articolo?

Ponila al team LWS e alla community. La risposta viene pubblicata dopo la moderazione.

Fate una domanda al team LWS e alla sua comunità

GDPR: Titolare: LWS-Ligne Web Services. Finalità: moderazione e pubblicazione della tua domanda, eventuale notifica di una risposta. Base giuridica: consenso (art. 6.1.a GDPR). Conservazione delle e-mail: 90 giorni dopo la notifica, massimo 12 mesi senza risposta. Per esercitare i tuoi diritti, consulta la sezione GDPR delle nostre condizioni generali.