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"


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".

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

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


Installazione dell'applicazione memcached


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