Решили открыть онлайн-магазин, но Shopify слишком дорого, WooCommerce надоел, а Magento пугает сложностью? Познакомьтесь с Bagisto — бесплатной платформой для электронной коммерции, которая работает на Laravel и не требует ежемесячных платежей за подписку.
В этом руководстве разберём как развернуть полноценный интернет-магазин на собственном сервере: от выбора VPS до запуска витрины. Никакой воды — только практика и проверенные решения.
Что такое Bagisto и почему он заслуживает внимания
Bagisto — это open-source платформа для создания интернет-магазинов, построенная на популярном PHP-фреймворке Laravel и современной jаvascript-библиотеке Vue.js. Проще говоря, это готовая основа для магазина со всеми необходимыми функциями: каталог товаров, корзина, оформление заказа, панель управления.
Главное отличие от конкурентов
Это не плагин к WordPress, как WooCommerce. Не монстр весом в гигабайты, как Magento. Не SaaS-сервис с ежемесячными комиссиями, как Shopify.
Bagisto — самостоятельная платформа, которая:
- Работает на вашем собственном сервере
- Даёт полный доступ к исходному коду
- Не требует платы за использование
- Построена на современных технологиях
- Имеет понятную архитектуру
Технологии под капотом
Laravel — один из самых популярных PHP-фреймворков в мире. Чистый код, встроенные инструменты безопасности, огромное сообщество разработчиков.
Vue.js — прогрессивный jаvascript-фреймворк для интерфейсов. Легче и быстрее чем React или Angular, при этом достаточно мощный для сложных приложений.
Composer — менеджер зависимостей для PHP. Упрощает установку и обновление компонентов.
Это означает, что если вы знакомы с Laravel (или готовы изучить), вы сможете настроить магазин под любые требования бизнеса.
Bagisto vs конкуренты: честное сравнение
Давайте без фанатизма посмотрим на реальные плюсы и минусы относительно других платформ.
Bagisto vs Magento
Преимущества Bagisto:
- Простота установки (15 минут против часа с Magento)
- Меньше требований к серверу (4GB RAM против 8GB+)
- Понятная структура кода (Laravel против собственного фреймворка Magento)
- Быстрее работает на средних проектах
Преимущества Magento:
- Больше готовых расширений в маркетплейсе
- Мощнее для enterprise-проектов с миллионами товаров
- Дольше на рынке, значит больше опыта у разработчиков
Вывод: Magento для крупных корпораций, Bagisto для малого и среднего бизнеса.
Bagisto vs WooCommerce
Преимущества Bagisto:
- Не зависит от WordPress
- Современная архитектура (MVC)
- API из коробки для мобильных приложений
- Мультивендор без костылей
Преимущества WooCommerce:
- Огромный выбор тем и плагинов
- Проще для новичков без опыта программирования
- Больше готовых интеграций
Вывод: WooCommerce для простых магазинов, Bagisto если нужна гибкость и масштабируемость.
Bagisto vs OpenCart / PrestaShop
Преимущества Bagisto:
- Свежая кодовая база (а не легаси 2010-х)
- Удобнее кастомизация благодаря Laravel
- Активное развитие (ежемесячные обновления)
- Headless commerce из коробки
Преимущества OpenCart/PrestaShop:
- Больше готовых шаблонов
- Дешевле найти фрилансера для доработок
- Десятилетний опыт сообщества
Вывод: Если нужна современная платформа под будущее развитие — Bagisto.
Для кого подходит Bagisto
Идеально подойдёт если вы:
- Разработчик или агентство — нужна гибкая платформа под кастомные проекты. Laravel — это стандарт индустрии, найти специалиста легко.
- Владелец бизнеса с техническим бэкграундом — хотите контроль над магазином без зависимости от SaaS-сервисов и их тарифов.
- Стартап — ограниченный бюджет, но нужен современный магазин с возможностью масштабирования.
- Растущий магазин — переросли WooCommerce, но Magento кажется избыточным.
- Маркетплейс — планируете площадку с несколькими продавцами (типа Etsy или Wildberries в миниатюре).
Не подойдёт если:
- Нужно запустить магазин прямо сейчас, за час, без технических знаний → берите Shopify
- Продаёте 2-3 товара и вам нужна максимальная простота → WooCommerce проще
- Планируете миллионы товаров и колоссальный трафик → Magento надёжнее
Системные требования
Перед установкой проверьте что ваш сервер соответствует минимальным требованиям.
Операционная система
Linux (рекомендуется):
- Ubuntu 20.04 LTS или новее
- Debian 10 или новее
- CentOS 8 / AlmaLinux 8
Windows (для локальной разработки):
- Windows 10/11 с WAMP или XAMPP
Серверное ПО
Веб-сервер:
- Nginx 1.18+ (рекомендуется)
- Apache 2.4+ (с mod_rewrite)
База данных:
- MySQL 8.0+
- MariaDB 10.3+
PHP:
- Версия: 8.2 или новее
- Расширения: BCMath, Ctype, JSON, Mbstring, OpenSSL, PDO, Tokenizer, XML, cURL, GD, Fileinfo, Intl
Дополнительно:
- Node.js 18.12 LTS или новее
- Composer 2.5 или новее
- Git (для установки через Composer)
Ресурсы сервера
Минимальные (для тестирования):
- 2 CPU ядра
- 4 GB RAM
- 20 GB SSD
Рекомендуемые (для продакшена):
- 4 CPU ядра
- 8 GB RAM
- 50+ GB NVMe SSD
- Порт 1 Gbps
Для высоконагруженных магазинов:
- 8+ CPU ядер
- 16+ GB RAM
- 100+ GB NVMe SSD
- Порт 10 Gbps
Почему VPS, а не виртуальный хостинг
Для Bagisto обязательно нужен VPS или выделенный сервер. Виртуальный хостинг не подойдёт по нескольким причинам:
Требуется доступ к командной строке
Установка Bagisto через Composer требует SSH-доступа и выполнения команд в терминале. На виртуальном хостинге это обычно недоступно.
Нужны специфичные настройки PHP
Некоторые расширения PHP могут быть отключены на виртуальном хостинге по соображениям безопасности.
Производительность
Laravel-приложения чувствительны к скорости диска и объёму оперативной памяти. На виртуальном хостинге ресурсы распределяются между сотнями клиентов.
Кастомизация веб-сервера
Для максимальной производительности нужна возможность настроить Nginx или Apache под специфику магазина.
Выбор VPS для Bagisto
Рассмотрим что предлагает THE.Hosting для запуска интернет-магазина на Bagisto.
Стандартные VPS
Подходят для большинства магазинов с умеренным трафиком.
Базовая конфигурация (от ~€10/месяц):
- 2 vCPU
- 4 GB RAM
- 50 GB NVMe SSD
- 1 Gbps порт
- Безлимитный трафик
Для растущих магазинов (от ~€20/месяц):
- 4 vCPU
- 8 GB RAM
- 100 GB NVMe SSD
- 1 Gbps порт
Hi-CPU VPS
Если у вас сложные расчёты (большой каталог, множество фильтров, интеграции).
Характеристики:
- Более мощные процессорные ядра
- Выше частота CPU
- Быстрее обработка запросов
- Лучше для высоконагруженных магазинов
Dedicated серверы
Для enterprise-проектов или маркетплейсов с тысячами заказов в день.
Преимущества:
- Все ресурсы только для вашего магазина
- Максимальная производительность
- Полный контроль над железом
Ключевые преимущества THE.Hosting
- NVMe SSD хранилище — в 6 раз быстрее обычных SSD
- 50+ локаций по миру — разместите сервер ближе к клиентам
- 10 Gbps порты — магазин не ляжет во время распродажи
- Техподдержка 24/7 — помощь на русском и английском
Важно: THE.Hosting предоставляет self-managed VPS. Это значит вы получаете чистый сервер с root-доступом и настраиваете его самостоятельно. Идеально для тех кто хочет полного контроля.
Установка серверного окружения
Будем устанавливать стек LEMP (Linux + Nginx + MySQL + PHP) на Ubuntu 22.04.
Подключение к серверу
После создания VPS в панели THE.Hosting вы получите:
- IP-адрес сервера
- Root-пароль (или SSH-ключ)
Подключаемся по SSH:
ssh root@185.104.248.123
(замените IP на ваш)
Обновление системы
apt update && apt upgrade -y
Установка Nginx
apt install nginx -y
systemctl start nginx
systemctl enable nginx
Проверка: откройте в браузере http://ваш-ip — должна показаться страница Nginx.
Установка MySQL
apt install mysql-server -y
Запускаем мастер безопасной настройки:
mysql_secure_installation
Рекомендуемые ответы:
- Validate Password Plugin: Yes (если нужны строгие пароли)
- Remove anonymous users: Yes
- Disallow root login remotely: Yes
- Remove test database: Yes
- Reload privilege tables: Yes
Создаём базу данных для Bagisto:
mysql -u root -p
В консоли MySQL:
CREATE DATABASE bagisto CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'bagisto_user'@'localhost' IDENTIFIED BY 'ваш_надёжный_пароль';
GRANT ALL PRIVILEGES ON bagisto.* TO 'bagisto_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Установка PHP 8.2
apt install software-properties-common -y
add-apt-repository ppa:ondrej/php -y
apt update
Устанавливаем PHP и необходимые расширения:
apt install php8.2-fpm php8.2-cli php8.2-mysql php8.2-curl php8.2-xml \
php8.2-mbstring php8.2-zip php8.2-gd php8.2-intl php8.2-bcmath -y
Проверка установки:
php -v
Должно показать: PHP 8.2.x
Установка Composer
cd /tmp
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
chmod +x /usr/local/bin/composer
Проверка:
composer --version
Установка Node.js
curl -fsSL https://deb.nodesource.com/setup_18.x | bash -
apt install nodejs -y
Проверка:
node -v
npm -v
Установка Bagisto
Переходим к установке самого магазина.
Скачивание Bagisto через Composer
cd /var/www
composer create-project bagisto/bagisto
Процесс займёт 3-5 минут — Composer скачает все зависимости.
Настройка прав доступа
cd bagisto
chown -R www-dаta:www-data .
chmod -R 755 .
chmod -R 777 storage bootstrap/cache
Конфигурация окружения
Копируем файл с переменными окружения:
cp .env.example .env
Редактируем .env:
nano .env
Основные параметры:
APP_NAME="Мой Магазин"
APP_ENV=production
APP_DEBUG=false
APP_URL=http://ваш-домен.ru
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=bagisto
DB_USERNAME=bagisto_user
DB_PASSWORD=ваш_надёжный_пароль
MAIL_MAILER=smtp
MAIL_HOST=smtp.yandex.ru
MAIL_PORT=465
MAIL_USERNAME=ваша_почта@yandex.ru
MAIL_PASSWORD=пароль_от_почты
MAIL_ENCRYPTION=ssl
MAIL_FROM_ADDRESS=ваша_почта@yandex.ru
MAIL_FROM_NAME="${APP_NAME}"
Сохраняем (Ctrl+O, Enter, Ctrl+X).
Генерация ключа приложения
php artisan key:generate
Установка Bagisto
Выполняем команду установки:
php artisan bagisto:install
Мастер установки спросит:
Создать администратора? → Yes
Вводите данные:
- Email: ваш_email@example.com
- Пароль: (минимум 8 символов)
- Имя: Ваше Имя
Настроить магазин? → Yes
Параметры магазина:
- Название: Мой Магазин
- Валюта: RUB (или EUR, USD)
- Локаль: ru (или en)
Установка займёт 2-3 минуты.
Компиляция фронтенд-ресурсов
npm install
npm run build
Или для продакшена:
npm run prod
Настройка Nginx
Создаём конфигурацию виртуального хоста:
nano /etc/nginx/sites-available/bagisto
Вставляем:
server {
listen 80;
server_name ваш-домен.ru www.ваш-домен.ru;
root /var/www/bagisto/public;
add_header X-Frame-Options "SAMEORIGIN";
add_header X-Content-Type-Options "nosniff";
index index.php;
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;
}
}
Активируем конфигурацию:
ln -s /etc/nginx/sites-available/bagisto /etc/nginx/sites-enabled/
nginx -t
systemctl reload nginx
Установка SSL сертификата
Для безопасности и SEO обязательно устанавливаем HTTPS.
Установка Certbot
apt install certbot python3-certbot-nginx -y
Получение сертификата
certbot --nginx -d ваш-домен.ru -d www.ваш-домен.ru
Certbot автоматически:
- Получит сертификат Let's Encrypt
- Настроит Nginx для HTTPS
- Настроит автообновление
После этого ваш магазин доступен по https://ваш-домен.ru
Первоначальная настройка магазина
Заходим в админ-панель: https://ваш-домен.ru/admin
Логин: email который указали при установке Пароль: тот что задавали
Базовые настройки
Настройки → Общие:
✅ Название магазина
✅ Логотип (рекомендуется PNG с прозрачным фоном)
✅ Фавикон
✅ Адрес магазина
✅ Контактный email
✅ Телефон
Настройки → Локализация:
✅ Валюта по умолчанию
✅ Часовой пояс
✅ Формат даты
Настройки → Каналы:
Каналы — это витрины вашего магазина. Можете создать несколько (например, для разных стран).
✅ Основной канал уже создан при установке
✅ Настройте домены, валюты, языки для каждого канала
Создание категорий
Каталог → Категории → Создать:
Примерная структура для интернет-магазина одежды:
Мужское
├── Верхняя одежда
├── Футболки и поло
├── Джинсы и брюки
└── Обувь
Женское
├── Платья
├── Блузки
├── Юбки
└── Обувь
Детское
└── ...
Для каждой категории:
- Название
- URL-ключ (автоматически, но можно изменить)
- Описание (для SEO)
- Изображение
Добавление товара
Каталог → Товары → Создать товар:
Обязательные поля:
- SKU (артикул)
- Название
- Цена
- Категория
Дополнительно:
- Описание
- Краткое описание
- Изображения (несколько ракурсов)
- Мета-заголовок, описание (для SEO)
- Вариации (размеры, цвета)
Склад:
- Количество на складе
- Статус (В наличии / Нет в наличии)
Сохраняем — товар появится на сайте.
Настройка способов оплаты
Настройки → Способы оплаты:
По умолчанию доступны:
- Банковский перевод (оффлайн)
- Наложенный платёж
- PayPal
Для онлайн-оплаты картами нужны дополнительные расширения:
- Stripe
- Яндекс.Касса
- CloudPayments
- И другие через маркетплейс Bagisto
Настройка доставки
Настройки → Способы доставки:
Встроенные методы:
- Фиксированная стоимость — одна цена для всех
- По весу товара — настраиваются тарифы
- Самовывоз — бесплатно
Для интеграции с курьерскими службами (СДЭК, DHL и т.д.) нужны расширения.
Оптимизация производительности
После базовой настройки важно оптимизировать магазин для скорости.
Кэширование
Laravel поддерживает несколько типов кэша:
Кэш конфигурации:
php artisan config:cache
Кэш маршрутов:
php artisan route:cache
Кэш представлений:
php artisan view:cache
Автозагрузчик Composer:
composer dump-autoload --optimize
Настройка Redis (опционально, но рекомендуется)
Redis ускоряет кэширование и сессии.
Установка:
apt install redis-server -y
systemctl start redis
systemctl enable redis
PHP-расширение:
apt install php8.2-redis -y
systemctl restart php8.2-fpm
Конфигурация в .env:
CACHE_DRIVER=redis
SESSION_DRIVER=redis
QUEUE_CONNECTION=redis
Очищаем и пересоздаём кэш:
php artisan cache:clear
php artisan config:cache
Настройка очередей
Для отправки почты и других фоновых задач настроим supervisor.
Установка:
apt install supervisor -y
Конфигурация (создаём файл):
nano /etc/supervisor/conf.d/bagisto-worker.conf
Содержимое:
[program:bagisto-worker]
process_name=%(program_name)s_%(process_num)02d
command=php /var/www/bagisto/artisan queue:work --sleep=3 --tries=3
autostart=true
autorestart=true
user=www-data
numprocs=2
redirect_stderr=true
stdout_logfile=/var/www/bagisto/storage/logs/worker.log
Применяем:
supervisorctl reread
supervisorctl update
supervisorctl start bagisto-worker:*
Сжатие и оптимизация изображений
Товарные фото могут весить мегабайты. Используйте сервисы сжатия:
- TinyPNG (онлайн)
- ImageOptim (Mac)
- RIOT (Windows)
Или автоматизируйте через Laravel-пакеты типа Intervention Image.
CDN (опционально)
Для глобальной аудитории рассмотрите Cloudflare CDN:
- Ускорение загрузки статики
- Дополнительная защита от DDoS
- Бесплатный SSL
Безопасность
Интернет-магазин хранит данные клиентов — безопасность критична.
Файрвол
Установка UFW:
apt install ufw -y
Разрешаем нужные порты:
ufw allow 22/tcp # SSH
ufw allow 80/tcp # HTTP
ufw allow 443/tcp # HTTPS
ufw enable
Fail2Ban
Защита от брутфорса SSH и других атак.
apt install fail2ban -y
systemctl start fail2ban
systemctl enable fail2ban
Регулярные обновления
Система:
apt update && apt upgrade -y
Bagisto:
cd /var/www/bagisto
composer update
php artisan migrate
php artisan cache:clear
Бэкапы
Важно: THE.Hosting не делает автоматические бэкапы за вас (self-managed VPS).
База данных (ежедневно):
#!/bin/bash
# /root/backup-db.sh
DATE=$(date +%Y-%m-%d)
mysqldump -u bagisto_user -p'пароль' bagisto | gzip > /root/backups/bagisto_$DATE.sql.gz
# Удаляем бэкапы старше 7 дней
find /root/backups/ -name "bagisto_*.sql.gz" -mtime +7 -delete
Делаем исполняемым:
chmod +x /root/backup-db.sh
Добавляем в cron (каждый день в 3 часа ночи):
crontab -e
0 3 * * * /root/backup-db.sh
Файлы:
Скопируйте папку с загруженными изображениями:
rsync -av /var/www/bagisto/storage/app/public/ /root/backups/files/
Лучшая практика: храните бэкапы на отдельном сервере или в облаке (AWS S3, Backblaze B2).
Отключение режима отладки
Проверьте в .env:
APP_DEBUG=false
В продакшене всегда должен быть false — иначе пользователи видят полные трассировки ошибок с конфиденциальной информацией.
Расширенные возможности
После запуска базового магазина можете задуматься о расширенных функциях.
Мультивендор маркетплейс
Превратите магазин в площадку где продают несколько поставщиков.
Расширение: Bagisto Multi-Vendor Marketplace
Возможности:
- Регистрация продавцов
- Отдельные панели управления для каждого
- Настройка комиссий
- Система выплат
- Рейтинги продавцов
Кому подойдёт: Если хотите создать локальный аналог Wildberries, Ozon, Etsy.
PWA (Progressive Web App)
Сделайте магазин похожим на мобильное приложение.
Расширение: Bagisto PWA
Преимущества:
- Работает оффлайн
- Добавляется на главный экран телефона
- Push-уведомления
- Быстрее обычного сайта
Установка простая — через Composer и настройка манифеста.
Мобильное приложение
Готовое приложение на Flutter для Android и iOS.
GitHub: bagisto/opensource-ecommerce-mobile-app
Возможности:
- Нативный интерфейс
- Push-уведомления
- Биометрия для входа
- Интеграция с Bagisto API
Публикация в магазинах (Google Play, App Store) потребует аккаунт разработчика (~$100/год).
Headless Commerce
Разделите фронтенд и бэкенд — используйте Bagisto только как API.
Когда нужно:
- Кастомный фронтенд на React/Vue/Next.js
- Несколько интерфейсов (веб, мобильное приложение, киоски)
- Экстремальная производительность
Bagisto предоставляет REST API для всех операций.
B2B функциональность
Корпоративные продажи с особыми условиями.
Расширение: Bagisto B2B
Возможности:
- Регистрация компаний
- Цены по контрактам
- Кредитные лимиты
- Массовые заказы
- Менеджеры клиентов
Часто задаваемые вопросы
Нужны ли навыки программирования для Bagisto?
Зависит от задач. Для установки и базовой настройки достаточно умения работать с командной строкой. Для глубокой кастомизации понадобятся знания Laravel и PHP.
Можно ли перенести магазин с Shopify/WooCommerce на Bagisto?
Да, но потребуется миграция данных. Есть готовые инструменты импорта CSV, либо можно написать скрипты переноса через API.
Сколько товаров выдержит Bagisto?
На правильно настроенном VPS — десятки тысяч. С оптимизацией (Elasticsearch для поиска, Redis для кэша) — сотни тысяч. Для миллионов позиций потребуется dedicated сервер.
Есть ли русская локализация?
Да, Bagisto поддерживает русский язык. При установке выберите ru как локаль по умолчанию.
Где искать расширения для Bagisto?
- Официальный маркетплейс: bagisto.com/en/extensions
- GitHub (многие бесплатные)
- Можно разработать на заказ
Как обновлять Bagisto?
composer update
php artisan migrate
php artisan cache:clear
Всегда делайте бэкап перед обновлением!
Можно ли использовать Bagisto для дропшиппинга?
Да, но потребуются интеграции с поставщиками через API или расширения.
Нужна ли лицензия для коммерческого использования?
Нет, Bagisto полностью бесплатен под лицензией MIT. Используйте как угодно.
Заключение
Bagisto — отличный выбор если вам нужен современный интернет-магазин без привязки к SaaS-платформам и их ежемесячным платежам. Да, потребуется время на изучение, но взамен вы получаете:
- Полный контроль над платформой
- Отсутствие комиссий за продажи
- Возможность кастомизации под любые нужды
- Масштабируемость от стартапа до enterprise
- Современный стек технологий
THE.Hosting предоставляет идеальную инфраструктуру для Bagisto:
- VPS с NVMe-дисками для быстрой работы
- 50+ локаций чтобы разместить сервер ближе к клиентам
- Anti-DDoS защита от атак
- Техподдержка 24/7
Запустите тестовый магазин на выходных — убедитесь что Bagisto подходит вашему бизнесу. А когда будете готовы к продакшену — THE.Hosting обеспечит стабильность и производительность вашего интернет-магазина.
Что дальше?
После запуска магазина сфокусируйтесь на:
- Наполнении каталога качественными товарами
- Настройке маркетинга (SEO, контекстная реклама)
- Улучшении пользовательского опыта
- Анализе поведения покупателей
Технологии — это инструмент. Главное — ваши товары, сервис и клиенты. Удачи в бизнесе!