OroCommerce на VPS: B2B платформа для производителей и дистрибьюторов

16.02.2026
21:56

OroCommerce — это не обычная e-commerce платформа. Это enterprise-решение созданное специально для B2B сегмента: производителей, дистрибьюторов и оптовиков. Создатели Magento разработали OroCommerce с нуля учитывая специфику корпоративных продаж — сложное ценообразование, иерархии клиентов, RFQ процессы и интеграции с ERP.

В этом руководстве покажем когда стоит выбирать OroCommerce, как установить на VPS THE.Hosting и что отличает эту платформу от универсальных решений вроде WooCommerce или Shopify. Только практика для B2B бизнеса.

Что такое OroCommerce

OroCommerce — open-source B2B ecommerce платформа на PHP/Symfony запущенная в 2015 году. Разработана основателями Magento но полностью переписана для корпоративного сегмента. Используется производителями и дистрибьюторами от среднего бизнеса до enterprise уровня.

Ключевые отличия от B2C платформ:

Это не WooCommerce с плагинами для B2B. OroCommerce построен для корпоративных продаж где один клиент — это компания с множеством пользователей, отделами закупок, лимитами одобрения и индивидуальными прайс-листами. Здесь нет корзины в привычном смысле — есть Request for Quote (RFQ) процессы, согласования заказов и интеграции с закупочными системами клиентов (SAP Ariba, Coupa, Jaggaer).

Что включено в платформу:

OroCommerce это не просто магазин — это комплексное решение. eCommerce функционал включает каталог товаров, корзину, checkout процесс, управление заказами. OroCRM встроен в платформу и даёт управление лидами, сделками, аккаунтами клиентов, сегментацией. PIM/DAM модули управляют атрибутами товаров, цифровыми активами, изображениями и документацией. CMS система позволяет создавать контентные страницы, лендинги, блоги. Invoicing & Payments управляют выставлением счетов и оплатой через OroPay или интеграции.

Всё работает в единой системе через общую базу данных без костылей между модулями. Для enterprise компаний это означает меньше интеграций и лицензий на сторонние системы.

Архитектура и технологии:

Построен на Symfony 6 — production-grade PHP фреймворк. Использует PostgreSQL или MySQL как основную базу, Redis для кеширования, Message Queue для фоновых задач, Elasticsearch для поиска по каталогу. Поддерживает headless архитектуру через REST API если нужно строить отдельный фронтенд или мобильные приложения.

Когда выбирать OroCommerce

OroCommerce создан для конкретного сегмента. Это не универсальное решение для всех.

OroCommerce идеально подходит если:

Вы производитель или дистрибьютор с B2B клиентами. У вас корпоративные заказчики которым нужны персональные прайсы, согласования заказов внутри их компании, закупки через punchout каталоги. Вам нужен RFQ (Request for Quote) процесс. Клиенты не покупают по фиксированным ценам — они запрашивают коммерческие предложения, согласовывают условия, получают индивидуальные скидки. Это стандарт для B2B.

У вас сложная иерархия клиентов. Один клиент — это корпорация с главным офисом и филиалами. У каждого филиала свои пользователи, лимиты заказов, роли (закупщик, менеджер, approver). OroCommerce управляет этим из коробки. Вы интегрируетесь с ERP системами. NetSuite, SAP, Microsoft Dynamics, JD Edwards, Infor — OroCommerce имеет готовые коннекторы или API для синхронизации товаров, цен, остатков и заказов.

Вам нужен единый портал для продаж и CRM. Продажники работают в той же системе что и клиенты — видят историю заказов, могут помочь оформить сложный заказ, отслеживают лиды и сделки. Не нужен отдельный CRM.

OroCommerce НЕ подходит если:

Вы продаёте B2C или D2C конечным потребителям. Да, OroCommerce может работать в B2C режиме но это overkill. WooCommerce или Shopify справятся лучше и дешевле. У вас малый бизнес с ограниченным бюджетом. OroCommerce требует разработки, настройки и мощного VPS. Стоимость владения выше чем у простых платформ.

Вам нужен быстрый старт. Развёртывание OroCommerce занимает 3-6 месяцев включая настройку процессов, интеграции и обучение. Это не ready-to-go решение. У вас нет технической команды. Нужны разработчики для кастомизации и поддержки. Без опыта работы с Symfony будет сложно.

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

OroCommerce требователен к ресурсам из-за Symfony фреймворка и множества встроенных модулей.

