Гид по технологиям

Установка X‑Cart 5 на Debian 10 с Nginx и MariaDB

• 5 min read • Инструкции • Обновлено 23 Nov 2025
Установка X‑Cart 5 на Debian 10
Установка X‑Cart 5 на Debian 10

Обкладка: панель управления интернет-магазином X‑Cart

Что включает этот гайд

  • Быстрая сводка требований и команд для Debian 10.
  • Полный набор команд для установки PHP, MariaDB, Nginx и X‑Cart.
  • Инструкция по получению TLS‑сертификата с помощью acme.sh.
  • Рекомендации по безопасности, тестированию и устранению проблем.

Important: этот гайд рассчитан на Debian 10 и X‑Cart 5. Перед началом сделайте резервную копию данных и убедитесь, что у вас есть доступ sudo.

Требования и совместимость

  • PHP версии 7.2 или выше. Рекомендуется PHP 7.3/7.4 для лучшей совместимости. Определите версию командой php --version.
  • PHP‑расширения: pdo, phar, mysql (или mysqli), mbstring, curl, json, xml, gd.
  • MySQL версии 5.7.7+ или эквивалент MariaDB.
  • Nginx (стабильная ветка в репозиториях Debian 10).

Фактбокс:

  • Минимальные требования: PHP ≥7.2, MySQL ≥5.7.7.
  • Рекомендуемые права: каталог веб‑документов — владелец www-data.

Начальные шаги (проверки и обновления)

Проверьте версию Debian:

lsb_release -ds

Установите часовой пояс (интерактивно):

sudo dpkg-reconfigure tzdata

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

sudo apt update && sudo apt upgrade -y
sudo apt install -y curl wget vim git unzip socat bash-completion

Установка PHP и необходимых расширений

Установите PHP и расширения:

sudo apt install -y php php-cli php-fpm php-common php-mbstring php-curl php-mysql php-json php-xml php-phar php-pdo php-gd

Проверьте загруженные модули PHP:

php -m

Пример вывода (среди модулей должны быть ctype, curl, exif, fileinfo и т.д.).

Проверьте версию PHP:

php --version

PHP‑FPM в Debian 10 обычно запускается и включается автоматически. Если нужно — проверьте статус:

sudo systemctl status php7.3-fpm

Установка MariaDB и создание базы данных

Установите MariaDB:

sudo apt install -y mariadb-server

Проверьте версию сервера:

mysql --version

Выведите скрипт безопасной настройки MariaDB:

sudo mysql_secure_installation

Войдите в MariaDB как root и создайте базу и пользователя (замените dbname, username, password на свои значения):

sudo mysql -u root -p
# Enter password:
CREATE DATABASE dbname;
GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
exit;

Получение TLS‑сертификата через acme.sh (опционально)

HTTPS не обязателен, но настоятельно рекомендуется.

Установите acme.sh и зарегистрируйте почту:

sudo su - root
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh
./acme.sh --install --accountemail your-email@example.com
source ~/.bashrc
cd ~

Проверьте версию:

acme.sh --version

Выдайте сертификаты RSA и ECDSA (замените example.com на ваш домен):

# RSA 2048
acme.sh --issue --standalone -d example.com --keylength 2048
# ECDSA
acme.sh --issue --standalone -d example.com --keylength ec-256

Для тестовой выдачи добавьте --staging.

Сертификаты будут в директориях /home/username/example.com и /home/username/example.com_ecc.

Создайте директорию для копирования сертификатов (корректное написание):

sudo mkdir -p /etc/letsencrypt/example.com
sudo mkdir -p /etc/letsencrypt/example.com_ecc

Скопируйте/установите сертификаты и укажите команду перезагрузки Nginx:

# RSA
acme.sh --install-cert -d example.com --cert-file /etc/letsencrypt/example.com/cert.pem --key-file /etc/letsencrypt/example.com/private.key --fullchain-file /etc/letsencrypt/example.com/fullchain.pem --reloadcmd "sudo systemctl reload nginx.service"
# ECC/ECDSA
acme.sh --install-cert -d example.com --ecc --cert-file /etc/letsencrypt/example.com_ecc/cert.pem --key-file /etc/letsencrypt/example.com_ecc/private.key --fullchain-file /etc/letsencrypt/example.com_ecc/fullchain.pem --reloadcmd "sudo systemctl reload nginx.service"

Все сертификаты acme.sh по умолчанию автоматически обновляются.

Выйдите из root:

exit

Note: для автоматизации на серверах с брандмауэрами откройте порт 80 на период подтверждения --standalone или используйте --webroot с уже запущенным Nginx.

Установка и конфигурация Nginx

Установите Nginx:

sudo apt install -y nginx

Проверьте версию:

sudo nginx -v

Создайте конфигурацию сайта для X‑Cart:

sudo vim /etc/nginx/sites-available/xcart.conf

Пример содержимого (замените example.com и путь root при необходимости):

