Установка и настройка Bagisto (Laravel)
Bagisto — мощная e-commerce платформа на Laravel, но её установка часто сопровождается ошибками из-за несоответствия версий PHP или конфигурации окружения. Мы разберём пошагово, как избежать типовых проблем и настроить магазин под ключ. Наша команда занимается настройкой Bagisto с 2020 года, успешно запустили 15+ проектов. Опыт в Laravel — 5+ лет. Гарантия на выполненные работы — 6 месяцев.
Перед началом установки убедитесь, что сервер соответствует минимальным требованиям. Bagisto работает на LEMP-стеке: Linux, Nginx, MySQL/MariaDB, PHP. Рассмотрим каждый этап детально. Мы предлагаем установку Bagisto под ключ — от выбора хостинга до финального тестирования. Вы получаете готовый интернет-магазин с настроенными каналами, методами оплаты и доставки, а также документацию по эксплуатации. Гарантируем, что магазин будет работать стабильно при ожидаемой нагрузке. Все работы выполняются в оговорённые сроки. Вы получаете сертификат SSL и базу данных с оптимизированной структурой. Ознакомьтесь с чек-листом после установки, чтобы ничего не упустить. Установка занимает от 2 до 5 рабочих дней в зависимости от сложности кастомизации.
Почему Bagisto на Laravel — хороший выбор?
Bagisto использует современный стек: Laravel 11, Vue 3, Redis. Это даёт гибкость кастомизации и высокую производительность. Однако установка требует внимания к деталям.
Какие проблемы возникают при установке Bagisto?
Типичные ошибки: несовместимость версий PHP (требуется 8.1+), отсутствие расширений, неправильная настройка очередей, проблемы с правами доступа. Мы подготовили инструкцию, которая поможет всё настроить корректно.
Требования к серверу
| Компонент | Минимум | Рекомендуется |
|---|---|---|
| PHP | 8.1 | 8.2+ |
| MySQL / MariaDB | 8.0 / 10.3 | MySQL 8.0 |
| Composer | 2.x | 2.x |
| Node.js | 16 | 18 LTS |
| RAM | 1 GB | 2 GB+ |
Расширения PHP: BCMath, Ctype, cURL, DOM, Fileinfo, JSON, Mbstring, OpenSSL, PCRE, PDO, Tokenizer, XML, GD или Imagick.
Важно: Использование Redis вместо файлового кэша ускоряет работу очередей в 5-10 раз, поэтому начиная с этапа установки настройте Redis.
Установка через Composer
composer create-project bagisto/bagisto:^2.2 myshop cd myshop cp .env.example .env Редактируем .env:
APP_URL=https://myshop.example.com DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=bagisto DB_USERNAME=bagisto_user DB_PASSWORD=secret CACHE_DRIVER=redis QUEUE_CONNECTION=redis SESSION_DRIVER=redis REDIS_HOST=127.0.0.1 REDIS_PORT=6379 Запуск установщика:
php artisan bagisto:install Команда выполняет миграции, сидеры, публикует ассеты и создаёт первого администратора. После — сборка фронтенда:
npm install npm run build Настройка Nginx
server { listen 80; server_name myshop.example.com; root /var/www/myshop/public; index index.php; add_header X-Frame-Options "SAMEORIGIN"; add_header X-Content-Type-Options "nosniff"; charset utf-8; location / { try_files $uri $uri/ /index.php?$query_string; } location = /favicon.ico { access_log off; log_not_found off; } location = /robots.txt { access_log off; log_not_found off; } error_page 404 /index.php; location ~ \.php$ { fastcgi_pass unix:/var/run/php/php8.2-fpm.sock; fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; include fastcgi_params; } location ~ /\.(?!well-known).* { deny all; } } После настройки SSL через Certbot: certbot --nginx -d myshop.example.com.
Настройка очередей (Supervisor)
Bagisto активно использует очереди для отправки писем, генерации инвойсов и webhook-уведомлений.
[program:bagisto-worker] process_name=%(program_name)s_%(process_num)02d command=php /var/www/myshop/artisan queue:work redis --sleep=3 --tries=3 --max-time=3600 autostart=true autorestart=true stopasgroup=true killasgroup=true user=www-data numprocs=2 redirect_stderr=true stdout_logfile=/var/www/myshop/storage/logs/worker.log stopwaitsecs=3600 supervisorctl reread supervisorctl update supervisorctl start bagisto-worker:* Первичная конфигурация в панели администратора
После входа по /admin настраиваются:
Каналы и локали
Канал — это отдельная "витрина" магазина с собственным доменом, валютой и языком. Для мультиязычного магазина создаётся один канал с несколькими локалями.
Налоги
Каталог → Налоги → Налоговые категории — создаём категории (например, НДС 20%). Затем привязываем к группам налогоплательщиков и регионам через Налоговые ставки.
Методы доставки
Встроенные: FlatRate, Free Shipping. Для СДЭК или Почты России потребуется пакет или кастомный провайдер — подключается в config/carriers.php.
Методы оплаты
Встроенные: Cash On Delivery, Money Transfer, PayPal. Кастомные шлюзы регистрируются в config/paymentmethods.php и реализуют интерфейс Webkul\Payment\Payment.
Настройка почты
MAIL_MAILER=smtp MAIL_HOST=smtp.example.com MAIL_PORT=587 [email protected] MAIL_PASSWORD=secret MAIL_ENCRYPTION=tls [email protected] MAIL_FROM_NAME="Мой Магазин" Шаблоны писем публикуются командой:
php artisan vendor:publish --tag=bagisto-mail-views После — редактируются в resources/views/vendor/shop/emails/.
Крон для планировщика
* * * * * cd /var/www/myshop && php artisan schedule:run >> /dev/null 2>&1 Планировщик отвечает за очистку корзин, генерацию sitemap и обновление курсов валют (если подключён провайдер).
Права на директории
chmod -R 775 storage bootstrap/cache chown -R www-data:www-data /var/www/myshop Что входит в настройку Bagisto под ключ?
| Этап | Длительность | Что делаем |
|---|---|---|
| Аналитика | 1-2 дня | Выбор хостинга, версий ПО |
| Установка | 1 день | Composer, окружение, зависимости |
| Конфигурация | 1-2 дня | Каналы, налоги, доставка, оплата |
| Интеграция | 1 день | Почта, очереди, крон |
| Тестирование | 1 день | Проверка функционала |
После установки — чеклист
- [ ] Проверить
php artisan config:cache && php artisan route:cache - [ ] Настроить резервное копирование БД (cron + mysqldump или
spatie/laravel-backup) - [ ] Установить Redis и проверить подключение через
php artisan tinker→Redis::ping() - [ ] Проверить отправку почты через тестовый заказ
- [ ] Настроить мониторинг очередей — Laravel Horizon (
composer require laravel/horizon) - [ ] Проверить генерацию sitemap по адресу
/sitemap.xml
Дополнительные рекомендации
Для повышения производительности используйте Redis для кэша и очередей. Настройте мониторинг через Laravel Horizon. Laravel Queues documentation
Что делать при ошибке? Распространённые проблемы
- Ошибка подключения к БД: проверьте .env
- Ошибка composer: обновите версию PHP
- Не грузятся ассеты: запустите npm install && npm run build
Если вам нужна установка Bagisto под ключ с гарантией и поддержкой — свяжитесь с нами для расчёта сроков и стоимости. Оценим ваш проект бесплатно.







