Sylius: установка интернет-магазина на VPS

12.02.2026
19:26

Запускаете средний или крупный интернет-магазин и понимаете что WooCommerce уже не тянет, а Magento пугает стоимостью лицензий и сложностью? Посмотрите на Sylius — платформу электронной коммерции на Symfony, которая даёт enterprise-возможности без enterprise-ценника.
Разбираемся что такое Sylius, для кого он подходит, как развернуть на собственном сервере и почему разработчики считают его самой удобной платформой для кастомной электронной коммерции.

Что такое Sylius и для кого он создан

Sylius — бесплатная open-source платформа для электронной коммерции, построенная на Symfony (один из самых надёжных PHP-фреймворков). Проект существует с 2010 года, используется в более чем 10,000 интернет-магазинов по всему миру.

Главные отличия от других платформ:

  • Построен на Symfony — значит чистый код, отличная документация, огромное сообщество
  • API-first архитектура — мощный REST API для любых интеграций из коробки
  • Модульность — используете только нужные компоненты
  • Headless-ready — подключайте любой фронтенд (React, Vue, мобильные приложения)

Sylius подходит если:

  • У вас средний или крупный каталог (от 500 товаров)
  • Нужна сложная логика ценообразования
  • Планируете международные продажи (мультиязычность, мультивалютность)
  • Требуются интеграции с ERP/CRM/складской системой
  • Хотите полный контроль без ежемесячных платежей за SaaS

Не подходит когда:

  • Нужен магазин прямо сейчас без программистов — берите Shopify
  • Маленький каталог до 50 товаров — WooCommerce проще
  • Нет технических специалистов — SaaS удобнее

Почему Sylius требует VPS

Sylius нельзя установить на обычный виртуальный хостинг. Вот почему:

SSH-доступ обязателен

Установка через Composer, выполнение консольных команд Symfony, компиляция jаvascript — всё требует командной строки. На виртуальном хостинге SSH обычно недоступен.

Специфичные настройки PHP

Нужна версия PHP 8.3+, определённые расширения, возможность менять параметры php.ini. На виртуальном хостинге это ограничено.

Производительность

Symfony-приложения чувствительны к скорости диска и объёму RAM. На виртуальном хостинге где сотни клиентов делят ресурсы — магазин будет тормозить.

Возможность масштабирования

По мере роста трафика добавите Redis для кэша, настроите очереди, возможно Elasticsearch для поиска. На виртуальном хостинге это невозможно.

Системные требования

Перед установкой убедитесь что сервер соответствует требованиям.

Операционная система

Linux (рекомендуется):

  • Ubuntu 22.04 LTS / 24.04 LTS
  • Debian 11 / 12
  • CentOS Stream 9 / AlmaLinux 9

PHP и расширения

Версия: PHP 8.3 или новее

Обязательные расширения:

  • gd, exif, fileinfo — обработка изображений
  • intl — интернационализация
  • sodium — криптография
  • opcache — кэширование
  • pdo_mysql — база данных
  • xml, zip, mbstring, curl

База данных

Один из вариантов:

  • MySQL 8.0+
  • MariaDB 10.4.10+
  • PostgreSQL 13.9+

Рекомендуем MySQL 8.0 — самый популярный выбор в комьюнити.

Node.js

Версия 20.x LTS или 22.x LTS для сборки фронтенд-ресурсов.

Дополнительно

  • Composer — менеджер PHP-зависимостей
  • Git — для клонирования репозитория
  • Yarn или npm — сборка jаvascript

Ресурсы сервера

Минимум (тестирование):

  • 2 CPU ядра
  • 4 GB RAM
  • 30 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 от THE.Hosting

Рассмотрим подходящие конфигурации для Sylius.

VPS

Подходит для магазинов с трафиком до 10,000 посетителей в день.

Базовая конфигурация (~€20/месяц):

  • 4 vCPU
  • 8 GB RAM
  • 80 GB NVMe SSD
  • 10 Gbps порт
  • Безлимитный трафик

