Установка Laravel в Fastpanel
Laravel — один из самых популярных PHP-фреймворков. В этой инструкции разберём, как развернуть новый проект на Laravel на сервере с Fastpanel: подготовим панель, создадим сайт, установим фреймворк через Composer, подключим базу данных и, при необходимости, Memcached.
В примерах используются домен example.com и владелец сайта user — замените их на свои значения.
Подготовка сервера
Установка Composer
Laravel устанавливается через менеджер зависимостей Composer. Если он ещё не установлен:
- Войдите в Fastpanel, откройте боковое меню и выберите «Настройки» (Settings) → «Приложения» (Applications).

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

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

Это важный шаг: в Laravel наружу должна «смотреть» только папка public. Остальные файлы проекта — конфигурация, .env с паролями, исходный код — останутся недоступны из браузера.
Также проверьте, какая версия PHP выбрана для сайта. Актуальные версии Laravel требуют PHP 8.2 и выше — сменить версию можно в настройках сайта, в разделе PHP.
Создание проекта
Все команды выполняются по SSH от имени владельца сайта — не от root. Имя владельца указано в карточке сайта в Fastpanel. Если вы подключаетесь впервые, воспользуйтесь инструкцией «Доступ через FTP и SFTP» — для SSH используются те же учётные данные.

- Перейдите в каталог сайта:
cd /var/www/user/data/www/example.com - Composer разворачивает проект только в пустую папку. Посмотрите, что в ней лежит, включая скрытые файлы:
Если там есть стандартная заглушка панели или другие ненужные файлы, удалите их. Внимательно проверьте путь — команда удаляет содержимое каталога без возможности восстановления:ls -lacd /var/www/user/data/www/example.com && rm -rf ./* - Создайте проект в текущей папке (точка в конце команды означает «сюда»):
composer create-project laravel/laravel .
Установка занимает от одной до нескольких минут. Когда в конце появится сообщение о сгенерированном ключе приложения (Application key set successfully), проект готов — откройте домен в браузере, должна загрузиться стартовая страница Laravel.
Установка определённой версии Laravel
Если проекту нужна конкретная версия фреймворка, укажите её в кавычках после пути:
composer create-project laravel/laravel . "10.*"
Учтите, что у каждой версии Laravel свои требования к PHP: старые релизы могут не запуститься на свежем PHP, и наоборот.
Подключение базы данных
- Создайте базу данных и пользователя в карточке сайта, в разделе «Базы данных». Запишите имя базы, логин и пароль.
- Откройте файл окружения
.envв корне проекта, например, в редакторе nano:nano .env - Найдите блок с параметрами
DB_и впишите свои данные. Если строки закомментированы символом#, уберите его:DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=имя_базы DB_USERNAME=пользователь_базы DB_PASSWORD=пароль_пользователя - Сохраните файл сочетанием Ctrl+O и Enter, выйдите из редактора — Ctrl+X.
- Создайте таблицы в базе, выполнив миграции:
php artisan migrate
Править файл config/database.php обычно не нужно: он читает значения из .env. Хранить пароли прямо в файлах конфигурации не рекомендуем — .env не попадает в репозиторий и не отдаётся веб-сервером.
Если после изменения .env приложение продолжает использовать старые параметры, сбросьте кэш конфигурации:
php artisan config:clear
Подключение Memcached (по желанию)
Memcached хранит кэш в оперативной памяти и помогает ускорить работу нагруженного приложения. Для его использования нужны две вещи: сам сервис Memcached и PHP-расширение для той версии PHP, на которой работает сайт.
Установка PHP-расширения
- В боковом меню Fastpanel откройте «Управление» (Management) → «PHP».

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

Установка сервиса Memcached
- Перейдите в «Настройки» (Settings) → «Приложения» (Applications) — так же, как при установке Composer.
- Найдите в списке 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 она не нужна, сайт обслуживается веб-сервером панели.
Если в процессе установки что-то пошло не так, создайте тикет в личном кабинете — специалисты поддержки помогут разобраться.