4.1.13 Установка Zen Cart CMS на хостинг и сервер

Zen Cart — открытая CMS для интернет-магазинов на PHP. Поддерживает систему модулей, шаблонов и плагинов оплаты/доставки. Гибкая архитектура, активное сообщество и совместимость с современными версиями PHP делают Zen Cart подходящим решением для малого и среднего e-commerce, особенно когда важны расширяемость и контроль над кодом. Поддерживает мультиязычность и мультивалютность, гибкое управление каталогом, купонами и налоговыми правилами, а также встроенные инструменты SEO. Через каталог модулей легко подключать платёжные шлюзы и службы доставки, интегрироваться с CRM/ERP и настраивать темы без вмешательства в ядро.
Подготовка окружения
Требования
- Активная услуга Хостинга, Виртуального сервера или Выделенного сервера
- CPU: 2–4 vCPU; RAM: от 4 ГБ; SSD: от 20 ГБ
- ОС: Ubuntu 22.04 LTS или 24.04 LTS
- Веб-сервер: Nginx 1.20+ или Apache 2.4+ (рекомендуется Unix-среда)
- PHP: 8.2–8.3,
memory_limit≥512M - СУБД: MySQL 8.0+ или MariaDB 10.5+
- Доступ: root или пользователь с правами
sudo
Переменные окружения
DOMAIN_NAME— Ваше доменное имяZC_VERSION— версия Zen Cart, например1.5.9(уточните в разделе Releases на GitHub)DB_HOST,DB_NAME,DB_USER,DB_PASSWORD— параметры подключения к БДWWW_USER,WWW_GROUP— пользователь и группа веб-сервера (обычноwww-data)ADMIN_EMAIL,ADMIN_PASS— учётные данные администратора
Установка Zen Cart на хостинг
- Скачайте стабильную версию Zen Cart с официального сайта Zen Cart
- Загрузите архив на хостинг через менеджер файлов или по FTP.
- Создайте пользователя и базу данных. Сохраните
DB_HOST,DB_NAME,DB_USER,DB_PASSWORD. - Запустите установщик через браузер. Откройте
http://DOMAIN_NAME/zc_install/и следуйте мастеру установки:

- Укажите адрес административной панели и настройки каталогов

- Заполните параметры созданой ранее базы данных (
DB_HOST,DB_NAME,DB_USER,DB_PASSWORD);

- Дождитесь окончания настройки базы данных

- Заполните данные для административного пользователя

- Завершите установку и сохраните выданный установщиком конфигурационный файл.

Совет! После установки переименуйте каталог админ-панели в уникальное имя. Установщик предложит это сделать автоматически.
Установка Zen Cart на сервер
- Подготовьте каталог и скачайте релиз.
sudo mkdir -p /var/www/DOMAIN_NAME && cd /var/www/DOMAIN_NAME
export ZC_VERSION=1.5.9 # пример; уточните актуальную версию
wget -O zencart.zip "https://github.com/zencart/zencart/archive/refs/tags/v${ZC_VERSION}.zip"
unzip zencart.zip && rm zencart.zip
# Перенесём файлы каталога, если они в поддиректории
shopt -s dotglob nullglob; mv zencart-*/\* .; rmdir zencart-*/ || true
- Создайте базу и пользователя.
mysql -u root <<'SQL'
CREATE DATABASE DB_NAME CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'DB_USER'@'localhost' IDENTIFIED BY 'DB_PASSWORD';
GRANT ALL PRIVILEGES ON DB_NAME.* TO 'DB_USER'@'localhost';
FLUSH PRIVILEGES;
- Установите PHP и расширения.
sudo apt update
sudo apt install -y php8.2 php8.2-fpm php8.2-cli php8.2-mysql php8.2-xml \
php8.2-gd php8.2-curl php8.2-zip php8.2-intl php8.2-mbstring
php -v
php -m | grep -E "mbstring|intl|zip|curl|xml|gd|mysql"
Настройте конфигурацию php в файле php.ini: memory_limit=512M, max_execution_time=300.
Проверьте версии сервисов:
nginx -v
mysql --version
php -v
- Дайте права веб-серверу.
sudo chown -R WWW_USER:WWW_GROUP /var/www/DOMAIN_NAME
find /var/www/DOMAIN_NAME -type d -exec chmod 755 {} \;
find /var/www/DOMAIN_NAME -type f -exec chmod 644 {} \;
- Запустите веб-установщик. Откройте
http://DOMAIN_NAME/zc_install/и завершите установку.
Настройка веб-сервера Nginx
server {
listen 80;
server_name DOMAIN_NAME;
root /var/www/DOMAIN_NAME/;
index index.php index.html;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
fastcgi_read_timeout 120;
}
# Защита от прямого доступа к служебным путям
location ~* ^/(zc_install/|cache/|logs/|includes/extra_configures/|.git/) {
deny all;
return 403;
}
}
Активируйте сайт и перезапустите Nginx:
sudo ln -s /etc/nginx/sites-available/zencart.conf /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx
Важно: после успешной установки удалите каталог zc_install/ и переименуйте каталог admin в уникальное имя. Иначе административная панель и инсталлятор могут стать точкой атаки.
Настройка дополнительных функций Zen Cart
SSL-сертификат (HTTPS)
Для работы по защищенному протоколу HTTPS используйте Let’s Encrypt или коммерческий SSL-сертификат
ЧПУ (SEO URLs) и кэш
- Включите модуль ЧПУ в админ-панели и проверьте открытие категорий/товаров без
index.php?main_page=.... - Активируйте OPcache в PHP для ускорения загрузки.
Почта магазина (SMTP)
Укажите SMTP-параметры в админ-панели Zen Cart, чтобы исключить проблемы с отправкой писем:
account default
host SMTP_HOST
port SMTP_PORT
auth on
user SMTP_USER
password SMTP_PASSWORD
tls on
Подсказка! С параметрами для подключения Вы можете ознакомиться в нашей инструкции
Резервное копирование
- Делайте регулярные дампы БД:
0 2 * * * /usr/bin/mysqldump -u DB_USER -p'DB_PASSWORD' DB_NAME | gzip > /backup/zencart-$(date +\%F).sql.gz
- Храните копии вне сервера приложения.
Проверка работы
- Откройте витрину:
http://DOMAIN_NAME/— главная страница должна загружаться без ошибок 404/500. - Войдите в административную панель:
http://DOMAIN_NAME/admin_ваш_суффикс/. Убедитесь, что доступ возможен только по новому пути. - Проверьте версию Zen Cart:
grep -E "PROJECT_VERSION_(MAJOR|MINOR|PATCH)" includes/version.php
Вы увидите номера MAJOR/MINOR/PATCH, соответствующие установленному релизу.
Распространённые ошибки
| Ошибка / Симптом | Причина | Решение |
|---|---|---|
| “Deprecated”/“Warning” на витрине | Несовпадение версии PHP/модулей | Используйте PHP 8.2–8.3, отключите display_errors в продакшене |
403 на /admin_.../ |
Неправильные права на файлы и папки сайта, которые мешают процессам пользователя www-data запись в указанную директорию |
Проверьте владельца и location-правила Nginx |
| Пустые изображения/стили | Неверные корневые пути в конфиге | Исправьте пути в includes/configure.php |
Полезные ссылки
Официальная документация и ресурсы