Минимальные требования:

Конфигурация 4 vCPU / 4 GB RAM / 60 GB SSD подойдёт только для тестирования с небольшим каталогом. Для боевого сервера этого недостаточно. PostgreSQL 12+ или MySQL 8.0+ как основная база данных. PostgreSQL рекомендуется для больших каталогов и сложных запросов. PHP 8.3+ с расширениями: gd, intl, soap, mbstring, xml, zip, bcmath, opcache, pdo_mysql/pdo_pgsql. Node.js 20 LTS для сборки фронтенд ассетов. Redis 7.2+ для кеширования. Elasticsearch 8.x для полнотекстового поиска (опционально но рекомендуется).

Рекомендуемая конфигурация для боевого сервера:

Для реального B2B магазина с каталогом 5000+ товаров и трафиком нужно минимум 8 vCPU / 16 GB RAM / 160 GB NVMe SSD. Почему столько? PHP-FPM обработчики запросов — 8-12 процессов по 128 MB каждый = 1.5-2 GB. PostgreSQL под нагрузкой — 4-6 GB RAM. Redis кеширование — 1-2 GB. Elasticsearch если используется — 2-4 GB. Фоновые задачи (обработчики очередей) — 500 MB-1 GB. Операционная система и буферы — 2 GB.

Итого реально нужно 12-16 GB RAM для комфортной работы. На 8 GB запустится но будут тормоза при нагрузке.

Выбор VPS на THE.Hosting:

Для тестирования подойдёт Standard VPS с 4 vCPU / 8 GB RAM / 90 GB NVMe за ~€15/месяц. Для боевого сервера берите Hi-CPU VPS с 8 vCPU / 16 GB RAM / 210 GB NVMe за ~€65/месяц или Dedicated сервер если планируете большой каталог и высокие нагрузки.

NVMe диски критичны для PostgreSQL производительности. THE.Hosting использует именно NVMe на всех тарифах плюс Anti-DDoS защита и поддержка 24/7.

Установка OroCommerce на Ubuntu 24.04

Будем устанавливать бесплатную версию (Community Edition) вручную. Есть Docker образы но для боевого сервера лучше контролировать каждый компонент.

Подготовка системы

Подключаемся по SSH и обновляем:

sudo apt update && sudo apt upgrade -y

Устанавливаем базовые зависимости:

sudo apt install -y software-properties-common curl wget git \
  unzip supervisor nginx

Установка PostgreSQL 15

sudo apt install -y postgresql postgresql-contrib
sudo systemctl start postgresql
sudo systemctl enable postgresql

Создаём базу данных:

sudo -u postgres psql

CREATE USER oro WITH PASSWORD 'secure_password';
CREATE DATABASE oro OWNER oro;
\c oro
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
\q

Установка PHP 8.3

Ubuntu 24.04 идёт с PHP 8.3:

sudo apt install -y php8.3 php8.3-fpm php8.3-cli php8.3-pdo \
  php8.3-pgsql php8.3-xml php8.3-soap php8.3-gd php8.3-zip \
  php8.3-intl php8.3-mbstring php8.3-opcache php8.3-curl \
  php8.3-bcmath php8.3-ldap

Настройка PHP в /etc/php/8.3/fpm/php.ini:

memory_limit = 1G
max_execution_time = 300
upload_max_filesize = 100M
post_max_size = 100M

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

sudo systemctl restart php8.3-fpm

Установка Redis

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

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

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

Установка Composer

curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
composer --version

Установка OroCommerce

Создаём пользователя и директорию:

sudo useradd -m -s /bin/bash oro
sudo mkdir -p /var/www/orocommerce
sudo chown oro:oro /var/www/orocommerce
sudo su - oro

Клонируем репозиторий:

cd /var/www/orocommerce
git clone https://github.com/oroinc/orocommerce-application.git .
git checkout 6.0

Устанавливаем зависимости:

composer install --prefer-dist --no-dev

Это займёт 10-15 минут.

Создаём .env.local файл:

nano .env.local

Содержимое:

APP_ENV=prod
APP_SECRET=generate_random_32_char_string_here
ORO_DB_DSN=postgresql://oro:secure_password@localhost/oro
ORO_DB_DRIVER=pdo_pgsql
ORO_REDIS_DSN=redis://localhost:6379/0
ORO_REDIS_SESSION_DSN=redis://localhost:6379/1
ORO_WEBSOCKET_SERVER_DSN=//localhost:8080
ORO_WEBSOCKET_FRONTEND_DSN=//*:8080
ORO_WEBSOCKET_BACKEND_DSN=tcp://localhost:8080

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

