X-Cart на VPS: Symfony-based PHP платформа для интернет-магазина с PCI DSS из коробки

27.03.2026
23:55

X-Cart — PHP платформа для e-commerce с историей с 1999 года. За это время она прошла долгий путь: от простой корзины на Smarty-шаблонах до версии 5.5, переписанной на Symfony и поддерживающей PHP 8. Сегодня X-Cart активно развивается и позиционирует себя как решение для технически сложных магазинов — в первую очередь для рынка автомобильных запчастей и аксессуаров, где важны поиск по модели автомобиля, VIN-lookup и интеграции с отраслевыми каталогами. Для общего e-commerce платформа тоже работает — с сильным акцентом на PCI DSS совместимость и гибкость кастомизации.

В этом руководстве разберём системные требования X-Cart 5.5, процесс установки на VPS THE.Hosting в любой из 50+ локаций — от Германии (Франкфурт) до Японии (Токио), от Нидерландов (Меппел) до США (Нью-Джерси) — и особенности настройки. Только факты и реальные команды.

Что такое X-Cart 5.5

X-Cart 5.5 — это Symfony-based PHP приложение. Начиная с версии 5.5, платформа полностью перестроена на фреймворке Symfony, что дало широкую совместимость с PHP 8, REST API с автогенерируемой документацией и значительно улучшило возможности для разработчиков. Предыдущие версии (5.4.x и ниже) использовали собственную архитектуру.

Лицензионная модель: существует open-source версия X-Cart и коммерческие редакции с расширенным функционалом и поддержкой. Базовая установка доступна бесплатно с сайта x-cart.com. X-Cart является одной из немногих платформ с сертификацией PA-DSS — стандарт безопасности платёжных приложений — что важно для магазинов принимающих банковские карты напрямую через X-Payments.

В октябре 2025 года вышла бета версии 5.6.0 с функцией Intelligent Order Routing (автоматическая маршрутизация заказов на ближайший склад) и учётом остатков по локациям — ориентированы на бизнес с несколькими складами и дропшиппинг-партнёрами.

Кому подходит X-Cart:

X-Cart наиболее органично смотрится в нескольких сценариях. Автомобильный aftermarket — запчасти, аксессуары, тюнинг — там платформа даёт нативный поиск Year-Make-Model, VIN-lookup, функцию "My Garage" и интеграции с отраслевыми каталогами (SEMA Data, ASAP Network, AutoSync). Для B2B и промышленных поставок с прайс-листами, ролевым доступом и управлением оптовыми ценами. Для проектов где критична PCI DSS совместимость без дополнительной сертификации инфраструктуры.

Для простого розничного магазина без специфических требований к поиску по каталогу или отраслевым интеграциям есть более распространённые альтернативы с большей экосистемой тем и разработчиков — PrestaShop, WooCommerce или OpenCart.

Системные требования X-Cart 5.5

Обязательные:

  • PHP 7.4 (официальная рекомендация для 5.5.x; PHP 8 поддерживается начиная с 5.5)
  • MySQL 5.7.7+ или MariaDB 10.2.4+
  • Composer 2.1+
  • Apache 2.4+ или Nginx 1.x
  • Минимум 256 MB RAM выделено PHP (memory_limit)
  • 2+ GB свободного места на диске

PHP расширения: curl (версия libCURL 7.39.0+, рекомендуется 7.43.0+), gd или ImageMagick, intl, mbstring, mysqli, opcache, pdo, pdo_mysql, phar, soap, xml, xmlrpc, xsl, zip, openssl.

Расширение Phar обязательно для обновлений платформы и установки аддонов. Если возникают проблемы при апгрейде — убедитесь что используется Phar 2.0.1 или выше.

Параметры php.ini:

memory_limit = 256M
; На 64-битных серверах — обязательно 256M или выше
max_execution_time = 300
max_input_time = 300
upload_max_filesize = 32M
post_max_size = 32M

mod_rewrite обязателен для корректной работы SEO-дружественных URL.

Подготовка VPS

После заказа VPS на THE.Hosting получаете root доступ. Подключаетесь:

ssh root@ваш-IP-адрес

Обновляете систему и устанавливаете базовые утилиты:

apt update && apt upgrade -y
apt install -y curl wget git unzip

Создаёте рабочего пользователя:

adduser xcart
usermod -aG sudo xcart

Файрвол:

ufw allow OpenSSH
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable

Временная зона:

timedatectl set-timezone America/New_York

Установка стека

Nginx

X-Cart хорошо работает как с Apache, так и с Nginx. Для производительности на VPS предпочтительнее Nginx + PHP-FPM:

apt install nginx -y
systemctl start nginx
systemctl enable nginx

MariaDB

apt install mariadb-server mariadb-client -y
systemctl start mariadb
systemctl enable mariadb
mysql_secure_installation

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

mysql -u root -p
CREATE DATABASE xcart CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'xcart_user'@'localhost' IDENTIFIED BY 'сильный_пароль';
GRANT ALL PRIVILEGES ON xcart.* TO 'xcart_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

