Перайсці да асноўнага змесціва

Як усталяваць сайт на аснове Laravel

Усталяванне выконваецца з дапамогай composer. У якасці прыкладу выкарыстоўваецца дамен example.com, а карыстальнік сайта — user.

Падрыхтоўка

Усталяванне Composer

Усталюйце composer у FASTPANEL® у раздзеле "Applications"

Меню кіравання прыкладаннямі ў FASTPANEL

Усталяванне composer у FASTPANEL

Стварэнне вэб-сайта

Стварыце вэб-сайт у FASTPANEL® і ўкажыце падкаталог public у наладах сайта ў раздзеле "Site Directory".

Указанне падкаталога public

Стварэнне праекта

Каб стварыць праект, неабходна падключыцца да сервера праз SSH, выкарыстоўваючы даныя ўладальніка сайта. Уладальнік сайта паказваецца ў картцы сайта ў FASTPANEL

Праверка ўладальніка сайта ў FASTPANEL

Пасля ўсталявання SSH-злучэння трэба ачысціць каталог сайта, выкарыстоўваючы наступны прыклад каманды (замест example.com укажыце імя вашага сайта)

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

Затым перайдзіце ў каталог сайта

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

І стварыце праект

composer create-project laravel/laravel ./
Прыклад вываду ў выпадку правільнага ўсталявання
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.

Усталяванне пэўнай версіі Laravel

Каб усталяваць пэўную версію, пры стварэнні праекта неабходна ўказаць версію ў канцы каманды ў двукоссях

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

Падключэнне да базы даных

  • Для artisan укажыце даныя для падключэння да базы даных у файле.env у каталогу сайта
  • Для сайта ўкажыце даныя для падключэння да базы даных у файле ./config/database.php

Каб адрэдагаваць файл .env, вы можаце выкарыстоўваць тэкставы рэдактар nano праз SSH:

nano .env
Прыклад .env
DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=site_db
DB_USERNAME=db_user
DB_PASSWORD=0j9vd3qATwTsXW7C

Каб адрэдагаваць файл ./config/database.php праз SSH:

nano ./config/database.php
Прыклад ./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'),
]) : [],
],

У рэдактары nano для захавання змяненняў выкарыстоўваецца Ctrl+O, а для выхаду з рэдактара — Ctrl+X.

Падключэнне Memcached (неабавязкова)

Неабходна ўсталяваць модуль PHP memcached для версіі PHP, якая выкарыстоўваецца на сайце, а таксама ўсталяваць прыкладанне.

Усталяванне модуля PHP memcached

Меню кіравання PHP у FASTPANEL

Усталяванне модуля PHP memcached у FASTPANEL

Усталяванне прыкладання memcached

Меню кіравання прыкладаннямі ў FASTPANEL

Усталяванне прыклад�ання memcached у FASTPANEL

Рэдагаванне файла канфігурацыі

Укажыце даныя для падключэння да memcached у файле ./config/cache.php

Прыклад ./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,
],
],
],

Выкарыстанне Artisan з несістэмнай версіяй PHP

Каб выкарыстоўваць artisan з несістэмнай версіяй PHP, неабходна ўказаць поўны шлях да выканальнага файла. Прыклад выкарыстання альтэрнатыўнай версіі PHP 8.2:

/opt/php82/bin/php artisan list

Асноўныя каманды Artisan

Каманды трэба выконваць у каранёвым каталогу вашага праекта (у гэтым прыкладзе гэта example.com)

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

Каб паглядзець спіс усіх даступных каманд Artisan, можна выкарыстаць каманду

php artisan list

Запуск лакальнага сервера распрацоўкі Laravel. Вы можаце ўказаць ключы --host і --port

php artisan serve

Запуск міграцыі

php artisan migrate

Уключэнне рэжыму абслугоўвання на сайце, ключ --redirect=/ для ўказання старонкі рэжыму абслугоўвання

php artisan down

Выключэнне рэжыму абслугоўвання на сайце

php artisan up