Săriți la conținutul principal

Cum se instalează un site bazat pe Laravel

Instalarea se realizează folosind composer. Domeniul folosit ca exemplu este example.com, iar utilizatorul site-ului este user.

Pregătire​

Instalarea Composer​

Instalați composer în FASTPANEL® în secțiunea "Applications"

Meniul de gestionare a aplicațiilor în FASTPANEL

Instalarea composer în FASTPANEL

Crearea unui site web​

Creați un site web în FASTPANEL® și specificați subdirectorul public în setările site-ului, în secțiunea "Site Directory".

Specificarea subdirectorului public

Crearea unui proiect​

Pentru a crea un proiect, trebuie să vă conectați la server prin SSH folosind datele proprietarului site-ului. Proprietarul site-ului este afișat în fișa site-ului din FASTPANEL

Verificarea proprietarului site-ului în FASTPANEL

După ce conexiunea SSH este stabilită, trebuie să goliți directorul site-ului folosind următorul exemplu de comandă (în loc de example.com specificați numele site-ului dvs.)

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

Apoi mergeți în directorul site-ului

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

Și creați un proiect

composer create-project laravel/laravel ./
Exemplu de rezultat în cazul unei instalări corecte
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.

Instalarea unei versiuni specifice de Laravel​

Pentru a instala o versiune specifică, la crearea unui proiect, trebuie să specificați versiunea la sfârșitul comenzii, între ghilimele

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

Conectarea la baza de date​

  • Pentru Artisan, specificați datele de conectare la baza de date în fișierul .env din directorul site-ului
  • Pentru site, specificați datele de conectare la baza de date în fișierul ./config/database.php

Pentru a edita fișierul .env, puteți folosi un editor de text numit nano prin SSH:

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

Pentru a edita fișierul ./config/database.php prin SSH:

nano ./config/database.php
Exemplu de ./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'),
]) : [],
],

În editorul nano, Ctrl+O este folosit pentru a salva modificările, iar Ctrl+X este folosit pentru a ieși din editor.

Conectarea la Memcached (opțional)​

Trebuie să instalați modulul PHP memcached pentru versiunea PHP utilizată pe site, precum și să instalați aplicația.

Instalarea modulului PHP memcached​

Meniul de gestionare PHP în FASTPANEL

Instalarea modulului PHP memcached în FASTPANEL

Instalarea aplicației memcached​

Meniul de gestionare a aplicațiilor în FASTPANEL

Instalarea aplicației memcached în FASTPANEL

Editarea unui fișier de configurare​

Specificați datele de conectare la memcached în fișierul ./config/cache.php

Exemplu de ./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,
],
],
],

Utilizarea Artisan pe o versiune non-sistem de PHP​

Pentru a utiliza artisan pe o versiune non-sistem de PHP, trebuie să specificați calea completă către fișierul executabil. Exemplu de utilizare a unei versiuni alternative PHP 8.2:

/opt/php82/bin/php artisan list

Comenzi Artisan de bază​

Comenzile trebuie executate în directorul rădăcină al proiectului dvs. (example.com în acest exemplu)

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

Pentru a vedea o listă cu toate comenzile Artisan disponibile, puteți folosi comanda

php artisan list

Porniți un server local de dezvoltare Laravel. Puteți specifica cheile --host și --port

php artisan serve

Porniți migrarea

php artisan migrate

Activarea modului de mentenanță pe site, cheia --redirect=/ pentru a specifica pagina pentru modul de mentenanță

php artisan down

Dezactivarea modului de mentenanță pe site

php artisan up