Запускаем инсталлятор:

php bin/console oro:install \
  --application-url=https://your-domain.com \
  --organization-name="Your Company" \
  --user-name=admin \
  --user-email=admin@example.com \
  --user-firstname=Admin \
  --user-lastname=User \
  --user-password=AdminPassword123 \
  --sample-data=n \
  --env=prod \
  --timeout=3000

Установка займёт 15-30 минут в зависимости от мощности сервера. Создаются таблицы, индексы, загружаются fixtures.

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

exit
sudo chown -R oro:www-data /var/www/orocommerce
sudo chmod -R 755 /var/www/orocommerce
sudo chmod -R 775 /var/www/orocommerce/var/cache
sudo chmod -R 775 /var/www/orocommerce/var/logs
sudo chmod -R 775 /var/www/orocommerce/public/media
sudo chmod -R 775 /var/www/orocommerce/public/uploads

Настройка Nginx

Создаём конфигурацию:

sudo nano /etc/nginx/sites-available/orocommerce
server {
    listen 80;
    server_name your-domain.com www.your-domain.com;

    root /var/www/orocommerce/public;
    index index.php;

    client_max_body_size 100M;

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

    location ~ ^/index\.php(/|$) {
        fastcgi_pass unix:/var/run/php/php8.3-fpm.sock;
        fastcgi_split_path_info ^(.+\.php)(/.*)$;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param HTTPS off;
        fastcgi_buffers 64 64k;
        fastcgi_buffer_size 128k;
        internal;
    }

    location ~* ^[^(\.php)]+\.(jpg|jpeg|gif|png|ico|css|pdf|txt|js)$ {
        access_log off;
        expires 1h;
        add_header Cache-Control public;
    }

    error_log /var/log/nginx/orocommerce_error.log;
    access_log /var/log/nginx/orocommerce_access.log;
}

Активируем:

sudo ln -s /etc/nginx/sites-available/orocommerce /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx

SSL сертификат

sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d your-domain.com -d www.your-domain.com

Настройка Message Queue

Создаём systemd сервис для обработки очередей:

sudo nano /etc/systemd/system/oro-consumer.service
[Unit]
Description=Oro Message Queue Consumer
After=network.target postgresql.service redis-server.service

[Service]
Type=simple
User=oro
WorkingDirectory=/var/www/orocommerce
ExecStart=/usr/bin/php /var/www/orocommerce/bin/console oro:message-queue:consume --env=prod
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target

Запускаем:

sudo systemctl daemon-reload
sudo systemctl enable oro-consumer
sudo systemctl start oro-consumer

Настройка Cron

sudo crontab -e -u oro

Добавляем:

*/1 * * * * /usr/bin/php /var/www/orocommerce/bin/console oro:cron --env=prod > /dev/null

Открываем https://your-domain.com — должна загрузиться главная страница OroCommerce. Вход в админку: https://your-domain.com/admin с учётными данными которые указали при установке.

Первоначальная настройка

Настройка организации

System → User Management → Organizations. Здесь управляются организационные единицы если нужна multi-org структура. Для большинства компаний хватит одной организации.

Создание корпоративных аккаунтов

Customers → Accounts. Создайте тестовый корпоративный аккаунт. Укажите название компании, контакты, адреса. В разделе Users добавьте пользователей компании с ролями: Buyer (закупщик), Manager (менеджер), Approver (approver заказов).

Настройка прайс-листов

Sales → Price Lists. Создайте базовый прайс-лист и персональные для VIP клиентов. OroCommerce поддерживает множественные прайсы с приоритетами, автоматические правила расчёта, объёмные скидки.

Добавление товаров

Products → Products → Create Product. Заполняете SKU, название, описание, цены, изображения, атрибуты. Можно создавать product families с наборами атрибутов для разных категорий товаров.

Настройка способов доставки

System → Shipping Rules. Создаёте зоны доставки, способы (курьер, самовывоз, транспортные компании), тарифы. Интеграции с логистическими системами через API или расширения.

Настройка платежей

System → Payment Rules. OroCommerce поддерживает OroPay (встроенная система), интеграции с процессинговыми системами, оплату по счетам (классика для B2B).

B2B функции которые отличают OroCommerce