Этого хватит на старте. По мере роста легко апгрейдите план.

Для растущих магазинов:

  • 6 vCPU
  • 12 GB RAM
  • 120 GB NVMe SSD

Hi-CPU VPS

Если у вас сложные расчёты (динамическое ценообразование, много фильтров, тяжёлые интеграции) — берите Hi-CPU. Более мощные процессорные ядра с высокой частотой, лучше single-thread производительность.

Dedicated серверы

Для крупных маркетплейсов или магазинов с трафиком 100,000+ посетителей в сутки. Все ресурсы только ваши, никаких соседей по серверу.

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

Будем устанавливать на Ubuntu 24.04 LTS стек с Nginx, MySQL, PHP 8.3.

Подключение по SSH

После создания VPS получите:

  • IP-адрес сервера
  • Root-пароль или SSH-ключ

Подключаемся:

ssh root@185.104.248.123

(замените на ваш IP)

Обновление системы

apt update && apt upgrade -y

Установка базовых пакетов

apt install software-properties-common curl wget git unzip -y

Установка PHP 8.3

Добавляем репозиторий Ondrej с актуальными версиями PHP:

add-apt-repository ppa:ondrej/php -y
apt update

Устанавливаем PHP и все необходимые расширения:

apt install php8.3-fpm php8.3-cli php8.3-mysql php8.3-gd php8.3-intl \
php8.3-xml php8.3-zip php8.3-curl php8.3-mbstring php8.3-opcache -y

Проверяем версию:

php -v

Должно показать: PHP 8.3.x

Настройка PHP

Редактируем конфигурацию для оптимальной работы Symfony:

nano /etc/php/8.3/fpm/php.ini

Ключевые параметры:

memory_limit = 256M
upload_max_filesize = 20M
post_max_size = 20M
max_execution_time = 300
date.timezone = Europe/Moscow
opcache.enable = 1
opcache.memory_consumption = 128
opcache.max_accelerated_files = 10000

Перезапускаем PHP-FPM:

systemctl restart php8.3-fpm

Установка MySQL

apt install mysql-server -y

Запускаем мастер безопасной настройки:

mysql_secure_installation

Создание базы данных

mysql -u root -p

В консоли MySQL выполняем:

CREATE DATABASE sylius CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'sylius_user'@'localhost' IDENTIFIED BY 'ваш_надёжный_пароль';
GRANT ALL PRIVILEGES ON sylius.* TO 'sylius_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Установка Nginx

apt install nginx -y
systemctl start nginx
systemctl enable nginx

Проверка: откройте http://ваш-ip в браузере — должна показаться стандартная страница Nginx.

Установка Composer

curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
chmod +x /usr/local/bin/composer

Проверка:

composer --version

Установка Node.js 20 LTS

curl -fsSL https://deb.nodesource.com/setup_20.x | bash -
apt install nodejs -y

Устанавливаем Yarn (рекомендуется вместо npm):

npm install -g yarn

Проверка:

node -v
yarn -v

Установка Sylius

Теперь устанавливаем сам магазин.

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

cd /var/www
composer create-project sylius/sylius-standard myshop

Процесс занимает 5-10 минут — Composer скачивает все зависимости проекта.

Настройка прав доступа

cd myshop
chown -R www-dаta:www-data .
chmod -R 755 .
chmod -R 775 var/cache var/log public/media

Конфигурация окружения

Копируем файл с переменными:

cp .env .env.local

Редактируем .env.local:

nano .env.local

Основные параметры:

APP_ENV=prod
APP_SECRET=сгенерируйте_случайную_строку_32_символа

DATABASE_URL="mysql://sylius_user:ваш_пароль@127.0.0.1:3306/sylius?serverVersion=8.0"

MAILER_DSN=smtp://ваша_почта@gmail.com:пароль_приложения@smtp.gmail.com:587

Важно для APP_SECRET: сгенерируйте случайную строку, например через:

openssl rand -hex 16

