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.
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.
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.
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.
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.
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.
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).
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.
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.
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.
Dopo l'installazione della vostra applicazione Laravel, diversi comandi della console Artisan facilitano l'esercizio e la manutenzione del progetto.
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.
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.
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.
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.
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.
Ponila al team LWS e alla community. La risposta viene pubblicata dopo la moderazione.