RFQ (Request for Quote)

Клиент добавляет товары в список и вместо "купить" нажимает "запросить предложение". Запрос попадает в CRM где менеджер формирует коммерческое предложение с индивидуальными ценами, условиями доставки, сроками. После согласования клиент принимает quote и он превращается в заказ.

Punchout каталоги

Интеграция с закупочными системами клиентов (SAP Ariba, Coupa, Jaggaer). Закупщик работает в своей корпоративной системе, нажимает на поставщика, перебрасывается в ваш каталог OroCommerce, выбирает товары и возвращается обратно с корзиной. Всё автоматизировано через cXML или OCI протоколы.

Согласования и лимиты

Пользователь компании-клиента оформляет заказ на $10,000. Если его лимит $5,000 — заказ автоматически уходит на согласование approver'у. Тот получает уведомление, проверяет, одобряет или отклоняет. Всё внутри платформы, никаких email цепочек.

Customer портал

Каждый клиент получает персонализированный портал где видит только свой каталог (с учётом договора), свои цены, историю заказов, счета, shipment tracking, документы. Может переоформить повторяющийся заказ в два клика.

Производительность и масштабирование

Оптимизация PostgreSQL

Отредактируйте /etc/postgresql/15/main/postgresql.conf:

shared_buffers = 4GB
effective_cache_size = 12GB
work_mem = 128MB
maintenance_work_mem = 1GB
random_page_cost = 1.1

Перезапустите:

sudo systemctl restart postgresql

Redis кеширование

OroCommerce активно использует Redis. Проверьте настройки в .env.local и убедитесь что Redis работает без ограничений памяти.

Elasticsearch для поиска

Для каталогов 10,000+ товаров установите Elasticsearch:

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/elasticsearch-keyring.gpg] https://artifacts.elastic.co/packages/8.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-8.x.list
sudo apt update
sudo apt install -y elasticsearch
sudo systemctl start elasticsearch
sudo systemctl enable elasticsearch

Настройте в OroCommerce: System → Configuration → System Configuration → General Setup → Search → Elasticsearch.

Горизонтальное масштабирование

Для высоких нагрузок разнесите компоненты:

  • Dedicated PostgreSQL сервер
  • Отдельный Redis сервер
  • Elasticsearch кластер (3+ nodes)
  • Load balancer перед несколькими web серверами
  • Отдельные workers для Message Queue

Частые вопросы

Чем OroCommerce отличается от Magento?

Создатели те же но OroCommerce полностью переписан для B2B. Нет legacy кода Magento. Современный Symfony вместо Zend. Встроенные CRM и PIM. Фокус на корпоративные процессы а не на B2C функции.

Можно ли использовать OroCommerce для B2C?

Технически да — есть B2C режим. Но это overkill. Платформа оптимизирована для сложных B2B сценариев. Для B2C возьмите WooCommerce, Shopify или PrestaShop.

Какой минимальный VPS нужен?

Тестирование: 4 vCPU / 8 GB RAM. Production: минимум 8 vCPU / 16 GB RAM.

Сколько времени занимает внедрение?

От 3 до 6 месяцев включая настройку, интеграции с ERP, обучение персонала. Быстрых решений в B2B enterprise не бывает.

Поддерживает ли мультиязычность?

Да, полная поддержка множественных языков, валют, складов. Можно запустить сайты для разных регионов с единой админкой.

Как интегрируется с ERP?

Через REST API, готовые коннекторы (NetSuite, SAP, Microsoft Dynamics) или middleware (Mulesoft, Dell Boomi). Синхронизация товаров, цен, остатков, заказов в реальном времени или по расписанию.

Заключение

OroCommerce — мощная платформа для компаний которым нужно больше чем просто магазин. Это комплексное решение для B2B продаж объединяющее ecommerce, CRM, PIM и CMS в единой системе. Встроенные функции для корпоративных клиентов (RFQ, согласования, punchout, иерархии аккаунтов) делают его идеальным для производителей и дистрибьюторов.

Но это не plug-and-play система. Требуется опыт работы с Symfony, хороший VPS, время на настройку и интеграции. Если у вас enterprise B2B бизнес с серьёзными процессами — OroCommerce даст инструменты которых нет в универсальных платформах.

На серверах THE.Hosting вы получаете производительные VPS с NVMe SSD подходящие для PostgreSQL нагрузок, полный root доступ для установки всего стека и помощь техподдержки 24/7.

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

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