До основного вмісту

Перенесення інтернет-магазину OpenCart на новий сервер

Міграція · 19.04.2026 · 2 хв читання
Ілюстрація до статті «Перенесення інтернет-магазину OpenCart на новий сервер»

Перенесення OpenCart вимагає особливої уваги до двох речей: конфігураційних файлів зі шляхами й URL та таблиць бази даних із замовленнями і клієнтами. Неправильне перенесення може порушити роботу магазину і призвести до втрати замовлень.

Структура файлів OpenCart

Директорія/файлЩо зберігаєВажливість для міграції
config.phpШляхи та дані БД (корінь)Критично важливий
admin/config.phpШляхи та дані БД (адмінка)Критично важливий
image/Зображення товарівВеликий обсяг, не забути
system/storage/Логи, кеш, сесіїОчистити перед міграцією
.htaccessSEO URL, правила ApacheВажливий для Nginx

Крок 1: Підготовка — очистити сміття

># Перед створенням бекапу очистити тимчасові файли
rm -rf /var/www/opencart/system/storage/cache/*
rm -rf /var/www/opencart/system/storage/logs/*.log
rm -rf /var/www/opencart/system/storage/session/*

Крок 2: Бекап файлів і бази даних

# Архів файлів
tar -czf opencart-files.tar.gz /var/www/opencart/

# Дамп БД (з усіма даними: товари, замовлення, клієнти)
mysqldump -u ocuser -p ocdb   --single-transaction   --routines   --triggers > opencart-db.sql

Крок 3: Перенесення і відновлення

># Перенести на новий сервер
rsync -avz /var/www/opencart/ root@new-server:/var/www/opencart/

# Відновити БД
mysql -u newocuser -p newocdb < opencart-db.sql

Крок 4: Оновлення config.php (обидва файли!)

># /var/www/opencart/config.php
define('HTTP_SERVER', 'https://www.new-domain.com/');
define('HTTPS_SERVER', 'https://www.new-domain.com/');
define('DIR_OPENCART', '/var/www/opencart/');
define('DIR_APPLICATION', '/var/www/opencart/catalog/');

define('DB_HOSTNAME', 'localhost');
define('DB_USERNAME', 'newocuser');
define('DB_PASSWORD', 'NewPass123');
define('DB_DATABASE', 'newocdb');

# /var/www/opencart/admin/config.php
define('HTTP_SERVER', 'https://www.new-domain.com/admin/');
define('HTTPS_SERVER', 'https://www.new-domain.com/admin/');
define('HTTP_CATALOG', 'https://www.new-domain.com/');
define('DIR_OPENCART', '/var/www/opencart/');
define('DIR_CATALOG', '/var/www/opencart/catalog/');

Крок 5: Оновлення URL у базі даних

># При зміні домену оновити налаштування магазину
mysql -u newocuser -p newocdb <<'SQL'
UPDATE oc_setting
SET value = 'https://www.new-domain.com/'
WHERE `key` = 'config_url';

UPDATE oc_setting
SET value = 'https://www.new-domain.com/'
WHERE `key` = 'config_ssl';
SQL
SEO URL на Nginx: OpenCart використовує .htaccess для SEF URL. На Nginx додайте в конфіг:
>location / {
    try_files $uri $uri/ @opencart;
}
location @opencart {
    rewrite ^/(.+)$ /index.php?_route_=$1 last;
}

Чекліст перевірки після перенесення

  • Головна сторінка і категорії відкриваються
  • Сторінка товару із зображеннями відображається
  • Додати товар у кошик і оформити тестове замовлення
  • Увійти в /admin — переконатися, що всі розділи працюють
  • Перевірити історію замовлень — чи всі на місці
  • Перевірити email-сповіщення про замовлення
  • Переконатися, що платіжні модулі налаштовані на новий домен
Платіжні системи: Після зміни домену обов'язково оновіть callback URL в особистих кабінетах платіжних систем (ЮKassa, LiqPay, Stripe та ін.). Без цього платежі не будуть оброблятися.
Чи була стаття корисною?
← Назад до бази знань Поставити питання підтримці