PHP 7.4 + PHP-FPM

add-apt-repository ppa:ondrej/php -y
apt update
apt install php7.4-fpm php7.4-cli php7.4-common php7.4-mysql \
php7.4-curl php7.4-gd php7.4-mbstring php7.4-xml php7.4-zip \
php7.4-intl php7.4-soap php7.4-xmlrpc php7.4-xsl php7.4-opcache \
php7.4-pdo php7.4-imagick -y

Настраиваете php.ini для PHP-FPM:

nano /etc/php/7.4/fpm/php.ini

Устанавливаете параметры из раздела системных требований. Перезапускаете PHP-FPM:

systemctl restart php7.4-fpm

Composer

X-Cart 5.5 требует Composer 2.1+:

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

Установка X-Cart

Скачиваете дистрибутив с официального сайта x-cart.com → Download. После получения архива загружаете на сервер:

mkdir -p /var/www/xcart
cd /var/www/xcart
# Загрузите архив на сервер через scp или wget
# wget https://my.x-cart.com/download/... (ссылка из личного кабинета)
tar -xzpf x-cart-5.5.x.x-en.tgz
rm x-cart-5.5.x.x-en.tgz

Устанавливаете права:

chown -R www-dаta:www-data /var/www/xcart
find /var/www/xcart -type d -exec chmod 755 {} \;
find /var/www/xcart -type f -exec chmod 644 {} \;

Конфигурация Nginx

nano /etc/nginx/sites-available/xcart.conf

Содержимое:

server {
    listen 80;
    listen [::]:80;
    server_name yourstore.com www.yourstore.com;
    root /var/www/xcart;
    index cart.php index.php index.html;

    location @handler {
        index cart.php;
        rewrite ^/sitemap.xml(\?.+)?$ /cart.php?target=sitemap;
        rewrite ^/(.*)$ /cart.php?url=$1 last;
    }

    location / {
        try_files $uri $uri/ @handler;
    }

    location ~ \.php$ {
        try_files $uri @handler;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_index index.php;
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
        include fastcgi_params;
        fastcgi_param PATH_INFO $fastcgi_path_info;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }

    location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg|woff|woff2)$ {
        expires 30d;
        add_header Cache-Control "public, no-transform";
    }

    access_log /var/log/nginx/xcart-access.log;
    error_log /var/log/nginx/xcart-error.log;
}

Активируете конфиг:

ln -s /etc/nginx/sites-available/xcart.conf /etc/nginx/sites-enabled/
nginx -t
systemctl reload nginx

SSL-сертификат

apt install certbot python3-certbot-nginx -y
certbot --nginx -d yourstore.com -d www.yourstore.com

Веб-установщик X-Cart

Открываете в браузере https://yourstore.com/install.php. Установщик проверяет соответствие сервера требованиям — все пункты должны быть зелёными.

Принимаете лицензионное соглашение. Вводите данные базы данных: хост localhost, имя базы xcart, пользователь и пароль. Создаёте аккаунт администратора.

Установщик автоматически выполняет все шаги: настройка директорий, построение кеша, заполнение базы данных. Процесс занимает 3–10 минут в зависимости от мощности сервера.

После завершения удаляете файл install.php — обязательный шаг безопасности:

rm /var/www/xcart/install.php

Панель администратора доступна по адресу https://yourstore.com/admin.php.

Настройка после установки

Основные параметры — Admin → My store settings. Название магазина, email, валюта, страна, часовой пояс.

Платёжные модули — Admin → Store Setup → Payment Methods. X-Cart включает десятки встроенных интеграций: PayPal, Stripe, Authorize.Net, Braintree и другие. Для работы с картами непосредственно на сайте без редиректа используется X-Payments — отдельный PA-DSS сертифицированный компонент.

Доставка — Admin → Store Setup → Shipping. Настраиваете зоны, методы расчёта (по весу, стоимости, фиксированные), интеграции с UPS, FedEx, USPS, DHL.

Кеширование — Admin → System Tools → Cache Management. X-Cart использует собственный механизм кеширования. Для выбора бэкенда кеша (файловый, Redis, APC) настройки доступны в разделе Server Requirements & Setup в официальной документации.

Cron-задачи — X-Cart требует настройки cron для фоновых задач: обновление курсов валют, очистка устаревших данных, обработка очередей. Добавьте в crontab:

crontab -e
*/5 * * * * /usr/bin/php /var/www/xcart/console.php --target=cron >/dev/null 2>&1

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

OPcache — убедитесь что включён и настроен:

opcache.enable = 1
opcache.memory_consumption = 128
opcache.max_accelerated_files = 10000
opcache.revalidate_freq = 60

FastCGI кеширование — для Nginx добавьте кеш статических PHP-страниц. Значительно снижает нагрузку на PHP-FPM при повторных запросах одних и тех же страниц каталога.

