4.1.13 Встановлення Zen Cart на хостинг та сервер

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-friendly URLs і кеш
- Увімкніть модуль ЧПУ (людинозрозумілі URL) в адмін-панелі та перевірте відкриття категорій/товарів без
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_your_suffix/. Переконайтеся, що доступ можливий лише за новим шляхом. - Перевірте версію 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 |
Корисні посилання
Офіційна документація та ресурси


