Добрый день!
Решил поделиться.
ПОПЫТКА переезда Opencart v1.5.1.3.1 (английская + руссификация, без дополнительных наворотов) с nic.ru на masterhost.ru
На nic.ru:
1. Делаем дамп базы через phpmyadmin.
2. Из дампа базы удаляем строку CREATE DATABASE .......
3. Копируем все файлы магазина в режиме binary себе на комп.
4. Из скопированных файлов полностью удаляем содержимое папки /image/cache/ (файлы + подпапки).
На masterhost.ru:
5. Создал тестовую базу через контрольную панель (через phpmyadmin запрещено create database).
6. Создал тестовый поддомен.
7. Залил оригинальный дистрибутив своего магазина.
8. Запустил install.
9. По умолчанию на мастерхосте права на папки 755, поэтому install ругается на права. Записываем поочерёдно все папки и файлы, на которые он ругается, меняем их на 777 (сначала ругается на download, меняем download на 777, дальше он ругается на следующую папку, меняем на 777 и т.д.). У меня это:
/download/
/image
/image/data
/image/cache
/system/logs
/system/cache
config.php
admin/config.php
10. Прописываем параметры базы данных.
11. Запускаем магазин (или админку). Видим ошибку: Unknown: date() [function.date]: It is not safe to rely on the system's timezone settings.........
Данная ошибка описана подробно здесь: https://opencartforum.com/topic/4762-выдает-ошибку/
Мне помогло прописывание в .htaccess строки php_value date.timezone Europe/Moscow
ДА! Не забываем переименовывать файл .htaccess.txt в просто .htaccess
12. Получаем рабочий тестовый запуск главной страницы. Если не заработало, разбираемся дальше сами, т.к. у меня на этом пункте главная страница, разделы и страницы с товарами открылись.
13. Создаём через контрольную панель рабочую базу для переносимого магазина.
14. Заходим через phpmyadmin, находим нашу базу, делаем заливку дампа.
15. Редактируем файлы /config.php и /admin/config.php следующим образом:
а) в подразделе //DIR меняем пути на новые;
б) в подражделе //DB прописываем новые параметры доступа к БД;
в) разделы //HTTP, //HTTPS меняем в случае, если изменилось доменное имя магазина;
г) ОПЦИОНАЛЬНО в целях безопасности можно поменять /admin/ на что-то другое, например, /123admin456/, но в этом случае нужно также переименовать и саму папку магазина admin на 123admin456 (в Prestashop эта замена обязательна).
16. Загружаем файлы магазина на хостинг по FTP.
17. Прописываем права на файлы и папки в соответствии с пунктом 8.
18. Редактируем .htaccess в соответствии с пунктом 10
(ТУТ НАЧИНАЕТСЯ ИНТЕРЕСНОЕ)
============
В отличии от nic.ru, на мастерхосте папки и файлы, залитые по FTP отличаются по правам от созданных средствами магазина через image manager, т.е. если вы все данные (файлы и подпапки) в папке /image/data/ залили по FTP, работать с ними корректно image manager не сможет.
Если же вы загрузили изображения через image manager, то не сможете с ними оперировать через FTP, например, удалить.
По этой же причине нельзя удалять созданный магазином кэш изображений через FTP.
Частичное решение проблемы будет описано в следующих пунктах, но оно меня полностью не устраивает в связи с неудобством - невозможностью работы с изображениями параллельно в image manager и по FTP.
============
Следующие пункты на практике я не проверял.
Вариант 1:
*. Полностью удаляем сожержимое папки /image/data на хостинге (файлы, подпапки), кроме файла index.html.
*. Создаём заново структуру папок и загружаем в них изображения через image manager.
*. Возможно, дальше будет всё нормально работать, не проверял. У кого будет желание проверить, потом отпишите.
Вариант 2:
*. Не создаём и не используем подпапки в папке /image/data/, все изображения храним исключительно в корне /image/data/. В этом случае, файлы можно будет заливать по FTP и использовать. Ограничение будет касаться только файлов, загруженных при помощи image manager - их нельзя будет удалить по FTP.
Предполагаемые подводные камни пунктов *:
1. Возможно пропадут линки между продуктами и реальными файлами изображений, но не факт.
2. Если вы сначала запустите магазин, а потом только удалите соджеримое /image/data, возможно, часть изображений успеет попасть в кэш с неправильными правами.
3. Если вы устанавливали различные модули, дополнения через админку на старом хостинге, при этом создавались файлы самим движком магазина, при переносе этих файлов на новый хостинг могут возникнуть аналогичные проблемы с правами, причём, проявиться они могут не сразу.
Я решил пока не перевозить магазин на мастерхост.