Не знаете как перенести opencart на другой хостинг? Это элементарно!
Создаем резервные копии файлов сайта
Для начала необходимо скопировать все файлы сайта на компьютер. Откройте программу FTP-клиента, например, FileZilla Client и переместите содержимое корневого каталога сайта в отдельную папку на своем ПК. Также возможно скачать архив с файлами через файловый менеджер в панели хостинг аккаунта.
При переносе сайта на другой хостинг важно помнить, что вместе с основной структурой OpenCart необходимо перенести и папку storage, так как в ней хранятся логи, сессии, кэш и прочие служебные данные, без которых сайт будет работать некорректно. Изначально она находится в директории system, но после первичной установки OpenCart на хостинг установщик предлагает ее переместить в другое место на выбор администратора. Куда она была перемещена можно также посмотреть в файле конфигурации в канстанте DIR_STORAGE.

Удаление кеша изображений
Также для экономии места и времени копировать кэш изображений из папки image/cache не обязательно — при первом обращении к страницам магазина система автоматически пересоздаст миниатюры и другие кэшированные файлы. Это значительно экономит время и ускоряет сам процесс миграции, особенно если каталог товаров содержит тысячи изображений.

Создание резервной копии базы данных
Далее открываем PhpMyAdmin и экспортируем нужную базу данных нашего магазина. Если у вас их несколько и вы не помните какая именно принадлежит переносимому сайту, откройте файл config.php в корне сайта и посмотрите ее название в константе DB_DATABASE.
Для экспорта таблиц в PhpMyAdmin зайдите в базу данных и перейдите в раздел Экспорт, выберите формат SQL и нажмите кнопку Вперед.

Готово! Теперь у нас есть копии базы данных и файлов OpenCart.
Подготовка магазина на OpenCart к переносу на новый хостинг
В файлах config.php укажите актуальные параметры нового сайта
- новый домен, если он меняется
- новые пути к корневому каталогу
- данные базы данных
Если вы не знаете путь к основному каталогу на диске, создайте и откройте файл info.php с содержимым
<?php phpinfo(); ?>
по ссылке http://www.newsite.com/info.php
Внизу страницы будет отображена информация о пути в переменной _ENV["SCRIPT_FILENAME"]
Также можно создать универсальных конфиг, но учтите, что в зависимости с конфигурации сервера, могут наблюдаться баги в работе модулей сайта. Например, после установки или переноса OpenCart на хостинг с универсальными конфигами не работает кнопка открытия менеджера изображений.
Для config.php
<?php
// HTTP
$host = $_SERVER['HTTP_HOST'];
define('HTTP_SERVER', 'http://'.$host.'/');
// HTTPS
define('HTTPS_SERVER', 'http://'.$host.'/');
// DIR
$dir = dirname(__FILE__);
define('DIR_APPLICATION', $dir . '/catalog/');
define('DIR_SYSTEM', $dir . '/system/');
define('DIR_IMAGE', $dir . '/image/');
define('DIR_LANGUAGE', $dir . '/catalog/language/');
define('DIR_TEMPLATE', $dir . '/catalog/view/theme/');
define('DIR_CONFIG', $dir . '/system/config/');
define('DIR_CACHE', $dir . '/system/storage/cache/');
define('DIR_DOWNLOAD', $dir . '/system/storage/download/');
define('DIR_LOGS', $dir . '/system/storage/logs/');
define('DIR_MODIFICATION', $dir . '/system/storage/modification/');
define('DIR_UPLOAD', $dir . '/system/storage/upload/');
// DB
define('DB_DRIVER', 'mysqli');
define('DB_HOSTNAME', 'localhost');
define('DB_USERNAME', 'root');
define('DB_PASSWORD', 'pass');
define('DB_DATABASE', 'basename');
define('DB_PORT', '3306');
define('DB_PREFIX', 'oc_');
Для admin/config.php
<?php
// HTTP// HTTP
$host = $_SERVER['HTTP_HOST'];
define('HTTP_SERVER', 'http://'.$host.'/admin/');
define('HTTP_CATALOG', 'http://'.$host.'/');
// HTTPS
define('HTTPS_SERVER', 'http://'.$host.'/admin/');
define('HTTPS_CATALOG', 'http://'.$host.'/');
// DIR
$dir = dirname(dirname(__FILE__));
define('DIR_APPLICATION', $dir . '/admin/');
define('DIR_SYSTEM', $dir . '/system/');
define('DIR_IMAGE', $dir . '/image/');
define('DIR_LANGUAGE', $dir . '/admin/language/');
define('DIR_TEMPLATE', $dir . '/admin/view/template/');
define('DIR_CONFIG', $dir . '/system/config/');
define('DIR_CACHE', $dir . '/system/storage/cache/');
define('DIR_DOWNLOAD', $dir . '/system/storage/download/');
define('DIR_LOGS', $dir . '/system/storage/logs/');
define('DIR_MODIFICATION', $dir . '/system/storage/modification/');
define('DIR_UPLOAD', $dir . '/system/storage/upload/');
define('DIR_CATALOG', $dir . '/catalog/');
// DB
define('DB_DRIVER', 'mysqli');
define('DB_HOSTNAME', 'localhost');
define('DB_USERNAME', 'root');
define('DB_PASSWORD', 'pass');
define('DB_DATABASE', 'basename');
define('DB_PORT', '3306');
define('DB_PREFIX', 'oc_');
При смене домена откройте дамп базы данных в текстовом редакторе и выполните замену старого домена на новый

Перенос сайта OpenCart на хостинг/сервер
Ранее скопированные и измененные файлы перемещаем в корневой каталог на новом хостинге.
Выставляем права 0777 на папки:
image/ image/cache/ image/catalog/ system/storage/cache/ system/storage/logs/ system/storage/download/
Импортируем дамп в новую базу данных.
Заходим в админку и обновляем кэш модификаторов.

















































Комментарии