Для Gmail: используйте App Password (пароль приложения), а не основной пароль аккаунта.

Установка зависимостей фронтенда

yarn install

Собираем jаvascript и CSS:

yarn build

Для production-режима используйте:

yarn build

Запуск установки Sylius

Выполняем мастер установки:

php bin/console sylius:install

Мастер спросит:

База данных: уже настроена в .env.local, нажимаем Enter

Создать администратора? → yes

Вводим данные админа:

  • Email: admin@example.com
  • Пароль: минимум 8 символов

Настроить магазин? → yes

Параметры магазина:

  • Название: Мой Магазин
  • Валюта: RUB (или USD, EUR)
  • Локаль: ru_RU (или en_US)

Установка завершится через 2-3 минуты.

Очистка кэша

php bin/console cache:clear --env=prod
php bin/console cache:warmup --env=prod

Настройка Nginx

Создаём конфигурацию виртуального хоста:

nano /etc/nginx/sites-available/sylius

Вставляем следующую конфигурацию:

server {
    listen 80;
    server_name ваш-домен.ru www.ваш-домен.ru;
    root /var/www/myshop/public;

    location / {
        try_files $uri /index.php$is_args$args;
    }

    location ~ ^/index\.php(/|$) {
        fastcgi_pass unix:/run/php/php8.3-fpm.sock;
        fastcgi_split_path_info ^(.+\.php)(/.*)$;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
        fastcgi_param DOCUMENT_ROOT $realpath_root;
        internal;
    }

    location ~ \.php$ {
        return 404;
    }

    error_log /var/log/nginx/sylius_error.log;
    access_log /var/log/nginx/sylius_access.log;
}

Активируем конфигурацию:

ln -s /etc/nginx/sites-available/sylius /etc/nginx/sites-enabled/
nginx -t
systemctl reload nginx

Установка SSL сертификата

Для безопасности HTTPS обязателен.

Установка Certbot

apt install certbot python3-certbot-nginx -y

Получение сертификата Let's Encrypt

certbot --nginx -d ваш-домен.ru -d www.ваш-домен.ru

Certbot автоматически:

  • Получит бесплатный SSL сертификат
  • Настроит Nginx для работы по HTTPS
  • Настроит автообновление сертификата

Магазин теперь доступен по адресу: https://ваш-домен.ru

Первый запуск магазина

Откройте в браузере https://ваш-домен.ru — должна показаться витрина магазина.

Для входа в админ-панель перейдите по адресу https://ваш-домен.ru/admin

Логин: email который указали при установке Пароль: тот что задали

Готово! Базовая установка Sylius завершена. Теперь у вас работающий интернет-магазин на собственном сервере.

Дальнейшая настройка магазина (добавление товаров, категорий, настройка доставки и оплаты) выполняется через админ-панель — это тема для отдельной статьи.

Базовая оптимизация

Несколько простых шагов для улучшения производительности.

Кэширование Symfony

Убедитесь что кэш прогрет:

php bin/console cache:warmup --env=prod

Настройка Redis (опционально)

Redis значительно ускоряет работу кэша и сессий.

Установка:

apt install redis-server -y
systemctl start redis
systemctl enable redis

PHP-расширение:

apt install php8.3-redis -y
systemctl restart php8.3-fpm

Конфигурация в .env.local:

REDIS_HOST=127.0.0.1

Настройка использования Redis описана в документации Symfony.

Очереди для фоновых задач

Для отправки email и других фоновых операций настройте Supervisor.

Установка:

apt install supervisor -y

Конфигурация (/etc/supervisor/conf.d/sylius-messenger.conf):

[program:sylius-messenger]
command=php /var/www/myshop/bin/console messenger:consume async --time-limit=3600
user=www-data
numprocs=2
startsecs=0
autostart=true
autorestart=true
process_name=%(program_name)s_%(process_num)02d

Применяем:

supervisorctl reread
supervisorctl update
supervisorctl start sylius-messenger:*

Безопасность