MariaDB — увеличьте innodb_buffer_pool_size до 50–70% доступной RAM. Для X-Cart с большим каталогом это критически важно для производительности запросов.

Redis для сессий — для нагруженных магазинов переведите хранение сессий на Redis:

apt install redis-server php7.4-redis -y

Настройте в php.ini:

session.save_handler = redis
session.save_path = "tcp://127.0.0.1:6379"

Какой VPS выбрать на THE.Hosting

Для разработки и тестирования — Ferrum VPS с 2 vCPU / 2 GB RAM / 40 GB NVMe, от €12/месяц, доступен во всех 50+ локациях.

Для боевого магазина X-Cart требователен к RAM из-за Symfony-архитектуры — берите Standard VPS с 4 vCPU / 8 GB RAM / 80 GB NVMe как минимум для продакшн с умеренным трафиком.

Для автомобильного aftermarket (основная аудитория X-Cart): США (Нью-Джерси, Secaucus) и Канада (Торонто) — крупнейшие рынки автозапчастей в Северной Америке; Германия (Франкфурт) — для европейского авторынка; Великобритания (Лондон) — отдельный крупный рынок RHD-автомобилей и запчастей.

Для европейского e-commerce: Нидерланды (Меппел) — интернет-хаб Европы; Германия (Франкфурт) — соответствие GDPR; Франция (Париж) — франкоязычная аудитория.

Азиатский рынок: Япония (Токио) — низкий пинг для всей Восточной Азии; Гонконг — доступ к Китаю; Южная Корея (Сеул).

СНГ и Восточная Европа: Молдова (Кишинёв) — доступны Dedicated серверы; Польша (Варшава); Финляндия (Хельсинки).

Для высоконагруженных проектов сразу смотрите на Dedicated Server — доступны в Финляндии, Франции, Германии, Молдове, Нидерландах, США и Великобритании.

Типичные проблемы

Белый экран или ошибка 500. Проверяйте лог Nginx: tail -f /var/log/nginx/xcart-error.log и лог PHP-FPM: tail -f /var/log/php7.4-fpm.log. Чаще всего — недостаточный memory_limit (нужно минимум 256M на 64-битной системе) или отсутствующее PHP расширение.

Установщик не проходит проверку расширений. Убедитесь что расширения установлены именно для php7.4-fpm, а не для системного PHP. Проверить: php7.4 -m | grep -E "phar|soap|xmlrpc".

Медленное построение кеша. Нормально для первого запуска. Если процесс падает по таймауту — увеличьте max_execution_time в /etc/php/7.4/fpm/php.ini до 600 и перезапустите php-fpm.

Cron не работает. X-Cart явно указывает на необходимость cron для ряда функций. Проверьте что задача добавлена для пользователя www-data или запускается с правильными путями. Для диагностики запустите вручную: sudo -u www-data /usr/bin/php /var/www/xcart/console.php --target=cron.

Готовы запустить магазин на X-Cart?

На VPS THE.Hosting с NVMe дисками и root доступом вы получаете полный контроль — настраивайте Nginx, PHP-FPM и MariaDB под требования Symfony-based платформы. Выбирайте локацию ближайшую к вашей аудитории из 50+ доступных.

Заказать VPS для X-Cart

FAQ:

X-Cart бесплатный? Есть бесплатная open-source версия, доступная для скачивания на x-cart.com. Коммерческие редакции (Business, Ultimate) добавляют функционал и поддержку — стоимость уточняйте на сайте. X-Payments (платёжный компонент с PA-DSS) лицензируется отдельно.

Чем X-Cart 5.5 отличается от 5.4? Фундаментально — версия 5.5 переписана на Symfony. Это означает поддержку PHP 8, REST API с документацией, совместимость с экосистемой Symfony бандлов и современную структуру приложения. Обновление с 5.4.x до 5.5.x — нетривиальный процесс, требует Composer 2.1+ и ряда ручных манипуляций с файлами.

Для чего X-Cart особенно хорошо подходит? Прежде всего — для автомобильного aftermarket: запчасти, аксессуары, тюнинг. Нативный Year-Make-Model поиск, VIN-lookup, интеграции с отраслевыми каталогами (SEMA Data, ASAP Network) — это то чего нет из коробки в PrestaShop, WooCommerce или Magento. Для общего e-commerce работает, но конкурентное преимущество именно в automotive нише.

Насколько нагружен сервер относительно других PHP платформ? X-Cart 5.5 на Symfony тяжелее чем PrestaShop или OpenCart при аналогичной нагрузке. Symfony-фреймворк потребляет больше памяти на старте — минимум 256M на процесс, для комфортной работы лучше 512M. Учитывайте это при выборе тарифа VPS.

Поддерживает ли X-Cart несколько магазинов? Мультисайтовость доступна в коммерческих редакциях. В базовой open-source версии управление несколькими независимыми магазинами не предусмотрено.

Полезные ссылки THE.Hosting:

Ресурсы X-Cart: