Vai al contenuto principale

Come installare un sito basato su Laravel

L'installazione viene eseguita utilizzando composer. Il dominio utilizzato come esempio è example.com e l'utente del sito è user.

Preparazione

Installazione di Composer

Installa composer in FASTPANEL® nella sezione "Applicazioni"

Menu di gestione delle applicazioni in FASTPANEL

Installazione di composer in FASTPANEL

Creazione di un sito web

Crea un sito web in FASTPANEL® e specifica la sottodirectory public nelle impostazioni del sito nella sezione "Directory del sito".

Specifica della sottodirectory public

Creazione di un progetto

Per creare un progetto, è necessario connettersi al server tramite SSH utilizzando i dati del proprietario del sito. Il proprietario del sito è mostrato nella scheda del sito in FASTPANEL

Verifica del proprietario del sito in FASTPANEL

Dopo aver stabilito la connessione SSH, è necessario svuotare la directory del sito utilizzando il seguente esempio di comando (al posto di example.com specifica il nome del tuo sito)

rm -rf /var/www/user/data/www/example.com/*

Quindi vai alla directory del sito

cd /var/www/user/data/www/example.com

E crea un progetto

composer create-project laravel/laravel ./
Esempio di output in caso di installazione corretta
73 package suggestions were added by new dependencies, use `composer suggest` to see details.
Package fruitcake/laravel-cors is abandoned, you should avoid using it. No replacement was suggested.
Package swiftmailer/swiftmailer is abandoned, you should avoid using it. Use symfony/mailer instead.
Generating optimized autoload files
> Illuminate\Foundation\ComposerScripts::postAutoloadDump
> @php artisan package:discover --ansi
Discovered Package: facade/ignition
Discovered Package: fruitcake/laravel-cors
Discovered Package: laravel/sail
Discovered Package: laravel/sanctum
Discovered Package: laravel/tinker
Discovered Package: nesbot/carbon
Discovered Package: nunomaduro/collision
Package manifest generated successfully.
76 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
> @php artisan vendor:publish --tag=laravel-assets --ansi --force
No publishable resources for tag [laravel-assets].
Publishing complete.
No security vulnerability advisories found
> @php artisan key:generate --ansi
Application key set successfully.

Installazione di una versione specifica di Laravel

Per installare una versione specifica, durante la creazione di un progetto, devi specificare la versione alla fine del comando tra virgolette

composer create-project laravel/laravel ./ "5.8.*"

Connessione al database

  • Per artisan specifica i dati di connessione al database nel file.env nella directory del sito
  • Per il sito, specifica i dati di connessione al database nel file ./config/database.php

Per modificare il file .env puoi usare un editor di testo chiamato nano tramite SSH:

nano .env
Esempio di .env
DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=site_db
DB_USERNAME=db_user
DB_PASSWORD=0j9vd3qATwTsXW7C

Per modificare il file ./config/database.php tramite SSH:

nano ./config/database.php
Esempio di ./config/database.php
    'mysql' => [
'driver' => 'mysql',
'url' => env('DATABASE_URL'),
'host' => env('DB_HOST', 'localhost'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'site_db'),
'username' => env('DB_USERNAME', 'db_user'),
'password' => env('DB_PASSWORD', '0j9vd3qATwTsXW7C'),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'prefix_indexes' => true,
'strict' => true,
'engine' => null,
'options' => extension_loaded('pdo_mysql') ? array_filter([
PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
]) : [],
],

Nell'editor nano, Ctrl+O viene utilizzato per salvare le modifiche, Ctrl+X viene utilizzato per uscire dall'editor.

Connessione Memcached (opzionale)

Devi installare il modulo PHP memcached per la versione di PHP utilizzata sul sito, nonché installare l'applicazione.

Installazione del modulo PHP memcached

Menu di gestione PHP in FASTPANEL

Installazione del modulo PHP memcached in FASTPANEL

Installazione dell'applicazione memcached

Menu di gestione delle applicazioni in FASTPANEL

Installazione dell'applicazione memcached in FASTPANEL

Modifica di un file di configurazione

Specifica i dati di connessione a memcached nel file ./config/cache.php

Esempio di ./config/cache.php
'memcached' => [
'driver' => 'memcached',
'persistent_id' => env('MEMCACHED_PERSISTENT_ID'),
'sasl' => [
env('MEMCACHED_USERNAME'),
env('MEMCACHED_PASSWORD'),
],
'options' => [
// Memcached::OPT_CONNECT_TIMEOUT => 2000,
],
'servers' => [
[
'host' => env('MEMCACHED_HOST', '127.0.0.1'),
'port' => env('MEMCACHED_PORT', 11211),
'weight' => 100,
],
],
],

Utilizzo di Artisan con una versione non di sistema di PHP

Per utilizzare artisan con una versione non di sistema di PHP, devi specificare il percorso completo del file eseguibile. Esempio di utilizzo di una versione PHP alternativa 8.2:

/opt/php82/bin/php artisan list

Comandi Artisan di base

I comandi devono essere eseguiti nella directory radice del tuo progetto (example.com in questo esempio)

cd /var/www/user/data/www/example.com

Per visualizzare un elenco di tutti i comandi Artisan disponibili, puoi utilizzare il comando

php artisan list

Avvia un server di sviluppo locale Laravel. Puoi specificare le chiavi --host e --port

php artisan serve

Avvia la migrazione

php artisan migrate

Attivazione della modalità di manutenzione sul sito, chiave --redirect=/ per specificare la pagina per la modalità di manutenzione

php artisan down

Disattivazione della modalità di manutenzione sul sito

php artisan up