Помощь

Установка Laravel в Fastpanel

Laravel — один из самых популярных PHP-фреймворков. В этой инструкции разберём, как развернуть новый проект на Laravel на сервере с Fastpanel: подготовим панель, создадим сайт, установим фреймворк через Composer, подключим базу данных и, при необходимости, Memcached.

В примерах используются домен example.com и владелец сайта user — замените их на свои значения.

Подготовка сервера

Установка Composer

Laravel устанавливается через менеджер зависимостей Composer. Если он ещё не установлен:

  1. Войдите в Fastpanel, откройте боковое меню и выберите «Настройки» (Settings) → «Приложения» (Applications).

Раздел «Приложения» в меню Fastpanel

  1. Найдите в списке Composer и нажмите значок установки справа.
  2. Дождитесь, пока статус приложения сменится на «Установлено».

Установка Composer в Fastpanel

Создание сайта

  1. Создайте сайт для домена обычным способом — подробно процесс описан в статье «Размещение веб-сайта в Fastpanel».
  2. Откройте карточку сайта, перейдите в «Настройки» (Settings) и выберите пункт «Директория сайта» (Site directory).
  3. В поле «Поддиректория» (Subdirectory) укажите public и нажмите «Сохранить».

Указание подкаталога public в настройках сайта

Это важный шаг: в Laravel наружу должна «смотреть» только папка public. Остальные файлы проекта — конфигурация, .env с паролями, исходный код — останутся недоступны из браузера.

Также проверьте, какая версия PHP выбрана для сайта. Актуальные версии Laravel требуют PHP 8.2 и выше — сменить версию можно в настройках сайта, в разделе PHP.

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

Все команды выполняются по SSH от имени владельца сайта — не от root. Имя владельца указано в карточке сайта в Fastpanel. Если вы подключаетесь впервые, воспользуйтесь инструкцией «Доступ через FTP и SFTP» — для SSH используются те же учётные данные.

Владелец сайта в карточке Fastpanel

  1. Перейдите в каталог сайта:
    cd /var/www/user/data/www/example.com
  2. Composer разворачивает проект только в пустую папку. Посмотрите, что в ней лежит, включая скрытые файлы:
    ls -la
    Если там есть стандартная заглушка панели или другие ненужные файлы, удалите их. Внимательно проверьте путь — команда удаляет содержимое каталога без возможности восстановления:
    cd /var/www/user/data/www/example.com && rm -rf ./*
  3. Создайте проект в текущей папке (точка в конце команды означает «сюда»):
    composer create-project laravel/laravel .

Установка занимает от одной до нескольких минут. Когда в конце появится сообщение о сгенерированном ключе приложения (Application key set successfully), проект готов — откройте домен в браузере, должна загрузиться стартовая страница Laravel.

Установка определённой версии Laravel

Если проекту нужна конкретная версия фреймворка, укажите её в кавычках после пути:

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

Учтите, что у каждой версии Laravel свои требования к PHP: старые релизы могут не запуститься на свежем PHP, и наоборот.

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

  1. Создайте базу данных и пользователя в карточке сайта, в разделе «Базы данных». Запишите имя базы, логин и пароль.
  2. Откройте файл окружения .env в корне проекта, например, в редакторе nano:
    nano .env
  3. Найдите блок с параметрами DB_ и впишите свои данные. Если строки закомментированы символом #, уберите его:
    DB_CONNECTION=mysql
    DB_HOST=127.0.0.1
    DB_PORT=3306
    DB_DATABASE=имя_базы
    DB_USERNAME=пользователь_базы
    DB_PASSWORD=пароль_пользователя
  4. Сохраните файл сочетанием Ctrl+O и Enter, выйдите из редактора — Ctrl+X.
  5. Создайте таблицы в базе, выполнив миграции:
    php artisan migrate

Править файл config/database.php обычно не нужно: он читает значения из .env. Хранить пароли прямо в файлах конфигурации не рекомендуем — .env не попадает в репозиторий и не отдаётся веб-сервером.

Если после изменения .env приложение продолжает использовать старые параметры, сбросьте кэш конфигурации:

php artisan config:clear

Подключение Memcached (по желанию)

Memcached хранит кэш в оперативной памяти и помогает ускорить работу нагруженного приложения. Для его использования нужны две вещи: сам сервис Memcached и PHP-расширение для той версии PHP, на которой работает сайт.

Установка PHP-расширения

  1. В боковом меню Fastpanel откройте «Управление» (Management) → «PHP».

Раздел PHP в меню Fastpanel

  1. На вкладке «Модули PHP» (PHP modules) выберите справа версию PHP, на которой работает сайт.
  2. Введите в поиск memcache и нажмите значок установки напротив модуля php-memcached.

Установка модуля php-memcached

Установка сервиса Memcached

  1. Перейдите в «Настройки» (Settings) → «Приложения» (Applications) — так же, как при установке Composer.
  2. Найдите в списке Memcached и нажмите значок установки.

Установка приложения Memcached

Настройка Laravel

Параметры подключения к Memcached описаны в файле config/cache.php, а значения для них также берутся из .env. Добавьте или измените в .env строки:

CACHE_STORE=memcached
MEMCACHED_HOST=127.0.0.1
MEMCACHED_PORT=11211

В Laravel 10 и более ранних версиях вместо CACHE_STORE используется переменная CACHE_DRIVER. После изменений выполните php artisan config:clear.

Запуск Artisan на другой версии PHP

Команда php в консоли вызывает системную версию PHP, которая может отличаться от выбранной для сайта. Из-за этого Artisan или Composer иногда сообщают о несовместимой версии. В таком случае укажите полный путь к нужному интерпретатору. Альтернативные версии PHP в Fastpanel расположены в каталогах вида /opt/phpXX. Например, для PHP 8.3:

/opt/php83/bin/php artisan list

Composer можно запустить так же:

/opt/php83/bin/php $(which composer) install

Полезные команды Artisan

Команды запускаются из корневой папки проекта:

cd /var/www/user/data/www/example.com
  • Список всех доступных команд:
    php artisan list
  • Выполнение миграций базы данных:
    php artisan migrate
  • Кэширование конфигурации, маршрутов и шаблонов для рабочего сайта:
    php artisan optimize
  • Сброс всех кэшей приложения:
    php artisan optimize:clear
  • Перевод сайта в режим обслуживания (посетители увидят страницу о технических работах):
    php artisan down
    Параметр --redirect=/адрес позволяет перенаправлять посетителей на указанную страницу.
  • Выход из режима обслуживания:
    php artisan up

Команда php artisan serve запускает встроенный сервер для локальной разработки — на сервере с Fastpanel она не нужна, сайт обслуживается веб-сервером панели.

Если в процессе установки что-то пошло не так, создайте тикет в личном кабинете — специалисты поддержки помогут разобраться.

Остались вопросы - пишите