server {
  listen 80;
  listen [::]:80;
  root /var/www/xcart;
  index index.php index.html index.htm;
  server_name example.com;
  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.3-fpm.sock;
    include fastcgi_params;
    fastcgi_param PATH_INFO $fastcgi_path_info;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  }
}

Активируйте сайт и проверьте конфигурацию:

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

Если используете HTTPS, добавьте серверный блок для 443 с путями к /etc/letsencrypt/.../fullchain.pem и private.key.

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

Перейдите в каталог веб‑документов и распакуйте дистрибутив X‑Cart:

cd /var/www/
# скачайте архив с https://www.x-cart.com/download.html и распакуйте в /var/www/xcart

Установите владельца каталога в www-data:

sudo chown -R www-data:www-data /var/www/xcart

Откройте в браузере http://example.com/install.php и следуйте мастеру установки.

Финальная настройка через веб‑мастер

  • Примите лицензионное соглашение и нажмите Next.

Мастер установки X‑Cart: приветствие и лицензия

  • Создайте аккаунт администратора.

Форма создания аккаунта администратора в X‑Cart

  • Мастер проверит системные требования.

Проверка системных требований для X‑Cart

  • Введите параметры базы данных.

Параметры подключения к базе данных в X‑Cart

  • Установка директорий и сборка кэша происходят автоматически. Подождите, пока процесс завершится.

Процесс установки X‑Cart: прогресс

После завершения вы получите ссылки на фронт‑офис магазина и админ‑панель.

Успешная установка X‑Cart

Рекомендации по безопасности и производительности

  • Запустите сайт под минимально необходимыми правами. Каталог /var/www/xcart — www-data:www-data.
  • Включите и настройте файрвол (ufw) — открывайте только порты 80/443 и SSH (обычно 22 или кастомный).
  • Ограничьте доступ к административной панели по IP (если возможно).
  • Используйте HTTPS и HSTS, чтобы защитить сессионные куки и трафик.
  • Настройте регулярное резервное копирование базы данных и файлов.
  • В production окружении включите OPcache и оптимизируйте PHP‑FPM (pool settings).

Чеклист по ролям

Администратор сервера:

  • Обновить систему и пакеты.
  • Установить PHP, MariaDB, Nginx.
  • Настроить резервирование и мониторинг.

Разработчик / интегратор:

  • Проверить версии PHP и расширения.
  • Подготовить конфигурации Nginx и php.ini для производительности.
  • Тестировать работу модулей X‑Cart в staging.

Владелец магазина:

  • Подготовить данные магазина и контент.
  • Настроить админ‑аккаунт и проверять работоспособность платежей и уведомлений.

Тесты и критерии приёмки

  • Сайт открывается по HTTP/HTTPS и возвращает 200 на главной странице.
  • Страницы корзины и оформления заказа работают без ошибок (код 500).
  • В админ‑панели можно войти под созданным админом.
  • Соединение с базой данных установлено и операции CRUD проходят успешно.

Типичные проблемы и как их решать

  • Ошибка 502 Bad Gateway: проверьте статус php‑fpm и путь в fastcgi_pass.
  • Пропущенные PHP‑модули: запустите php -m и установите недостающие расширения.
  • Проблемы с правами: проверьте владельца и права /var/www/xcart.
  • TLS: если acme.sh не прошёл проверку standalone, проверьте, не занят ли порт 80.

Альтернативные подходы

  • Вместо MariaDB можно использовать MySQL 5.7+.
  • Вместо acme.sh можно применять certbot (letsencrypt) или использовать платные сертификаты.
  • Для автоматизации установки используйте Ansible‑плейбук или Docker‑контейнеры.

Миграция с более старой версии X‑Cart

  • Выполните резервное копирование базы и файлов.
  • Проверьте совместимость модулей с версией 5.
  • Воспользуйтесь официальной документацией и инструкциями по обновлению шаг за шагом.

Быстрый план действий (mini‑методология)

  1. Резервная копия существующих данных.
  2. Обновление системы и установка зависимостей.
  3. Настройка БД и пользователя.
  4. Установка PHP и Nginx.
  5. Получение сертификата (опционально).
  6. Установка X‑Cart и проверка работоспособности.

Короткий глоссарий

  • PHP‑FPM — менеджер процессов PHP для обработки PHP‑запросов.
  • acme.sh — клиент для получения сертификатов от Let’s Encrypt.
  • fastcgi_pass — директива Nginx для передачи PHP‑запросов в PHP‑FPM.

Итог / Краткое резюме

  • Выполните предварительные проверки и обновления системы.
  • Установите PHP с нужными расширениями и MariaDB.
  • Настройте Nginx в соответствии с конфигурацией для X‑Cart.
  • Опционально получите сертификат через acme.sh и включите HTTPS.
  • Протестируйте сайт по чеклисту и настройте резервное копирование.

Summary:

  • X‑Cart 5 успешно устанавливается на Debian 10 при соблюдении требований.
  • HTTPS и регулярные бэкапы увеличивают безопасность.
  • Проверьте права доступа и PHP‑модули перед запуском.
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро