Нічого не знайдено

Спробуйте інший пошуковий запит

Популярні запити:

Додати в кошик

Кошик

У вас поки немає покупок

Переглянути маркетплейс

Перенесення сайту OpenCart на інший хостинг: інструкція

Як перенести магазин на OpenCart: файли, база, config.php, права доступу та кеш модифікацій. Типові помилки й чек-лист після переїзду.

4 хв читання
115
0
Перенесення сайту OpenCart на інший хостинг: інструкція

Типова картина: файли залиті, база імпортована, вводите домен і бачите білий екран. Або відкривається головна, але без жодної картинки, а адмінка віддає помилку 500. Сам процес перенесення OpenCart нескладний, магазин складається з файлів і однієї бази MySQL. Проблеми майже завжди ховаються у двох конфігах і в дрібницях, про які згадують уже після переїзду.


Що саме переносимо

Дві речі: усі файли з кореня сайту та дамп бази даних. Більше нічого. Ліцензій, прив'язок до сервера чи прихованих залежностей у стандартному OpenCart немає. Інша річ платні модулі: кожен ліцензується по-своєму, десь прив'язка до домену, десь до сервера, десь її нема взагалі. Якщо такі модулі у вас стоять, напишіть розробнику кожного ще до переїзду й уточніть, чи потрібно переоформити ліцензію. Це індивідуально для кожного модуля, універсального правила тут немає.

Перед стартом зафіксуйте версії на старому сервері: версію OpenCart (видно в футері адмінки) та версію PHP (просто файл із phpinfo()). Друга цифра критична: переїзд, скажімо, з PHP 7.4 на 8.1 разом зі зміною хостингу перетворює пошук проблеми на лотерею. Ви не зрозумієте, що зламалося: сервер, конфіг чи несумісний модуль. Спершу переїжджайте на ту саму версію PHP, а вже потім, на новому місці, експериментуйте з підвищенням.


Крок 1. Резервні копії

Файли зручніше пакувати архівом на сервері, а не тягнути 40 тисяч дрібних файлів по FTP. Якщо є SSH:

tar -czf shop-files.tar.gz -C /var/www/mysite/public_html .
mysqldump -u db_user -p db_name > shop-db.sql

Без SSH підійде phpMyAdmin для бази й архіватор у файловому менеджері панелі. На великій базі phpMyAdmin може обрубати експорт по таймауту, тоді просіть підтримку хостингу зробити дамп або скористайтеся скриптом на кшталт Sypex Dumper.

Копії зробіть до будь-яких дій і не видаляйте старий сайт, поки новий не пропрацює хоча б тиждень.


Крок 2. Файли та база на новому сервері

Розпакуйте архів у корінь сайту, створіть у панелі нову базу та користувача, імпортуйте дамп. Тут одна засідка: кодування. Якщо стара база була в utf8, а нова створена як utf8mb4 (чи навпаки), після імпорту кирилиця може перетворитися на знаки питання. Перевірте кодування дампа в перших рядках файлу і створюйте базу з тим самим.


Крок 3. config.php і admin/config.php

Ось де зарито більшість білих екранів. У корені лежить config.php, в папці адмінки другий такий самий, і правити треба обидва. Всередині два блоки: шляхи до папок і доступи до бази.


Неправильно (шляхи лишилися від старого сервера):

define('DIR_APPLICATION', '/home/olduser/public_html/catalog/');
define('DB_USERNAME', 'olduser_shop');


Правильно (актуальний шлях і нові доступи):

define('DIR_APPLICATION', '/var/www/mysite/public_html/catalog/');
define('DB_USERNAME', 'newuser_shop');


Повний шлях до кореня на новому сервері підкаже панель або команда pwd у потрібній папці. В admin/config.phpшляхів більше, там окремо прописані DIR_CATALOG і HTTP_CATALOG, не пропустіть їх. В OpenCart 3.x зверніть увагу ще на DIR_STORAGE: якщо на старому сервері папку storage виносили за межі public_html (движок сам це пропонує), на новому її треба покласти так само і вказати коректний шлях.

Якщо після правки конфігів сайт мовчить, не гадайте. Відкрийте system/storage/logs/error.log або лог PHP у панелі: там буде точний файл і рядок, зазвичай це недописаний шлях або старий пароль бази.


Крок 4. Права доступу і PHP

На більшості хостингів достатньо 755 для папок і 644 для файлів; виставляти 777 не треба, це не лікує проблему, а лише відкриває дірку.

Перевірте в панелі версію PHP і ліміти: max_input_vars від 10000 (інакше не збережуться великі модулі й меню), memory_limit від 256M, upload_max_filesize під ваші імпорти. Якщо магазин жив на Apache з .htaccess, а новий сервер на NGINX, правила ЧПУ доведеться переписати під формат NGINX, інакше всі SEO-адреси віддадуть 404 при тому, що головна працює як ні в чому не бувало.


Крок 5. Після переїзду

Зайдіть в адмінку і оновіть кеш модифікаторів: Розширення → Модифікатори → кнопка «Оновити». Без цього OCMOD-правки можуть підхопитися зі старого кешу з чужими шляхами. В OpenCart 3.x додатково очистіть кеш теми та SASS через іконку шестерні на головній сторінці адмінки.

Далі пройдіться по живому магазину: категорія, картка товару, пошук, додавання в кошик, оформлення замовлення до кінця. Окремо перевірте пошту: якщо стояв SMTP старого хостингу, лист про замовлення тихо перестане доходити, і ви дізнаєтесь про це від клієнта через тиждень. І погляньте в error.log наступні кілька днів, дрібні недопереносини спливають саме там.

Домен перемикайте на новий сервер після всіх перевірок (тестувати можна через файл hosts на своєму комп'ютері). TTL DNS-запису варто заздалегідь знизити до 300–600 секунд, тоді перемикання пройде за хвилини, а не за добу.


Чек-лист перенесення

  •  Зафіксовано версію OpenCart і версію PHP старого сервера
  •  Написано розробникам платних модулів щодо переоформлення ліцензій
  •  Зроблено архів файлів і дамп бази, копії збережено локально
  •  База створена з тим самим кодуванням, що й дамп
  •  Виправлено шляхи та доступи в config.php і admin/config.php
  •  Для OC 3.x: перевірено DIR_STORAGE і розташування папки storage
  •  Права: 755 на папки, 644 на файли
  •  PHP тієї самої версії, max_input_vars ≥ 10000
  •  Переписано правила ЧПУ, якщо змінився вебсервер (Apache → NGINX)
  •  Оновлено кеш модифікаторів, для OC 3.x очищено кеш теми
  •  Пройдено шлях покупця до оформлення замовлення, перевірено пошту
  •  Знижено TTL, домен перемкнуто, старий сервер живе ще тиждень про запас
OCTemplates

OCTemplates

OCTemplates — команда розробників та дизайнерів з України з досвідом у веброзробці з 2002 року. З 2015 року спеціалізуються на шаблонах та модулях для OpenCart: швидких, SEO-оптимізованих і готових до роботи в реальних умовах e-commerce. Продукти OCTemplates використовують тисячі інтернет-магазинів у Європі, Азії, Північній Америці та Австралії. Кожен покупець отримує не лише готове рішення, а й технічну підтримку та консультації з налаштування магазину.

статей
11
переглядів
1,932
вподобання
3
підписників
0

Схожі статті

Коментарі (0)

Відповідь для

Увійдіть, щоб залишити коментар

Увійти

Коментарів поки немає

Будьте першим, хто залишить коментар до цієї статті!

Ми використовуємо cookies

Ми використовуємо cookies та схожі технології для покращення вашого досвіду, аналізу трафіку та показу персоналізованої реклами. Детальніше — у нашій Політиці cookies.