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