Базовые меры защиты магазина.

Файрвол UFW

apt install ufw -y
ufw allow 22/tcp
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable

Fail2Ban для защиты от брутфорса

apt install fail2ban -y
systemctl start fail2ban
systemctl enable fail2ban

Автоматические бэкапы базы данных

Создайте скрипт /root/backup-sylius.sh:

#!/bin/bash
DATE=$(date +%Y-%m-%d)
mysqldump -u sylius_user -p'ваш_пароль' sylius | gzip > /root/backups/sylius_$DATE.sql.gz
find /root/backups/ -name "sylius_*.sql.gz" -mtime +7 -delete

Права на выполнение:

mkdir -p /root/backups
chmod +x /root/backup-sylius.sh

Добавьте в cron (каждую ночь в 3:00):

crontab -e

Добавьте строку:

0 3 * * * /root/backup-sylius.sh

Важно: Храните бэкапы на отдельном сервере или в облаке (AWS S3, Backblaze B2).

Что дальше

После установки Sylius ваш следующий шаг — настройка магазина:

Базовая настройка магазина:

  • Создание категорий товаров (таксонов)
  • Добавление атрибутов и опций
  • Загрузка товаров и цен
  • Настройка способов оплаты
  • Конфигурация доставки

Интеграции:

  • Подключение платёжных систем (Stripe, PayPal, Mollie)
  • Интеграция с бухгалтерией
  • Подключение служб доставки
  • Настройка аналитики

Продвинутые возможности:

  • Headless commerce с отдельным фронтендом
  • Elasticsearch для быстрого поиска
  • Мультиканальные продажи
  • B2B функциональность

Каждая из этих тем заслуживает отдельной статьи — следите за обновлениями нашей базы знаний.

Заключение

Вы успешно установили Sylius на собственный VPS. Теперь у вас есть полнофункциональный интернет-магазин на Symfony без ежемесячных подписок и с полным контролем над платформой.

THE.Hosting обеспечивает надёжную инфраструктуру для Sylius:

  • NVMe-диски для быстрой работы Symfony
  • Серверы в 50+ локациях мира
  • Anti-DDoS защита
  • Круглосуточная техподдержка

Следующий шаг — наполнить магазин товарами, настроить платежи и доставку, запустить маркетинг. Технологическая база готова, дальше всё зависит от ваших товаров и сервиса.

Удачи в развитии бизнеса!

Заказать VPS для Sylius

Часто задаваемые вопросы

Обязательно ли знать PHP для установки Sylius?

Для базовой установки по инструкции — необязательно. Но для кастомизации магазина под бизнес-требования — да, понадобятся знания PHP и желательно Symfony.

Можно ли использовать Apache вместо Nginx?

Да, Sylius работает с Apache 2.4+. Понадобится включить mod_rewrite и настроить виртуальный хост по аналогии с Nginx.

Сколько времени займёт установка?

Если все команды выполнять последовательно без отвлечений — около часа. С опытом сократите до 30 минут.

Нужно ли платить за Sylius?

Базовая версия полностью бесплатна под MIT лицензией. Есть коммерческая версия Sylius Plus с расширенными модулями, но она опциональна.

Как обновлять Sylius?

Через Composer: composer update, затем php bin/console doctrine:migrations:migrate и очистка кэша. Всегда делайте бэкап перед обновлением.

Можно ли запустить несколько магазинов на одном VPS?

Да, можно. Sylius поддерживает мультиканальность (несколько витрин на одной установке) или можете установить несколько независимых экземпляров Sylius.

Подойдёт ли VPS с 2GB RAM?

Для тестирования — да. Для продакшена минимум 4GB, рекомендуем 8GB для комфортной работы.

Содержание:
Закажите новый VPS со скидкой 15%
Любая локация на выбор. Стабильный сервер для ваших проектов по выгодной цене.
Выбрать VPS

Другие статьи

12.02.2026
3
База знаний / Ispmanager
Что такое Imunify 360 WAF для ISPmanager 6