Перейти к содержанию

Как установить сайт на базе Laravel

Установка выполняется с помощью composer. Домен, используемый в качестве примера, — example.com, а пользователь сайта — user.

Подготовка

Установка Composer

Установите composer в FASTPANEL® в разделе «Приложения»

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

Установка composer в FASTPANEL

Создание веб-сайта

Создайте веб-сайт в FASTPANEL® и укажите подкаталог public в настройках сайта в разделе «Каталог сайта».

Указание публичного подкаталога

Создание проекта

Для создания проекта необходимо подключиться к серверу по SSH, используя данные владельца сайта. Владелец сайта отображается на карточке сайта в FASTPANEL

Проверка владельца сайта в FASTPANEL

После установки SSH-подключения следует очистить каталог сайта с помощью следующей команды example (вместо 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