Прескачане към основното съдържание

Как да инсталирате сайт, базиран на Laravel

Инсталирането се извършва с помощта на composer. Домейнът, използван като пример, е example.com, а потребителят на сайта е user.

Подготовка

Инсталиране на Composer

Инсталирайте composer в FASTPANEL® в секцията "Приложения"

Меню за управление на приложения в FASTPANEL

Инсталиране на composer в FASTPANEL

Създаване на уебсайт

Създайте уебсайт в FASTPANEL® и задайте поддиректорията public в настройките на сайта в секцията "Директория на сайта".

Задаване на поддиректорията 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