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